class firewall::virtual::icecast($destination, $zone = 'fw') { shorewall::rule { 'icecast-1': action => 'DNAT', source => 'net', destination => "$zone:$destination:8000", proto => 'tcp', destinationport => '8000', ratelimit => '-', order => 900, } shorewall::rule { 'icecast-2': action => 'DNAT', source => '$FW', destination => "$zone:$destination:8000", proto => 'tcp', destinationport => '8000', originaldest => lookup('firewall::external_ip', undef, undef, $::ipaddress), ratelimit => '-', order => 901, } }