# See http://www.shorewall.net/FAQ.htm#faq2
define firewall::router::hairpinning($order = '200', $proto = 'tcp', $port = 'www',
$external_ip = '$ETH0_IP', $interface = 'eth1',
- $destination = 'loc:192.168.1.100', $source = 'eth1',
- $zone = 'loc') {
+ $destination = '192.168.1.100', $source = 'eth1',
+ $source_zone = 'loc', $dest_zone = 'loc') {
shorewall::masq { "routeback-$name":
interface => "$interface:$destination",
- source => $source,
+ source => $source_zone,
address => $external_ip,
proto => $proto,
port => $port,
shorewall::rule { "routeback-$name":
action => 'DNAT',
source => $zone,
- destination => $destination,
+ destination => "$dest_zone:$destination",
proto => $proto,
destinationport => $port,
ratelimit => '-',