OSX Yosemite - как добавить маршрут с двумя шлюзами по умолчанию

Я на OSX Yosemite, и у меня есть два разных активных соединения...
- Беспроводной доступ в интернет (en0)
- USB-модема (en7)

SnakeBook:~ root# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.1.1        UGSc           14        4     en0
default            192.168.42.129     UGScI           0        0     en7

сейчас...Мне нужно добавить маршрут для просмотра некоторых веб-сайтов, привязывая соединение.
Например, я хочу запустить speedtest на speedtest.net использование en7.
Speedtest решается таким образом моим DNS (192.168.1.1, которые используют OpenDNS)...

SnakeBook:~ root# nslookup speedtest.net
Server:     192.168.1.1
Address:    192.168.1.1#53

Non-authoritative answer:
Name:   speedtest.net
Address: 216.146.46.10
Name:   speedtest.net
Address: 216.146.46.11

сейчас...Я добавил два маршрута:

SnakeBook:~ root# route add -host 216.146.46.10 192.168.42.129
add host 216.146.46.10: gateway 192.168.42.129
SnakeBook:~ root# route add -host 216.146.46.11 192.168.42.129
add host 216.146.46.11: gateway 192.168.42.129
SnakeBook:~ root# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.1.1        UGSc           14        4     en0
default            192.168.42.129     UGScI           0        0     en7
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              3    13259     lo0
169.254            link#4             UCS             0        0     en0
169.254            link#12            UCSI            0        0     en7
192.168.1          link#4             UCS             3        0     en0
192.168.1.1/32     link#4             UCS             1        0     en0
192.168.1.1        0:1c:f0:38:4e:49   UHLWIir        17      509     en0   1199
192.168.1.4/32     link#4             UCS             0        0     en0
192.168.1.7        30:59:b7:a6:3b:cf  UHLWI           0        0     en0   1155
192.168.1.8        64:9a:be:ee:43:93  UHLWI           0        0     en0   1105
192.168.1.255      ff:ff:ff:ff:ff:ff  UHLWbI          0        3     en0
192.168.42         link#12            UCS             1        0     en7
192.168.42.114/32  link#12            UCS             1        0     en7
192.168.42.129/32  link#12            UCS             1        0     en7
192.168.42.129     76:0:b4:4:cc:38    UHLWIir         3        2     en7    713
192.168.42.255     ff:ff:ff:ff:ff:ff  UHLWbI          0        3     en7
216.146.46.10      192.168.42.129     UGHS            0        0     en7
216.146.46.11      192.168.42.129     UGHS            0        0     en7

и попытка трассировки на speedtest.net вроде работает штраф.

SnakeBook:~ root# traceroute speedtest.net
traceroute: Warning: speedtest.net has multiple addresses; using 216.146.46.11
traceroute to speedtest.net (216.146.46.11), 64 hops max, 52 byte packets
 1  192.168.42.129 (192.168.42.129)  0.760 ms  0.192 ms  0.366 ms
 ...
 ...    
12  * *^C

проблема в том, когда я использую свой браузер.
Используя браузер, трафик всегда проходит через en0 gw, а не en7 gw.
Эта проблема вызвана" двумя " шлюзами по умолчанию ?

Я пытался удалить en7 gw, но он всегда удаляет мой en0 gw:

SnakeBook:tmp root# netstat -nr | grep default
default            192.168.1.1        UGSc           30        4     en0
default            192.168.42.129     UGScI           0        0     en7
SnakeBook:tmp root# 
SnakeBook:tmp root# 
SnakeBook:tmp root# route delete default 192.168.42.129
delete net default: gateway 192.168.42.129
SnakeBook:tmp root# 
SnakeBook:tmp root# 
SnakeBook:tmp root# netstat -nr | grep default
default            192.168.42.129     UGScI           0        0     en7

любое предложение ?

спасибо!

14
задан Diego
22.12.2022 11:29 Количество просмотров материала 3470
Распечатать страницу

1 ответ

Я занимался аналогичной проблемой:Как установить конкретные метрики интерфейса маршрута под Mac OS X и наткнулся на ответ на свой вопрос. Что делает Mac OS X: поскольку он видит два маршрута к цели, он выбирает тот, который имеет самый высокий приоритет (как обсуждалось в этом замечательном ответе:https://superuser.com/a/525592/169461). Конечно, изменение этого приоритета для каждого маршрута - это не то, что вы хотите.

что вы хотите сделать, это добавить маршрут к этому конкретному IP с указанным интерфейсом:

sudo route add -host 216.146.46.10 -iface en7

обратите внимание, что после перезагрузки этот маршрут снова пропадет. Я еще не смог сохранить статические маршруты в OS X Yosemite (попробовал подход с помощью a .plist файл в /Library / LaunchAgents, как описано здесь:https://www.jverdeyen.be/mac/persistent-static-routes-mac-os-x/).

3
отвечен titusn 2022-12-23 19:17

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх