summaryrefslogtreecommitdiff
path: root/manifests/vm/ssh.pp
blob: f9586daacb9721bc451d6ea653f6581f0be96c2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
define firewall::vm::ssh($destination, $port_orig = '22', $port_dest = '', $zone = 'vm') {
  shorewall::rule { "ssh-$name-1":
    action          => 'DNAT',
    source          => 'net',
    destination     => $port_dest ? {
      ''      => "$zone:$destination",
      default => "$zone:$destination:$port_dest",
    },
    proto           => 'tcp',
    destinationport => "$port_orig",
    ratelimit       => '-',
    order           => "2$port_orig",
  }

  shorewall::rule { "ssh-$name-2":
    action          => 'DNAT',
    source          => '$FW',
    destination     => $port_dest ? {
      ''      => "fw:$destination",
      default => "fw:$destination:$port_dest",
    },
    proto           => 'tcp',
    destinationport => "$port_orig",
    originaldest    => hiera('firewall::external_ip', $::ipaddress),
    ratelimit       => '-',
    order           => "2$port_orig",
  }
}