]> gitweb.fluxo.info Git - puppet-nodo.git/commitdiff
adding tor port support
authordrebs <drebs@riseup.net>
Sun, 8 Jan 2012 00:04:34 +0000 (22:04 -0200)
committerdrebs <drebs@riseup.net>
Sun, 8 Jan 2012 00:04:34 +0000 (22:04 -0200)
manifests/subsystems/firewall/vserver.pp
manifests/vserver.pp

index e914fc6c2d06eba29e388561fdfcef5bb2cc916f..623e6f1ffccb3abc4326ceeb4dfaf7d6b03cb769 100644 (file)
@@ -331,3 +331,26 @@ class firewall::vserver::dns($destination, $zone = 'vm') {
     order           => '2004',
   }
 }
+
+class firewall::vserver::tor($destination, $zone = 'fw') {
+  shorewall::rule { 'tor-1':
+    action          => 'DNAT',
+    source          => 'net',
+    destination     => "$zone:$destination:9001",
+    proto           => 'tcp',
+    destinationport => '9001',
+    ratelimit       => '-',
+    order           => '2100',
+  }
+
+  shorewall::rule { 'tor-2':
+    action          => 'DNAT',
+    source          => '$FW',
+    destination     => "$zone:$destination:9001",
+    proto           => 'tcp',
+    destinationport => '9001',
+    originaldest    => "$ipaddress",
+    ratelimit       => '-',
+    order           => '2101',
+  }
+}
index 9474f0047f11751eb20759355077e1a66f23c0b4..99a8481530bbfe55ec026c5c818a27f3afc3cc8a 100644 (file)
@@ -45,9 +45,9 @@ class nodo::vserver inherits nodo {
   # Define a vserver instance
   define instance($context, $ensure = 'running', $proxy = false,
                   $puppetmaster = false, $gitd = false, $mail = false,
-                  $icecast = false, $sound = false, $ticket = false,
-                  $memory_limit = false, $distro = 'squeeze', $dns = false,
-                  $munin_port = false, $monkeysphere_ssh_port = false) {
+                  $icecast = false, $sound = false, $tor = false,
+                  $ticket = false, $memory_limit = false, $distro = 'squeeze',
+                  $dns = false, $munin_port = false, $monkeysphere_ssh_port = false) {
 
     # set instance id
     if $context <= 9 {
@@ -66,6 +66,11 @@ class nodo::vserver inherits nodo {
       '': { $puppetmaster_nonssl_port = "8141" }
     }
 
+    # set tor port
+    case $tor_port {
+      '': { $tor_port = "9001" }
+    }
+
     vserver { $name:
       ensure       => $ensure,
       context      => "$context",
@@ -187,6 +192,12 @@ class nodo::vserver inherits nodo {
             "firewall::vserver::dns": destination => "192.168.0.$context";
           }
         }
+
+        if $tor {
+          class {
+            "firewall::vserver::tor": destination => "192.168.0.$context";
+          }
+        }
       }
     }
   }