1

На моем Mac у меня есть два адаптера, я хотел бы использовать WiFi как WAN и Ethernet как LAN, настроив некоторую настраиваемую маршрутизацию.

Порядок обслуживания установлен на WiFi, а затем на Ethernet, который в таблице маршрутизации выглядит примерно так ...

netstat -nr

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.1.1        UGSc           33        0     en0
default            10.1.1.1           UGScI           1        0     en2

По сути, я хочу добавить маршрут с приоритетом выше по умолчанию для диапазона адресов 10.0.0.0/8 к существующему шлюзу. В Windows я могу сделать это, изменив "метрику" маршрутов по умолчанию и добавив новый маршрут с более низкой метрикой, но в OSX метрики не связаны с маршрутами.

Я пробовал несколько комбинаций вещей, и ничего не работает

  1. route add 10.0.0.0/8 10.1.1.1
    • это добавлено после маршрутов по умолчанию и не поднято.
  2. route change 10.0.0.0/8 -interface en2
    • изменил шлюз, а не маску подсети и раздавил интерфейс.
  3. route delete default
    • попытался удалить все значения по умолчанию и добавить только явный набор маршрутов
    • 0.0.0.0 интерпретируется как значение по умолчанию и перераспределяется в начало списка.

Может быть, я обманываю себя, думая, что это должно быть проще, чем на самом деле ...

ОБНОВЛЕНИЕ: я возился с этим в течение почти трех часов, а не 5 минут после того, как я отправил сообщение, мне пришло в голову проверить настройки DNS.

Когда я попробовал # 1 выше и пинговал, это работало нормально, поэтому DNS был виновником. Мне пришлось вручную добавить DNS-серверы в список другого адаптера по умолчанию. Не совсем уверен, почему это необходимо на Mac, так как я предполагал, что DNS-серверы всех адаптеров будут искать. Я не эксперт, но это имело бы для меня смысл.

РЕШЕНИЕ:

route add 10.0.0.0/8 10.1.1.1
networksetup -setdnsservers Wi-Fi 10.1.1.1 10.1.1.2

0