summaryrefslogtreecommitdiff
path: root/manifests/wifi.pp
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2013-04-12 17:12:53 -0300
committerSilvio Rhatto <rhatto@riseup.net>2013-04-12 17:12:53 -0300
commit1c9be45e18faf86aaaa5c29879514e3d29b559a1 (patch)
treecbd86a243791640faa20adad6706bd57ba3abfd9 /manifests/wifi.pp
downloadpuppet-firewall-1c9be45e18faf86aaaa5c29879514e3d29b559a1.tar.gz
puppet-firewall-1c9be45e18faf86aaaa5c29879514e3d29b559a1.tar.bz2
Initial import
Diffstat (limited to 'manifests/wifi.pp')
-rw-r--r--manifests/wifi.pp50
1 files changed, 50 insertions, 0 deletions
diff --git a/manifests/wifi.pp b/manifests/wifi.pp
new file mode 100644
index 0000000..161d402
--- /dev/null
+++ b/manifests/wifi.pp
@@ -0,0 +1,50 @@
+class firewall::wifi {
+ $rfc1918 = $shorewall_local_net ? {
+ true => true,
+ false => false,
+ default => false,
+ }
+
+ # Default device depends if madwifi or
+ # built-in kernel driver is being used
+ $wifi_default_device = $lsbdistcodename ? {
+ 'lenny' => 'ath0',
+ default => 'wlan0',
+ }
+
+ $wifi_dev = $wifi_device ? {
+ '' => $wifi_default_device,
+ default => $wifi_device,
+ }
+
+ #
+ # Interfaces
+ #
+ shorewall::interface { "$wifi_dev":
+ zone => '-',
+ rfc1918 => $rfc1918,
+ }
+
+ #
+ # Hosts
+ #
+ shorewall::host { "$wifi_dev-subnet":
+ name => "$wifi_dev:192.168.0.0/24",
+ zone => 'vm',
+ options => '',
+ order => 1,
+ }
+
+ shorewall::host { "$wifi_dev":
+ name => "$wifi_dev:0.0.0.0/0",
+ zone => 'net',
+ options => '',
+ order => 2,
+ }
+
+ shorewall::masq { "$wifi_dev":
+ interface => "$wifi_dev:!192.168.0.0/24",
+ source => '192.168.0.0/24',
+ order => 1,
+ }
+}