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::implementations::shorewall::virtual::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 => lookup('firewall::external_ip', undef, undef, $::ipaddress),
ratelimit => '-',
order => "2$port_orig",
}
}
|