diff --git a/usr/local/www/firewall_virtual_ip.php b/usr/local/www/firewall_virtual_ip.php index c1f212cf70..d0e05eb7bf 100755 --- a/usr/local/www/firewall_virtual_ip.php +++ b/usr/local/www/firewall_virtual_ip.php @@ -90,6 +90,8 @@ if ($_GET['act'] == "del") { } if (!$input_errors) { + if ($a_vip[$_GET['id']]['type'] == "ipalias") + mwexec("/sbin/ifconfig " . get_real_interface($a_vip[$_GET['id']]['interface']) . " delete {$a_vip[$_GET['id']]['subnet']}"); unset($a_vip[$_GET['id']]); write_config(); touch($d_vipconfdirty_path); diff --git a/usr/local/www/firewall_virtual_ip_edit.php b/usr/local/www/firewall_virtual_ip_edit.php index 37e59f7e94..52029b5804 100755 --- a/usr/local/www/firewall_virtual_ip_edit.php +++ b/usr/local/www/firewall_virtual_ip_edit.php @@ -195,6 +195,8 @@ if ($_POST) { } if (isset($id) && $a_vip[$id]) { + if ($_POST['mode'] == "ipalias") + mwexec("/sbin/ifconfig " . get_real_interface($a_vip[$id]['interface']) . " delete {$a_vip[$id]['subnet']}"); /* modify all virtual IP rules with this address */ for ($i = 0; isset($config['nat']['rule'][$i]); $i++) { if ($config['nat']['rule'][$i]['external-address'] == $a_vip[$id]['subnet'])