diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-11-28 04:54:13 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-11-28 04:54:13 +0000 |
commit | d8c3ac4ece159d423bf6f2627fb80ef88526ea06 (patch) | |
tree | d51bb34168b68ca764ff4506d30c4c4023e13cba /etc | |
parent | e5b16c2edb60442fd97bedd3612b036691ecf805 (diff) | |
download | pfsense-d8c3ac4ece159d423bf6f2627fb80ef88526ea06.zip pfsense-d8c3ac4ece159d423bf6f2627fb80ef88526ea06.tar.gz |
Add a rule for the real interface in addition to ng0
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/filter.inc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index d079992..7784211 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -1900,14 +1900,22 @@ function create_firewall_outgoing_rules_to_itself() { $ints = array(); $int = filter_translate_type_to_real_interface($ifname); /* if the interface is pppoe, set the ng0 interface */ - if ($config['interfaces'][$ifname]['ipaddr'] == "pppoe") - $int = "ng0"; + $ip = find_interface_ip($int); if (isset($config['shaper']['enable']) && is_array($config['shaper']['queue'])) { foreach ($config['shaper']['queue'] as $queue) $rule .="pass out quick on {$int} all keep state tagged {$queue['name']} queue {$queue['name']} label \"let out anything from firewall host itself\"\n"; } - $rule .="pass out quick on {$int} all keep state label \"let out anything from firewall host itself\"\n"; + + /* need to physically let the traffic out still, even though we just tagged it */ + if ($config['interfaces'][$ifname]['ipaddr'] == "pppoe") { + /* first add a rule for the real interface, then for ng0 */ + $rule .="pass out quick on {$int} all keep state label \"let out anything from firewall host itself\"\n"; + $int = "ng0"; + $rule .="pass out quick on {$int} all keep state label \"let out anything from firewall host itself\"\n"; + } else { + $rule .="pass out quick on {$int} all keep state label \"let out anything from firewall host itself\"\n"; + } } /* is bridging turned on? */ |