]> gitweb.fluxo.info Git - puppet-nodo.git/commitdiff
Adding parameter port_dest to firewall::router::hairpinning
authorSilvio Rhatto <rhatto@riseup.net>
Fri, 19 Aug 2011 01:07:47 +0000 (22:07 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Fri, 19 Aug 2011 01:07:47 +0000 (22:07 -0300)
manifests/subsystems/firewall/router.pp

index 242abbfcad4e9c0b941e8ef99923c5938dc32448..a8d18c5bb09e13b0832f43b7728c84daad4b9eb0 100644 (file)
@@ -327,7 +327,8 @@ class firewall::router::torrent($destination, $zone = 'loc') {
 define firewall::router::hairpinning($order = '5000', $proto = 'tcp', $port = 'www',
                                      $external_ip = '$ETH0_IP', $interface = 'eth1',
                                      $destination = '192.168.1.100', $source = 'eth1',
-                                     $source_zone = 'loc', $dest_zone = 'loc') {
+                                     $source_zone = 'loc', $dest_zone = 'loc',
+                                     $port_dest = '') {
   shorewall::masq { "routeback-$name":
     interface => "$interface:$destination",
     source    => $source,
@@ -340,7 +341,10 @@ define firewall::router::hairpinning($order = '5000', $proto = 'tcp', $port = 'w
   shorewall::rule { "routeback-$name":
     action          => 'DNAT',
     source          => $source_zone,
-    destination     => "$dest_zone:$destination",
+    destination     => $port_dest ? {
+      ''      => "$dest_zone:$destination",
+      default => "$dest_zone:$destination:$port_dest",
+    },
     proto           => $proto,
     destinationport => $port,
     ratelimit       => '-',