diff options
author | jim-p <jimp@pfsense.org> | 2013-06-06 13:50:28 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2013-06-06 13:50:28 -0400 |
commit | 19d90bce197a98fbeb59f988c66c0138a22e3d87 (patch) | |
tree | 6c1d6cb8e5cc2faace90d402cf45330395c48ab4 /usr/local | |
parent | aa78b769507d67c9bcf2ba0a36ec4b1406b5ab3a (diff) | |
download | pfsense-19d90bce197a98fbeb59f988c66c0138a22e3d87.zip pfsense-19d90bce197a98fbeb59f988c66c0138a22e3d87.tar.gz |
Allow selecting "Localhost" as an interface for IP Alias VIPs - this way you can make IP Alias VIPs to use for binding in a routed scenario with CARP without creating an IP conflict.
Diffstat (limited to 'usr/local')
-rwxr-xr-x | usr/local/www/firewall_virtual_ip.php | 1 | ||||
-rwxr-xr-x | usr/local/www/firewall_virtual_ip_edit.php | 15 |
2 files changed, 11 insertions, 5 deletions
diff --git a/usr/local/www/firewall_virtual_ip.php b/usr/local/www/firewall_virtual_ip.php index 55f6383..2a17a9e 100755 --- a/usr/local/www/firewall_virtual_ip.php +++ b/usr/local/www/firewall_virtual_ip.php @@ -240,6 +240,7 @@ include("head.inc"); $carplist = get_configured_carp_interface_list(); foreach ($carplist as $cif => $carpip) $interfaces[$cif] = $carpip." (".get_vip_descr($carpip).")"; + $interfaces['lo0'] = "Localhost"; ?> <?php $i = 0; foreach ($a_vip as $vipent): ?> <?php if($vipent['subnet'] <> "" or $vipent['range'] <> "" or diff --git a/usr/local/www/firewall_virtual_ip_edit.php b/usr/local/www/firewall_virtual_ip_edit.php index c906b4c..0dc6ceb 100755 --- a/usr/local/www/firewall_virtual_ip_edit.php +++ b/usr/local/www/firewall_virtual_ip_edit.php @@ -178,6 +178,8 @@ if ($_POST) { $input_errors[] = sprintf(gettext("Sorry, we could not locate an interface with a matching subnet for %s. Please add an IP alias in this subnet on this interface."),$cannot_find); } + if ($_POST['interface'] == "lo0") + $input_errors[] = gettext("For this type of vip localhost is not allowed."); if (strstr($_POST['interface'], "_vip")) $input_errors[] = gettext("For this type of vip a carp parent is not allowed."); break; @@ -199,6 +201,8 @@ if ($_POST) { } break; default: + if ($_POST['interface'] == "lo0") + $input_errors[] = gettext("For this type of vip localhost is not allowed."); if (strstr($_POST['interface'], "_vip")) $input_errors[] = gettext("For this type of VIP, a CARP parent is not allowed."); break; @@ -381,11 +385,12 @@ function typesel_change() { <td width="78%" class="vtable"> <select name="interface" class="formselect"> <?php - $interfaces = get_configured_interface_with_descr(false, true); - $carplist = get_configured_carp_interface_list(); - foreach ($carplist as $cif => $carpip) - $interfaces[$cif] = $carpip." (".get_vip_descr($carpip).")"; - foreach ($interfaces as $iface => $ifacename): ?> + $interfaces = get_configured_interface_with_descr(false, true); + $carplist = get_configured_carp_interface_list(); + foreach ($carplist as $cif => $carpip) + $interfaces[$cif] = $carpip." (".get_vip_descr($carpip).")"; + $interfaces['lo0'] = "Localhost"; + foreach ($interfaces as $iface => $ifacename): ?> <option value="<?=$iface;?>" <?php if ($iface == $pconfig['interface']) echo "selected=\"selected\""; ?>> <?=htmlspecialchars($ifacename);?> </option> |