我有一个树莓派,具有三个接口 eth0(以太网)、wlan0(WiFi)和 wwan0(通过 GSM 调制解调器)
如何测试某个接口是否可以连接互联网?例如,我的 GSM(wwan0) 调制解调器是否已连接到互联网?
如果我尝试运行 ping www.google.com - 我如何知道正在使用哪个接口?
如果存在多个接口,如何强制通过某个接口进行连接?
答案1
如何测试某个接口是否可以连接互联网?例如,我的 GSM(wwan0) 调制解调器是否已连接到互联网?如果我尝试运行 ping www.google.com - 我如何知道正在使用哪个接口?
您可以指定接口。
ping -I $INTERFACE $DOMAIN_OR_IP_ADDRESS
例如:
ping -I wwan0 8.8.4.4
使用已知的 IP 地址可以在故障排除时消除任何潜在的 DNS 问题。
如果存在多个接口,如何强制通过某个接口进行连接?
您可以设置默认路由。 Debian 的静态寻址,对吗?/etc/network/interfaces
使用文本编辑器打开。找到所需的网络接口并添加选项gateway x.x.x.x
,其中 xxxx 是网关。保存并重新启动网络:
/etc/init.d/networking restart
否则,我相信需要为此使用更高级的基于策略的路由。
答案2
检查您的路由表
route -n
结果将显示接口配置为接收/传输的优先顺序以及这些操作采用的地址。顶部的路线是使用武力的路线。同一接口的两条规则意味着最上面的那个就是所使用的那个。
尝试运行你的平或者跟踪路由命令同时查看输出伊夫托普。
iftop -i $iface
- [-i] 指定哪个接口(即,tap0、lun0、eth0、wlan0,由输出指定)如果配置。
这将向您显示特定接口的统计信息。
iftop -f $IP/$NETMASK
- [-f指定网络,网络掩码(即192.168.1.0/24)
这将向您显示特定子网的统计信息。