У меня есть дополнительный вопрос к вопросу, на который я нашел ответ на unix.stackexchange.com (см. Ссылку ниже).
В чем разница между следующими двумя записями таблицы маршрутизации:
default E.F.G.H UGSc 0 0 en1
default E.F.G.H UGScI 25 0 en1
(Где EFGH - это некоторый IP-адрес шлюза.) В частности, как влияет флаг RTF_IFSCOPE на запись в таблице маршрутизации?
Источник: Таблицы маршрутизации. Как влияет флаг RTF_IFSCOPE?
Тогда принятым ответом является то, что второй маршрут "привязан к определенному интерфейсу", и его можно использовать для «создания нескольких маршрутов, которые указывают на один и тот же пункт назначения, различающихся только тем, какой интерфейс находится в игре»
ОК, но что это значит? Допустим, у меня есть следующее (как я на самом деле, только изменил IP-адреса):
default 192.168.1.1 UGSc 14 0 en2
default 192.168.0.1 UGScI 1 0 en0
При каких обстоятельствах будет использоваться второй маршрут? Или, в более общем смысле, когда будет использоваться маршрут « I
»? Кажется, что "реальный" маршрут по умолчанию - это тот, у которого нет « I
». Так как:
$ route get 8.8.8.8
route to: google-public-dns-a.google.com
destination: default
mask: default
gateway: 192.168.1.1
interface: en2
flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
Кстати, я знаю о следующем от man netstat
:
I RTF_IFSCOPE Route is associated with an interface scope
Но я этого не понимаю sad
Любые намеки очень ценятся!