从子接口 Ping

从子接口 Ping

我有一个子界面eth0:0

auto eth0:0
iface eth0:0 inet static
        address 192.168.2.96
        netmask 255.255.255.0
        gateway 192.168.2.1

我尝试

ping -I eth0:0 8.8.8.8

我得到

ping: SO_BINDTODEVICE: Invalid argument

如果我从正常接口 ( eth0) 执行 ping 操作,则一切正常。

我在 Ubuntu 14.04 和 CentOS 7 上尝试过。

答案1

您不能使用以下命令将 eth0:0 定义为 ICMP 数据包的来源ping;正如之前的评论中所述,将应用路由规则,如果路由到其他网络,将使用 eth0 地址。

hping3但是,您可以使用以下命令来欺骗以 eth0:0 IP 地址为源的 ICMP 数据包:

sudo hping3 -1 8.8.8.8 -a 192.168.2.96

请注意,要使其正常工作,您的边界路由器必须对 192.168.2.0/24 网络块执行 NAT。

答案2

一旦您 ping 网络中的地址

192.168.2.0/24

eth0:0 地址将用作源。否则,将使用 eth0 的接口地址。

相关内容