我的 ThinkPad 有两个网络接口,一个有线,一个无线。两个接口都可以连接到路由器,再由路由器连接到互联网。
如果两个接口都连接,那么两个接口是同时使用还是每次只使用一个。如何知道使用的是哪个接口?
答案1
网络接口有一个“metric”值。如果多个接口可以到达网关,则将使用metric最小的接口。
您可以尝试netstat -r
在命令行中输入内容来查看它。
ifconfig
还将提供每个接口的度量。
答案2
我使用网络管理器激活了有线 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 UG 0 0 0 eth0
tcpdump -n -i eth0
显示交通状况,而 则不tcpdump -n -i eth2
显示。
因此让我们尝试重新排序路由表中的接口:
sudo route del -net 192.168.1.0/24 dev eth2 sudo route add-net 192.168.1.0/24 dev eth2 sudo route -n 添加默认网关 192.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 UG 0 0 0 eth2 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
现在 tcpdump 显示通过 eth2 接口的所有流量。