Révision 672e28f3
Ajouté par Renato Botelho il y a presque 10 ans
etc/inc/interfaces.inc | ||
---|---|---|
1249 | 1249 |
unlink_if_exists("{$g['varetc_path']}/dhclient_{$interface}.conf"); |
1250 | 1250 |
if(does_interface_exist("$realif")) { |
1251 | 1251 |
mwexec("/sbin/ifconfig " . escapeshellarg($realif) . " delete", true); |
1252 |
interface_ipalias_cleanup($interface); |
|
1252 | 1253 |
if ($destroy == true) |
1253 | 1254 |
pfSense_interface_flags($realif, -IFF_UP); |
1254 | 1255 |
mwexec("/usr/sbin/arp -d -i " . escapeshellarg($realif) . " -a"); |
... | ... | |
1257 | 1258 |
default: |
1258 | 1259 |
if(does_interface_exist("$realif")) { |
1259 | 1260 |
mwexec("/sbin/ifconfig " . escapeshellarg($realif) . " delete", true); |
1261 |
interface_ipalias_cleanup($interface); |
|
1260 | 1262 |
if ($destroy == true) |
1261 | 1263 |
pfSense_interface_flags($realif, -IFF_UP); |
1262 | 1264 |
mwexec("/usr/sbin/arp -d -i " . escapeshellarg($realif) . " -a"); |
... | ... | |
1277 | 1279 |
$ip6 = find_interface_ipv6($realifv6); |
1278 | 1280 |
if (is_ipaddrv6($ip6) && $ip6 != "::") |
1279 | 1281 |
mwexec("/sbin/ifconfig " . escapeshellarg($realifv6) . " inet6 {$ip6} delete", true); |
1282 |
interface_ipalias_cleanup($interface, "inet6"); |
|
1280 | 1283 |
if ($destroy == true) |
1281 | 1284 |
pfSense_interface_flags($realif, -IFF_UP); |
1282 | 1285 |
mwexec("/usr/sbin/arp -d -i " . escapeshellarg($realif) . " -a"); |
... | ... | |
1290 | 1293 |
$ip6 = get_interface_ipv6($interface); |
1291 | 1294 |
if (is_ipaddrv6($ip6)) |
1292 | 1295 |
mwexec("/sbin/ifconfig " . escapeshellarg($realif) . " inet6 {$ip6} delete", true); |
1296 |
interface_ipalias_cleanup($interface, "inet6"); |
|
1293 | 1297 |
if ($destroy == true) |
1294 | 1298 |
pfSense_interface_flags($realif, -IFF_UP); |
1295 | 1299 |
} |
... | ... | |
1302 | 1306 |
mwexec("/sbin/ifconfig " . escapeshellarg($realif) . " inet6 {$ip6} delete", true); |
1303 | 1307 |
if (!empty($ifcfg['ipaddrv6']) && is_ipaddrv6($ifcfg['ipaddrv6'])) |
1304 | 1308 |
mwexec("/sbin/ifconfig " . escapeshellarg($realif) . " inet6 {$ifcfg['ipaddrv6']} delete", true); |
1309 |
interface_ipalias_cleanup($interface, "inet6"); |
|
1305 | 1310 |
if ($destroy == true) |
1306 | 1311 |
pfSense_interface_flags($realif, -IFF_UP); |
1307 | 1312 |
mwexec("/usr/sbin/arp -d -i " . escapeshellarg($realif) . " -a"); |
... | ... | |
2114 | 2119 |
} |
2115 | 2120 |
|
2116 | 2121 |
function interface_ipalias_configure(&$vip) { |
2117 |
if ($vip['mode'] == "ipalias") { |
|
2118 |
$if = get_real_interface($vip['interface']); |
|
2119 |
$af = "inet"; |
|
2120 |
if(is_ipaddrv6($vip['subnet'])) |
|
2121 |
$af = "inet6"; |
|
2122 |
mwexec("/sbin/ifconfig " . escapeshellarg($if) ." {$af} ". escapeshellarg($vip['subnet']) ."/" . escapeshellarg($vip['subnet_bits']) . " alias"); |
|
2123 |
} |
|
2122 |
global $config; |
|
2123 |
|
|
2124 |
if ($vip['mode'] != "ipalias") |
|
2125 |
return; |
|
2126 |
|
|
2127 |
if (!isset($config['interfaces'][$vip['interface']])) |
|
2128 |
return; |
|
2129 |
|
|
2130 |
if (!isset($config['interfaces'][$vip['interface']]['enable'])) |
|
2131 |
return; |
|
2132 |
|
|
2133 |
$if = get_real_interface($vip['interface']); |
|
2134 |
$af = "inet"; |
|
2135 |
if(is_ipaddrv6($vip['subnet'])) |
|
2136 |
$af = "inet6"; |
|
2137 |
mwexec("/sbin/ifconfig " . escapeshellarg($if) ." {$af} ". escapeshellarg($vip['subnet']) ."/" . escapeshellarg($vip['subnet_bits']) . " alias"); |
|
2124 | 2138 |
} |
2125 | 2139 |
|
2126 | 2140 |
function interface_reload_carps($cif) { |
Formats disponibles : Unified diff
Delete all ip aliases when interface is disabled, it should fix #3650