Ping zwischen Schnittstellen auf einem Gerät im selben Netzwerk nicht möglich

Ping zwischen Schnittstellen auf einem Gerät im selben Netzwerk nicht möglich

Es gibt ein Gerät, nennen wir es 1, im Netzwerk A

Gerät 1 hat zwei Schnittstellen, eth5 und eth7

Es gibt ein Gerät 2 im Netzwerk A

Ping von eth5 zu Gerät 2 funktioniert

Ping von eth7 zu Gerät 2 funktioniert

Gerät 2 kann eth5 und eth7 anpingen

ABER das Pingen von eth5 zu eth7 und umgekehrt funktioniert nicht.

[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

Und

[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

Warum kann ich keinen Ping zwischen den beiden Schnittstellen durchführen, die sich beide auf Gerät 1 befinden und beide mit Netzwerk A verbunden sind?

Ich kann andere Geräte im Netzwerk A anpingen, aber nicht die jeweiligen Schnittstellen.

Vielleicht eine statische Route für jede Schnittstelle?

Ich habe den folgenden Befehl ohne Erfolg ausprobiert.

ip route add 192.168.0.0/16 via 192.168.10.42 dev eth5

Ausgabe

[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

Es muss doch irgendetwas geben, das ich übersehe?

[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

Antwort1

In dieser Situation empfehle ich, die IP-Adresse zu verwenden, die an die Schnittstelle gebunden ist, von der Sie senden möchten, und nicht die Schnittstelle selbst (für Ihre Konfiguration).

ping -I <ens5 IP address> <ens7 IP address>

Der Grund, warum der Ping nicht wie erwartet funktioniert, liegt darin, dass die Ziel-IP-Adresse des resultierenden IPv4-Datagramms die der an den Ping übergebenen Schnittstelle ist und nicht die angegebene Ziel-IP-Adresse.

Meine Konfiguration:

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
        
     

Das hier scheint zu funktionieren, tut es aber nicht:

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

Die TCPdump-Ausgabe zeigt, warum es nicht funktioniert …

Die Ziel-IP-Adresse ist die der ens5-Schnittstelle und nicht die erwartete Ziel-IP (192.168.122.20), die an Ping übergeben wird.

18:36:17.982917 IP 192.168.122.10 > 192.168.122.10: ICMP host 192.168.122.20 unreachable, length 92

Wenn ich die IP-Adresse von ens5 verwende, funktioniert der Ping:

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                                                                                                                      

Antwort2

Ich könnte mich irren ... Aber ist das eine Haarnadelkurve? Es kann sein, dass es auf diese Weise nicht zu sich selbst zurückkehren kann. Manchmal kann es nicht in derselben Schnittstelle auf diese Weise hinaus und zurück gehen.

verwandte Informationen