하위 인터페이스가 있습니다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
일반 인터페이스( )에서 ping을 실행하면 eth0
모든 것이 정상입니다.
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의 인터페이스 주소가 사용됩니다.