diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-08-26 02:12:56 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-08-26 02:12:56 +0000 |
commit | c574304062dafb6bf9b740294ab5dd7035d2fcd6 (patch) | |
tree | c86f010eac3b284ee64ca3061024be426fc7c662 /etc | |
parent | 2cb32631f02cf70b35b0fc0f4e3a92324ae5fda1 (diff) | |
download | pfsense-c574304062dafb6bf9b740294ab5dd7035d2fcd6.zip pfsense-c574304062dafb6bf9b740294ab5dd7035d2fcd6.tar.gz |
Move captive portal back to in front of all RDR's.
Should solve a couple of problem reports
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/filter.inc | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index 123014c..54bb4ae 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -1031,6 +1031,17 @@ function filter_nat_rules_generate() { $natrules .= "\n# Load balancing anchor - slbd updates\n"; $natrules .= "rdr-anchor \"slb\"\n"; + /* captive portal redirects */ + if(isset($config['captiveportal']['enable'])) { + $natrules .= "# Captive Portal\n"; + $cp_interface = filter_translate_type_to_real_interface($config['captiveportal']['interface']); + $cp_ip = $config['interfaces'][$config['captiveportal']['interface']]['ipaddr']; + if($cp_ip == "dhcp") + $cp_ip = find_interface_ip($cp_interface); + $natrules .= "no rdr on {$cp_interface} proto tcp from <captiveportal> to any \n"; + $natrules .= "rdr on {$cp_interface} proto tcp from any to any port { 80 443 } -> {$cp_ip} port 8000\n\n"; + } + if(!isset($config['system']['disableftpproxy'])) { $optcfg = array(); generate_optcfg_array($optcfg); @@ -1043,8 +1054,6 @@ function filter_nat_rules_generate() { } $natrules .= "\n"; } - - /* DIAG: add ipv6 NAT, if requested */ if (isset($config['diag']['ipv6nat']['enable']) and $config['diag']['ipv6nat']['ipaddr'] <> "") { @@ -1142,17 +1151,6 @@ EOD; $natrules .= process_carp_nat_rules(); - /* captive portal redirects */ - if(isset($config['captiveportal']['enable'])) { - $natrules .= "# Captive Portal\n"; - $cp_interface = filter_translate_type_to_real_interface($config['captiveportal']['interface']); - $cp_ip = $config['interfaces'][$config['captiveportal']['interface']]['ipaddr']; - if($cp_ip == "dhcp") - $cp_ip = find_interface_ip($cp_interface); - $natrules .= "no rdr on {$cp_interface} proto tcp from <captiveportal> to any \n"; - $natrules .= "rdr on {$cp_interface} proto tcp from any to any port { 80 443 } -> {$cp_ip} port 8000\n\n"; - } - return $natrules; } |