diff options
Diffstat (limited to 'manifests/local.pp')
-rw-r--r-- | manifests/local.pp | 44 |
1 files changed, 6 insertions, 38 deletions
diff --git a/manifests/local.pp b/manifests/local.pp index a44b9b8..7f0faf4 100644 --- a/manifests/local.pp +++ b/manifests/local.pp @@ -1,47 +1,15 @@ class firewall::local( + $implementation = lookup('firewall::implementation', undef, undef, 'shorewall'), $network = lookup('firewall::local::network', undef, undef, '192.168.1.0/24'), $interface = lookup('firewall::local::interface', undef, undef, 'eth0'), $manage_host = lookup('firewall::local::manage_host', undef, undef, true), $manage_interface = lookup('firewall::local::manage_iface', undef, undef, false) ) { - if $manage_host { - shorewall::host { "$interface-loc": - name => "$interface:$network", - zone => 'loc', - options => '', - order => 3, - } + class { "firewall::implementations::${implementation}::local": + network => $network, + interface => $interface, + manage_host => $manage_host, + manage_interface => $manage_interface, } - - if $manage_interface { - shorewall::interface { "$interface": - zone => 'loc', - rfc1918 => true, - dhcp => true, - options => 'routeback', - } - } - - shorewall::policy { 'loc-all': - sourcezone => 'loc', - destinationzone => 'all', - policy => 'ACCEPT', - order => 5, - } - - shorewall::policy { 'vm-loc': - sourcezone => 'vm', - destinationzone => 'loc', - policy => 'ACCEPT', - order => 6, - } - - shorewall::policy { 'fw-loc': - sourcezone => '$FW', - destinationzone => 'loc', - policy => 'ACCEPT', - order => 7, - } - } |