diff options
Diffstat (limited to 'manifests/implementations/shorewall/docker.pp')
-rw-r--r-- | manifests/implementations/shorewall/docker.pp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/manifests/implementations/shorewall/docker.pp b/manifests/implementations/shorewall/docker.pp new file mode 100644 index 0000000..92a720b --- /dev/null +++ b/manifests/implementations/shorewall/docker.pp @@ -0,0 +1,28 @@ +# See http://serverfault.com/questions/579726/docker-shorewall +class firewall::implementations::shorewall::docker($device = 'eth0') { + class { 'firewall::forwarding': } + + shorewall::masq { "${device}-dock": + interface => "${device}", + source => '172.17.0.0/16', + order => '10', + } + + shorewall::zone { 'dock': + type => 'ipv4', + order => '10', + } + + shorewall::policy { 'dock-all': + sourcezone => 'dock', + destinationzone => 'all', + policy => 'ACCEPT', + order => 10, + } + + shorewall::interface { 'docker0': + zone => 'dock', + rfc1918 => false, + options => 'tcpflags,blacklist,routefilter,nosmurfs,logmartians', + } +} |