summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-08-26 02:12:56 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-08-26 02:12:56 +0000
commitc574304062dafb6bf9b740294ab5dd7035d2fcd6 (patch)
treec86f010eac3b284ee64ca3061024be426fc7c662 /etc
parent2cb32631f02cf70b35b0fc0f4e3a92324ae5fda1 (diff)
downloadpfsense-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.inc24
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;
}
OpenPOWER on IntegriCloud