我刚刚在 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)的默认路由,这样如果插入,有线默认路由将始终是首选。