From 3d1cf84f39fece3f2a9f8b7247a792212eb81177 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sat, 8 Jan 2022 15:50:26 -0300 Subject: Feat: major refactor --- manifests/implementations/shorewall/wifi.pp | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 manifests/implementations/shorewall/wifi.pp (limited to 'manifests/implementations/shorewall/wifi.pp') diff --git a/manifests/implementations/shorewall/wifi.pp b/manifests/implementations/shorewall/wifi.pp new file mode 100644 index 0000000..d7bcf9a --- /dev/null +++ b/manifests/implementations/shorewall/wifi.pp @@ -0,0 +1,53 @@ +class firewall::implementations::shorewall::wifi ( + $shorewall_local_net = false, + $wifi_device = '', +) { + $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, + } +} -- cgit v1.2.3