好吧,這個問題已經讓我發瘋好幾天了。我是一個典型的 Linux 用戶,所以雖然我對命令列的東西很滿意。我不知道在 OSX 上哪裡可以看到。典型的谷歌搜尋沒有任何幫助。
這是我的問題。當我設定盒子時,它位於一個網路上,即10.x.x.x
.那很好。現在,當我把它帶回家時,我會打開網路接口,連接到我的家庭無線網路並嘗試 ping 東西:
$ ping google.com
PING google.com (74.125.113.104): 56 data bytes
Request timeout for icmp_seq 0
^C
--- google.com ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
colossus:~ eteran$ ping google.com
PING google.com (74.125.113.104): 56 data bytes
ping: sendto: No route to host
Request timeout for icmp_seq 0
ping: sendto: No route to host
Request timeout for icmp_seq 1
“沒有到主機的路由”,好的,所以我檢查路由表......
$ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.255.255.1 UGSc 11 5 en1
10.255.255.1/32 link#5 UCS 1 0 en1
10.255.255.1 link#5 UHRLWI 12 0 en1
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 19 2051 lo0
169.254 link#5 UCS 0 0 en1
192.168.10 link#5 UCS 4 0 en1
192.168.10.1 0:1f:90:23:7a:69 UHLWI 12 62 en1 1193
192.168.10.7 c0:cb:38:6c:3:33 UHLWI 2 164 en1 996
192.168.10.9 127.0.0.1 UHS 1 369 lo0
192.168.10.10 0:1a:a0:e6:ee:90 UHLWI 0 30 en1 903
192.168.10.255 link#5 UHLWbI 2 25 en1
Internet6:
Destination Gateway Flags Netif Expire
::1 ::1 UH lo0
fe80::%lo0/64 fe80::1%lo0 Uc lo0
fe80::1%lo0 link#1 UHL lo0
fe80::%en1/64 link#5 UC en1
fe80::5ab0:35ff:fe7b:dcf3%en1 58:b0:35:7b:dc:f3 UHL lo0
ff01::/32 ::1 Um lo0
ff02::/32 ::1 UmC lo0
ff02::/32 link#5 UmC en1
是的,有問題,預設路由設定為10.255.255.1
。我認為是來自其他網路。我可以使用命令手動調整它route
。但下次重新啟動...它又回來了!
我的家庭網路的路由器是192.168.10.1
,所以我當然希望它成為預設路由。我看了一下,DHCP 請求肯定是說使用它作為預設路由。但 OSX 就是拒絕使用它。它堅持使用之前的連接的預設路由!
該資訊儲存在哪裡以及如何更改它?
答案1
路由條目中的標誌S
意味著它是手動新增的,因此您可能需要使用命令將其刪除。
嘗試sudo route delete default
。
答案2
在裡面系統偏好設定在下面網路。將一切設定為自動的這應該會恢復正常。
更新:更有力的方式。
點選地點下拉框並選擇編輯地點。點選+新增位置。命名它Auto 2
(或其他任何名稱)。選擇該位置並應用它。
答案3
上面提到的手動方法透過使用路由命令刪除和添加新的預設網關解決了我的問題,但這只是一個臨時修復,因為重新啟動時再次設定了錯誤的網關。
為了一勞永逸地解決這個問題,我先把系統偏好設定/網路下的所有介面都去掉了,然後把覺得有必要的又加回來了。就我而言,只是「乙太網路」。
這是在 OS X Lion (10.7.5) 上
答案4
如果您在家中同時使用乙太網路和 wifi 連接,由於必須在網路清單中選擇您的乙太網,因此首選其預設值,而不是 wifi dhcp。若要從路由表中刪除預設值,您必須進入網路首選項並進入 IP 位址設定。這裡將“路由器”欄位設為空白,因為這是預設網關。