Networking

如何在不重新啟動的情況下重新載入預設 Mac OSX 路由表

  • October 5, 2015

你好,

我正在使用vpncVPN客戶端。我也在做一些棘手的事情,route以確保我仍然可以訪問我的本地網路等(這裡的細節不是很重要)。

有時我得到了路由表,所以我得到ping: sendto: Network is unreachable了原本應該解決的 url。

目前,如果我重新啟動 Mac OS X,那麼一切都會恢復正常。我想做的是將路由表重置為“預設值”(例如它在啟動時設置的值),而無需重新啟動整個系統。

我認為第 1 步是route flush(刪除所有路線)。第 2 步需要重新載入所有預設路由。

關於如何做到這一點的任何想法?(例如,第 2 步是什麼?)

編輯 另外,我注意到另一個症狀traceroute在有問題的地址上也失敗了。例如:

traceroute the.good.dns.name

traceroute: bind: Can't assign requested address

您需要刷新路線。多次使用**route -n flush 。**然後使用 route add 添加您的路線。

我在使用家庭 OpenVPN 伺服器並使用 Mac 上的 Tunnelblick 應用程序連接到它時遇到了這個問題。

我這邊發生的事情是,在與 VPN 斷開連接後,一條以我的家庭 IP 為目的地且網關不正確的路由正在剩餘。刪除這條路線解決了這個問題,只是

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

範例:我在學校,重新啟動電腦後,我連接到無線網路。我使用 Tunnelblick 連接到我的家庭 OpenVPN 伺服器。

$ 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 斷開連接後腳本,可以自動刪除此路由。

引用自:https://serverfault.com/questions/78365