class firewall::implementations::shorewall::router::mail($destination, $zone = 'loc', $originaldest = $ipaddress) { shorewall::rule { 'mail-1': action => 'DNAT', source => 'net', destination => "$zone:$destination:25", proto => 'tcp', destinationport => '25', ratelimit => '-', order => 1000, } shorewall::rule { 'mail-2': action => 'DNAT', source => '$FW', destination => "$zone:$destination:25", proto => 'tcp', destinationport => '25', originaldest => "$originaldest", ratelimit => '-', order => 1001, } shorewall::rule { 'mail-3': action => 'DNAT', source => 'net', destination => "$zone:$destination:993", proto => 'tcp', destinationport => '993', ratelimit => '-', order => 1002, } shorewall::rule { 'mail-4': action => 'DNAT', source => '$FW', destination => "$zone:$destination:993", proto => 'tcp', destinationport => '993', originaldest => "$originaldest", ratelimit => '-', order => 1003, } shorewall::rule { 'mail-5': action => 'DNAT', source => 'net', destination => "$zone:$destination:587", proto => 'tcp', destinationport => '587', ratelimit => '-', order => 1004, } shorewall::rule { 'mail-6': action => 'DNAT', source => '$FW', destination => "$zone:$destination:587", proto => 'tcp', destinationport => '587', originaldest => "$originaldest", ratelimit => '-', order => 1005, } }