Чтобы привести конкретный пример, как OSX выбирает, к какой из этих записей по умолчанию направить netstat -nr
?
Destination Gateway Flags Refs Use Netif Expire
0/1 10.10.99.100 UGSc 0 0 ppp0
default 192.168.1.1 UGSc 5 0 en0
default 192.168.1.1 UGScI 1 0 en1
default 192.0.2.1 UGScI 157 2 ppp0
Из того, что я смог сказать, OSX использует метрики на своих интерфейсах, а не на записях таблицы маршрутизации. Но по умолчанию все эти метрики интерфейса равны 0, так как это выбрать? Последний созданный интерфейс?
Я видел, как некоторые люди предлагают этот порядок в настройках сети, но в моем случае интерфейс ppp0 (от SonicWall NetExtender) там не указан.
В этой теме есть некоторые обсуждения , но я не вижу ответа.
macos
networking
netstat
ifconfig
studgeek
источник
источник
Ответы:
Большинство систем следует этим правилам при выборе маршрута:
В Linux (и, как мне кажется, в Windows) приоритет определяется метрикой , но это не относится к macOS, как вы правильно указали. Вместо того, чтобы назначать метрики отдельным маршрутам, macOS назначает приоритеты интерфейсам . Вы можете использовать,
networksetup -listnetworkserviceorder
чтобы просмотреть этот заказ иnetworksetup -ordernetworkservices
изменить его.Теперь этот маршрут из вашего вывода заставляет меня думать, что в вашем случае специфичность также играет свою роль:
Этот маршрут охватывает нижнюю половину адресного пространства, и поэтому я ожидаю также найти:
в вашей таблице маршрутизации. Это стандартная хитрость, которую программное обеспечение VPN использует для определения приоритетов своих маршрутов
default
: оно добавляет два маршрута, которые вместе охватывают все IP-адреса, но каждый из них является более конкретным, чем по умолчанию, поэтому они выигрывают.источник
Любая таблица маршрутизации, которая имеет несколько маршрутов по умолчанию с одинаковыми показателями, выполняет балансировку нагрузки. В случае с Mac, тем не менее, он выберет первый интерфейс, который находится в списке интерфейсов. Если вы хотите просмотреть и изменить список, перейдите в «Открыть настройки сети», здесь вы увидите список сетевых интерфейсов, таких как ethernet, airport, ppp через mobile или 3G и т. Д. Ниже списка вы увидите звездочку в форме вариант со стрелкой вниз. Нажмите на это и установите «установить сервисный заказ». Здесь вы можете изменить настройки вашего конкретного интерфейса.
http://www.sustworks.com/site/prod_ipnrx_help/html/AlternateRouteHelp.html
источник