ping一个地址是192.168.1.11,但是从指定网卡出。
为了指定通过特定的网卡发送数据包(如 eth3
),你可以使用 ping
命令的 -I
参数,该参数允许你明确指定源接口或源地址。
以下是方法:
使用 ping
命令指定网卡
运行以下命令:
ping -I eth3 192.168.1.11
使用 ping
命令指定源 IP
如果你的网卡有多个 IP 地址,你可以指定一个明确的源地址:
ping -I 192.168.1.200 192.168.1.11
在这里:
-I eth3
:指定从eth3
网卡发包。-I 192.168.1.200
:指定源 IP 地址(该 IP 必须绑定在eth3
上)。
验证数据流
可以通过 tcpdump
验证数据包确实从指定网卡发出:
sudo tcpdump -i eth3 icmp
此命令会捕获通过 eth3
的 ICMP 流量,确认 ping
的流量是否正常发出。
如果仍然不通
检查路由配置:
- 确保
192.168.1.11
在当前的路由表中是可达的。 - 查看路由表:
ip route
- 如果目标地址没有明确的路由,可以临时添加:
sudo ip route add 192.168.1.11 via 192.168.77.1 dev eth3
- 确保
检查目标主机防火墙设置:
- 目标主机是否允许 ICMP 流量。
排查网卡是否工作正常:
- 查看网卡状态:
ip link show eth3
- 查看网卡状态: