Как перезагрузить таблицу маршрутизации MAC OSX по умолчанию без перезагрузки

Существует также ужасное, и непопулярные "воссоздают учетную запись в новом профиле" диагностический шаг, который иногда заставляет проблемы Exchange уйти.

71
задан 26 October 2009 в 17:43
4 ответа

Необходимо сбросить маршруты. Используйте маршрут-n сброс несколько раз. Впоследствии добавьте, что Ваши маршруты с маршрутом добавляют.

65
ответ дан 28 November 2019 в 19:28

Сначала Вам нужен маршрут для Вашего сетевого интерфейса. Если VPN разъединяется, затем просто удаляют Ваш сетевой интерфейс и затем возвращают его с ifconfig. Затем используйте маршрут commnand для создания в значении по умолчанию gw. Так что-то как:

ifconfig en0 down

ifconfig en0 up

route add <ip address> default

13
ответ дан 28 November 2019 в 19:28
  • 1
    Да, но как делает Mac OS X, знают что значение по умолчанию route' s IP-адрес? Какой I' d действительно любят видеть, то, как Mac OS X делает процесс начальной загрузки и делает ту же самую вещь. –  Nate Murray 27 October 2009 в 00:10
  • 2
    ...? Это получает его от DHCP... –  Jordan Eunson 27 October 2009 в 00:21

Я столкнулся с этой проблемой во время использования домашнего OpenVPN сервера и подключения к нему с помощью приложения Tunnelblick на Mac.

С моей стороны происходило то, что маршрут с моим домашним IP в качестве адресата и некорректный шлюз получал остатки после отключения от VPN. Удаление этого маршрута решило проблему, просто

$ sudo route -n delete the.good.dns.name

Пример: Я нахожусь в школе и после свежей загрузки компьютера подключаюсь к беспроводной сети. Я подключаюсь к домашнему OpenVPN серверу с помощью Tunnelblick.

$ netstat -nr
Destination                   Gateway
....
[home-ip]/32                  [school-default-gateway-1] ....
....

Я отключаюсь от VPN сервера. Я меняю беспроводную сеть. Это меняет мой шлюз по умолчанию.

$ netstat -nr
Destination                   Gateway
...
[home-ip]/32                  [school-default-gateway-1] ...
...
$ ping [home-ip]
PING [home-ip]: 56 data bytes
ping: sendto: Network is unreachable
ping: sendto: Network is unreachable
Request timeout for icmp_seq 0
...

Я ни при каких обстоятельствах не могу подключиться к домашней сети (VPN, ping, что угодно) после того, как это произойдет. Если я затем просто удалю маршрут:

$ sudo route -n delete [home-ip]
delete net [home-ip]
$ ping [home-ip]
PING [home-ip]: 56 data bytes
64 bytes from [home-ip]: icmp_seq=1 ttl=56 time=13.111 ms

Он работает нормально.

Может быть проблема с тем, как настроен OpenVPN сервер/клиент, который оставляет это (и мне было бы интересно узнать, что это такое), но я установил скрипт Tunnelblick post-disconnect, который автоматизирует это удаление маршрута.

.
20
ответ дан 28 November 2019 в 19:28

Я столкнулся с той же проблемой, что и @Sean (я также запустил OS X), в том, что при переключении между домашней и рабочей сетями маршрут по умолчанию не удалялся.

Для полноты, когда я подключаюсь к VPN дома и выполняю следующую команду, он показывает шлюз по умолчанию, как показано ниже

$ netstat -nr
Destination                   Gateway
...
[home-ip]/32                  [work-default-gateway-1]

А когда я отключаюсь, шлюз [home-ip] все еще будет там. Когда я подключался к своей рабочей сети, я вообще не мог подключиться к Интернету и сталкивался с той же проблемой, что и OP

$ traceroute the.good.dns.name    
$ traceroute: bind: Can't assign requested address

, мне приходилось вручную удалять маршрут с помощью

$ sudo route -n delete [home-ip]

Изначально я ставил "route -n delete" в сценарий post-disconnect.sh, но это было немного грязновато, поэтому вместо этого я нашел эту ссылку

https://code.google.com/p/tunnelblick/issues/detail? id=177

Очевидно, причина в том, что в моем файле .ovpn

user nobody
group nogroup

была установлена следующая настройка: маршрут устанавливается как root, но когда соединение прерывается, пользователь больше не является root, поэтому маршрут не может быть удален.

Комментируя эти 2 строки в моем файле .ovpn, я исправил проблему, без необходимости использовать post-disconnect.sh.

5
ответ дан 28 November 2019 в 19:28

Теги

Похожие вопросы