diff options
Diffstat (limited to 'manifests/implementations/shorewall/redirect.pp')
-rw-r--r-- | manifests/implementations/shorewall/redirect.pp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/manifests/implementations/shorewall/redirect.pp b/manifests/implementations/shorewall/redirect.pp new file mode 100644 index 0000000..b494e08 --- /dev/null +++ b/manifests/implementations/shorewall/redirect.pp @@ -0,0 +1,16 @@ +class firewall::implementations::shorewall::redirect::ssh($destinationport) { + # When the box is in an internal network and we want to provide + # and external access through a shared real IP, we have to + # redirect requests coming from another port to port 22. + $ip = lookup('firewall::external_ip', undef, undef, $::ipaddress) + + shorewall::rule { "ssh-redirect-1": + action => 'DNAT', + source => 'net', + destination => "fw:$ip:22", + proto => 'tcp', + destinationport => $destinationport, + ratelimit => '-', + order => $destinationport, + } +} |