diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2022-01-08 15:50:26 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2022-01-08 15:50:26 -0300 |
commit | 3d1cf84f39fece3f2a9f8b7247a792212eb81177 (patch) | |
tree | f1fa5ca591908d363d13d30256f7af3b242d2d6b /manifests/virtual/mail.pp | |
parent | 55fa862bae8e2582e5ac0c008a0bb0ec53d9bfff (diff) | |
download | puppet-firewall-3d1cf84f39fece3f2a9f8b7247a792212eb81177.tar.gz puppet-firewall-3d1cf84f39fece3f2a9f8b7247a792212eb81177.tar.bz2 |
Feat: major refactor
Diffstat (limited to 'manifests/virtual/mail.pp')
-rw-r--r-- | manifests/virtual/mail.pp | 71 |
1 files changed, 6 insertions, 65 deletions
diff --git a/manifests/virtual/mail.pp b/manifests/virtual/mail.pp index c16f898..2bf9635 100644 --- a/manifests/virtual/mail.pp +++ b/manifests/virtual/mail.pp @@ -1,67 +1,8 @@ -class firewall::virtual::mail($destination) { - shorewall::rule { 'mail-1': - action => 'DNAT', - source => 'vm', - destination => "fw:$destination:25", - proto => 'tcp', - destinationport => '25', - originaldest => lookup('firewall::external_ip', undef, undef, $::ipaddress), - ratelimit => '-', - order => 1000, - } - - shorewall::rule { 'mail-2': - action => 'DNAT', - source => 'net', - destination => "vm:$destination:25", - proto => 'tcp', - destinationport => '25', - originaldest => lookup('firewall::external_ip', undef, undef, $::ipaddress), - ratelimit => '-', - order => 1001, - } - - shorewall::rule { 'mail-3': - action => 'DNAT', - source => 'vm', - destination => "fw:$destination:993", - proto => 'tcp', - destinationport => '993', - originaldest => lookup('firewall::external_ip', undef, undef, $::ipaddress), - ratelimit => lookup("firewall::ssl_ratelimit", undef, undef, '-'), - order => 1002, - } - - shorewall::rule { 'mail-4': - action => 'DNAT', - source => 'net', - destination => "vm:$destination:993", - proto => 'tcp', - destinationport => '993', - originaldest => lookup('firewall::external_ip', undef, undef, $::ipaddress), - ratelimit => lookup("firewall::ssl_ratelimit", undef, undef, '-'), - order => 1003, - } - - shorewall::rule { 'mail-5': - action => 'DNAT', - source => 'vm', - destination => "fw:$destination:587", - proto => 'tcp', - destinationport => '587', - originaldest => lookup('firewall::external_ip', undef, undef, $::ipaddress), - ratelimit => lookup("firewall::ssl_ratelimit", undef, undef, '-'), - order => 1004, - } - - shorewall::rule { 'mail-6': - action => 'DNAT', - source => 'net', - destination => "vm:$destination:587", - proto => 'tcp', - destinationport => '587', - originaldest => lookup('firewall::external_ip', undef, undef, $::ipaddress), - ratelimit => lookup("firewall::ssl_ratelimit", undef, undef, '-'), - order => 1005, +class firewall::virtual::mail( + $implementation = lookup('firewall::implementation', undef, undef, 'shorewall'), + $destination +) { + class { "firewall::implementations::${implementation}::virtual::mail": + destination => $destination, } } |