我已通过电缆和 WiFi 设备将一台计算机(运行 Debian Wheezy)连接到两个不同的 DHCP 服务器(路由器)。如果我用 来查看路线route
,我会得到以下结果
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 202 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 303 0 0 wlan0
192.168.1.0 * 255.255.255.0 U 303 0 0 wlan0
192.168.2.0 * 255.255.255.0 U 202 0 0 eth0
如果我traceroute
对某个外部地址执行 a,我会看到它通过第一个路由器192.168.2.1
。如果我删除一条路线
$ route del default eth0
并运行traceroute
到相同的地址,我看到现在使用192.168.1.1
.
我的问题。
选择两条默认路由中的哪一条?它始终是 列出的第一个route
,还是每次都根据某些标准选择?
如果一条默认路由具有更高的优先级,那么它是如何被选择的呢?它只是启动过程中首先出现的界面吗?
如果我想要一条首选路由,甚至删除两条默认路由之一,我该怎么做?使用删除路由是否足够
$ route del default eth0
或者每次为客户端分配新地址时都会自动再次添加此路由?
我的问题的一些背景:计算机 X 使用 DHCP 连接到网络 A 和 B。 A 路由器应充当 X 的网关,但 B 路由器不应充当:B 路由器应仅允许 X 与网络 B 上的计算机进行通信。