На Linux-машине у меня есть следующие настройки IP:
ruckus$ ifconfig -a
br0 Link encap:Ethernet HWaddr F0:3E:90:07:8E:E0
inet addr:172.18.140.3 Bcast:172.18.140.255 Mask:255.255.255.0
inet6 addr: fe80::169:254:17:11/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5719 errors:0 dropped:0 overruns:0 frame:0
TX packets:5175 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1277606 (1.2 MiB) TX bytes:619615 (605.0 KiB)
br0:169 Link encap:Ethernet HWaddr F0:3E:90:07:8E:E0
inet addr:169.254.17.11 Bcast:169.254.17.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
И таблица маршрутизации:
ruckus$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
0.0.0.0 172.18.140.254 0.0.0.0 UG 0 0 0 br0
169.254.17.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
А потом я удаляю свой IP на интерфейсе br0
ruckus$ ifconfig br0 0.0.0.0
ruckus$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
0.0.0.0 172.18.140.254 0.0.0.0 UG 0 0 0 br0
169.254.17.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
Как видите, элемент маршрутизации по умолчанию все еще существует. Я думаю, что ядро должно удалить элементы маршрутизации по умолчанию, когда IP на интерфейсе удаляется. Я думаю, что наиболее вероятная причина в том, что я применяю "политику маршрутизации" на машине с Linux. На интерфейсе br0:169 все еще есть IP-адрес, поэтому ядро не удаляет элемент маршрутизации по умолчанию на br0?
Это правда и если да, то почему?