我有一个子界面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 的接口地址。