当两个都连接到同一网络时,Linux如何确定要使用哪个网络接口?
请注意,这不是路由问题。我对它的工作方式很熟悉。举例来说,这是因为我的笔记本电脑既通过以太网卡又通过无线卡连接到了无线路由器,或者如果我有两个以太网卡都同时连接到同一路由器。
我可以说,从我的经验来看,我的笔记本电脑似乎比无线网卡更喜欢以太网卡(eth0)(我知道这不是无线接口的典型名称,但这就是我的名字),但是我想知道,它如何决定呢?如果只是从编号最小的接口中选取,那么两个选项分别是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是默认路由的接口,也会出现相同的问题。)