多个网络连接,流量从哪里路由?

les*_*ana 9 network-manager networking

我的 thinkpad 有两个网络接口,一个有线,一个无线。两个接口都可以连接到路由器,而路由器又连接到 Internet。

如果两个接口都连接了,两个接口是同时使用还是一次只使用一个。我如何知道使用的是哪个接口?

小智 6

网络接口有一个“度量”值。如果多个接口可以到达网关,则将使用具有最小度量的接口。

您可以尝试netstat -r在命令行中输入以查看该内容。 ifconfig还将给出每个接口的指标。


mkm*_*mkm 4

我使用网络管理器激活了有线 eth0 和 wifi eth2(均为 dhcp):

$ 路线 -n
内核IP路由表
目标网关 Genmask 标记度量参考使用 Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 2 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 和 0 0 0 eth0

tcpdump -n -i eth0显示流量,而不tcpdump -n -i eth2显示流量。

因此,让我们尝试重新排序路由表中的接口:

sudo 路由 del -net 192.168.1.0/24 dev eth2
sudo 路由添加 -net 192.168.1.0/24 dev eth2
sudo 路由 -n 添加默认 gw 1​​92.168.1.1 dev eth2

现在路由表是:

内核IP路由表
目标网关 Genmask 标记度量参考使用 Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 和 0 0 0 eth2
0.0.0.0 192.168.1.1 0.0.0.0 和 0 0 0 eth0

现在 tcpdump 显示通过 eth2 接口的所有流量。