Existe um dispositivo, vamos chamá-lo de 1, na rede A
O dispositivo 1 possui duas interfaces, eth5 e eth7
Existe um dispositivo 2 na rede A
Ping da eth5 para o dispositivo 2 funciona
Ping da eth7 para o dispositivo 2 funciona
O dispositivo 2 pode executar ping em eth5 e eth7
MAS, fazer ping de eth5 para eth7 e vice-versa não funciona.
[root@ipfrmk /]# ping -I eth5 192.168.10.42
PING 192.168.10.42 (192.168.10.42) from 192.168.10.43 eth5: 56(84) bytes of data.
^C
--- 192.168.10.42 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2006ms
e
[root@ipfrmk /]# ping -I eth7 192.168.10.43
PING 192.168.10.43 (192.168.10.43) from 192.168.10.42 eth7: 56(84) bytes of data.
^C
--- 192.168.10.43 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms
Por que não consigo fazer ping entre as duas interfaces que estão no dispositivo 1 e que estão conectadas à rede A?
Posso fazer ping em outros dispositivos na rede A, mas não consigo fazer ping nas interfaces, respectivamente.
Talvez uma rota estática para cada interface?
Tentei o seguinte comando sem sorte.
ip route add 192.168.0.0/16 via 192.168.10.42 dev eth5
Saída
[root@ipfrmk /]# ping -I eth5 192.168.10.42
PING 192.168.10.42 (192.168.10.42) from 192.168.10.43 eth5: 56(84) bytes of data.
From 192.168.10.43 icmp_seq=1 Destination Host Unreachable
From 192.168.10.43 icmp_seq=2 Destination Host Unreachable
From 192.168.10.43 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.10.42 ping statistics ---
6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5002ms
pipe 3
Tem que haver algo que estou perdendo?
[root@ipfrmk /]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth5
192.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth7
192.168.0.0 192.168.10.42 255.255.0.0 UG 0 0 0 eth5
Responder1
Nessa situação, recomendo usar o endereço IP vinculado à interface da qual você deseja enviar, em vez da própria interface (para sua configuração).
ping -I <ens5 IP address> <ens7 IP address>
A razão pela qual o ping não está funcionando conforme o esperado é que o endereço IP de destino do datagrama IPv4 resultante é o da interface passada para o ping, em vez do endereço IP de destino fornecido.
Minha configuração:
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:e0:cc:50 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.10/24 brd 192.168.122.255 scope global ens5
3: ens6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:cd:c9:91 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.20/24 brd 192.168.122.255 scope global ens6
Parece que deveria funcionar, mas não funciona:
root@debian:/home/morgan# ping -c 1 -I ens5 192.168.122.20
PING 192.168.122.20 (192.168.122.20) from 192.168.122.10 ens5: 56(84) bytes of data.
--- 192.168.122.20 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 1ms
A saída do tcpdump mostra por que não está funcionando....
O endereço IP de destino é o da interface ens5, em vez do IP de destino esperado (192.168.122.20) passado para ping.
18:36:17.982917 IP 192.168.122.10 > 192.168.122.10: ICMP host 192.168.122.20 unreachable, length 92
Quando uso o endereço IP do ens5, o ping funciona:
root@debian:/home/morgan# ping -c 1 -I 192.168.122.10 192.168.122.20
PING 192.168.122.20 (192.168.122.20) from 192.168.122.10 : 56(84) bytes of data.
64 bytes from 192.168.122.20: icmp_seq=1 ttl=64 time=5.17 ms
--- 192.168.122.20 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 2ms
rtt min/avg/max/mdev = 5.165/5.165/5.165/0.000 ms
Responder2
Posso estar errado... Mas isso é uma curva fechada? Pode não ser capaz de voltar a si mesmo dessa maneira. Às vezes, ele não pode sair e voltar na mesma interface assim.