双默认网关 ubuntu 服务器

双默认网关 ubuntu 服务器

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

相关内容