Linux
如何讓 2 個網際網路連接正常工作
要麼我對介面應該如何工作有根本的誤解,要麼我做了一些奇怪的錯誤。
我有兩個介面:
eno1: 10.6.59.203/24 (gateway 10.6.59.1)
eno2: 192.168.5.100/24 (gateway 192.168.5.1)
如果我拔下一根電纜並重新啟動,不管電纜如何,它都會有網際網路。
但是,如果我將它們都插入,則只有一個介面可以工作(預設為
eno2
)。例如:ping google.com -I eno2 # works ping google.com -I eno1 # hangs forever
如何使上述兩個語句起作用?
我的 /etc/network/interface:
# The loopback network interface auto lo iface lo inet loopback allow-hotplug eno2 iface eno2 inet dhcp allow-hotplug eno1 iface eno1 inet dhcp
我的
route
:Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.5.1 0.0.0.0 UG 0 0 0 eno2 10.6.59.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1 192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eno2
更新
我發現解決這個問題的方法是
route add default gw 10.6.59.1 eno1
. 但是,如何在啟動時正確執行此操作(可能僅通過編輯 /etc/network/interfaces)。此外,既然我有 2 個預設目的地,那麼 linux 怎麼知道預設使用哪一個?
您只有一個預設網關,因此傳出數據包將僅通過該網關發送;如果您希望能夠同時使用這兩個連接,則需要
0.0.0.0
使用另一個介面的網關手動添加另一個預設網關(即到 的路由)。但請注意,這不會同時使用兩個連接;這是不可能的。將始終使用其中一個連接,僅在主連接失敗時才使用另一個連接;首選路由由“metric”參數定義。