
我剛剛在 EEEBox 上安裝了 Ubuntu 伺服器 9.10。這是我的 /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0 iface wlan0 inet static
address 192.168.48.16
netmask 255.255.248.0
wireless-essid mynet
auto eth0
iface eth0 inet static
address xx.xx.xx.xx
netmask 255.255.255.224
gateway xx.xx.yy.yy
當我重新啟動時/etc/init.d/networking
,我可以從網路存取 eth0 IP 位址,並且可以 ping 我的 wifi 網路 mynet 中的機器。一切正常,我有一個預設網關。
但一段時間後,如果我再次檢查路由,我只會發現兩個預設網關:一個是正確的,並且是前一個網關,但另一個是 wifi 網路的網關。
我的伺服器所在的 mynet 訊號非常低,有時 wifi 會斷開連接,然後重新連接。然後我認為這可能是一個問題,wifi網路的dhcp在重新連接時也會添加預設網關。關於如何解決這個問題有什麼想法嗎?
答案1
從:http://www.linuxhorizon.ro/iproute2.html
你可以嘗試這樣的事情:
echo "1 admin" >> /etc/iproute2/rt_tables
ip route add 192.168.48.16/24 dev wlan0 src 192.168.48.16 table admin
ip route add default via 192.168.48.16 dev wlan0 table admin
ip rule add from xx.xx.xx.xx/32 table admin
ip rule add to xx.xx.xx.xx/32 table admin
ip rule add from 192.168.48.16/32 table admin
ip rule add to xx.xx.xx.xx/32 table admin
警告,未經測試。但它應該要做的是確保進入介面 X 的流量也離開它。
答案2
我什麼相信正在發生的情況是,DHCP 用戶端正在從某個地方產生 - 並獲得第二個預設路由。
與其避開第二條預設路由並將其扔到地獄深處,不如保留它,但前提是您的有線網路消失了?
為此,我們設定了連接的介面指標,因此您的有線乙太網路優先於無線(當它啟動時)。
將指標視為「成本」 - 作業系統將首先使用指標最低的網路適配器。
如果沒有較低指標的接口,作業系統將僅使用此較高指標的接口。
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.48.16
netmask 255.255.248.0
wireless-essid mynet
metric 100
auto eth0
iface eth0 inet static
address xx.xx.xx.xx
netmask 255.255.255.224
gateway xx.xx.yy.yy
metric 50
答案3
一些開箱即用的答案:
不使用時會停用 wifi。
設定 DHCP 伺服器,使其發出具有更高度量值(如 2)的預設路由,以便在插入時始終首選有線預設路由。