diff options
Diffstat (limited to 'manifests/router/ssh.pp')
-rw-r--r-- | manifests/router/ssh.pp | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/manifests/router/ssh.pp b/manifests/router/ssh.pp index a37b61f..6f1a640 100644 --- a/manifests/router/ssh.pp +++ b/manifests/router/ssh.pp @@ -1,29 +1,17 @@ -define firewall::router::ssh($destination, $port_orig = '22', $port_dest = '', $zone = 'loc', - $originaldest = $ipaddress) { - 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 ? { - '' => "$zone:$destination", - default => "$zone:$destination:$port_dest", - }, - proto => 'tcp', - destinationport => "$port_orig", - originaldest => "$originaldest", - ratelimit => '-', - order => "2$port_orig", +define firewall::router::ssh( + $destination, + $port_orig = '22', + $port_dest = '', + $zone = 'loc', + $originaldest = $ipaddress, + $implementation = lookup('firewall::implementation', undef, undef, 'shorewall'), +) { + class { "firewall::implementations::${implementation}::router::ssh": + destination => $destination, + port_orig => $port_orig, + port_dest => $port_dest, + zone => $zone, + order => $order, + originaldest => $originaldest, } } |