summaryrefslogtreecommitdiff
path: root/manifests/vm/ssh.pp
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2015-09-11 21:43:49 -0300
committerSilvio Rhatto <rhatto@riseup.net>2015-09-11 21:43:49 -0300
commit279c52185ec96cd1f8b0c25a1a14b0e537c1c11a (patch)
tree58a7c463029738804df3650e33ada7ed814b728d /manifests/vm/ssh.pp
parent303e2cfcb14fb9dcec2fcda13608389f84bfb307 (diff)
downloadpuppet-firewall-279c52185ec96cd1f8b0c25a1a14b0e537c1c11a.tar.gz
puppet-firewall-279c52185ec96cd1f8b0c25a1a14b0e537c1c11a.tar.bz2
Split and rename
Diffstat (limited to 'manifests/vm/ssh.pp')
-rw-r--r--manifests/vm/ssh.pp28
1 files changed, 28 insertions, 0 deletions
diff --git a/manifests/vm/ssh.pp b/manifests/vm/ssh.pp
new file mode 100644
index 0000000..f9586da
--- /dev/null
+++ b/manifests/vm/ssh.pp
@@ -0,0 +1,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",
+ }
+}