当两个网络连接到同一个网络时,Linux如何确定要使用哪个网络接口?
请注意,这不是一个关于路由的问题。我很熟悉那是怎么回事。如果我的笔记本电脑通过我的以太网卡和我的无线网卡连接到我的无线路由器,或者如果我有两个以太网卡都连接到同一个路由器。
根据我的经验,我的笔记本电脑似乎倾向于以太网卡(eth0)而不是无线(eth1--我知道这不是无线接口的典型名称,但这就是我所拥有的),但我想知道,它是如何决定这一点的?如果它只是从最低编号的接口中选择,那么如果这两个选择是,比方说,eth0和wlan0呢?
编辑:@Nils已经指出,这仍然是一个路由问题,路由表提供了答案(见他的答案)。这仍然是我最初的问题,但形式不同。是什么决定了Linux中路由表中条目的顺序?例如,下面是连接到两个接口的路由表:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.4.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
很明显,对于本地网络中的目的地,eth0在表中的优先级高于eth1,但是在Linux中,这是由链路延迟、链接吞吐量甚至接口名称决定的吗?(同样的问题可能是为什么eth0是默认路由的接口。)
发布于 2012-12-02 21:08:16
好吧-这是个路由问题。
答案很简单:给出最佳路由条目的第一个条目是“赢家”。所以看一下netstat -rn
,看看哪个接口是第一个。
更新:网络下位路由设置通常在系统启动时设置.因此,网络设备的启动顺序将是该表中的顺序。对于PCI设备,这些通常是由最低插槽号优先处理.外部设备(例如USB)通常会在稍后出现。
但是确切的顺序取决于Linux风格的网络启动脚本(这是它们非常不同的地方)。
顺便说一句:如果你想利用你的两个链接,你应该去联系。在那里,您可以设置您的链接的使用顺序。
https://unix.stackexchange.com/questions/57383
复制相似问题