Wie erhalte ich die pingfähige IPv6-Adresse meines Computers?

13

wenn ich es versuche: $ ip -6 addr ich bekomme so etwas wie:

inet6 fe80::d773:9cf0:b0fd:572d/64 scope link

Wenn ich versuche, das von der Maschine selbst aus zu pingen:

$ ping6 fe80::d773:9cf0:b0fd:572d/64
unknown host

$ ping6 fe80::d773:9cf0:b0fd:572d
connect: Invalid argument

Was mache ich falsch?

Marathon-
quelle

Antworten:

23

Jede IPv6-Adresse, mit der begonnen fe80:wird, entspricht der IPv4- 169.254.*.*Adresse, dh es handelt sich um eine verbindungslokale Adresse, die nur in dem Netzwerksegment erreichbar ist, mit dem sie direkt verbunden ist, und zwar über die Netzwerkkarte, die speziell mit diesem Segment verbunden ist. Im Gegensatz zu IPv4 ist es jedoch völlig normal, dass eine Netzwerkkarte gleichzeitig die verbindungslokale IPv6-Adresse und eine oder mehrere globale IPv6-Adressen gleichzeitig hat.

Da eine fe80:IPv6-Adresse verbindungslokal ist, müssen Sie die Netzwerkschnittstelle angeben, die Sie beim Pingen verwenden möchten.

Beispiel:

$ ping6 fe80::beae:c5ff:febe:a742
connect: Invalid argument

$ ping6 -I eth0 fe80::beae:c5ff:febe:a742
PING fe80::beae:c5ff:febe:a742(fe80::beae:c5ff:febe:a742) from fe80::beae:c5ff:febe:a742%eth0 eth0: 56 data bytes
64 bytes from fe80::beae:c5ff:febe:a742%eth0: icmp_seq=1 ttl=64 time=0.182 ms
64 bytes from fe80::beae:c5ff:febe:a742%eth0: icmp_seq=2 ttl=64 time=0.167 ms
...

Sie können die Schnittstelle auch am Ende der Adresse anhängen, indem Sie das %Zeichen verwenden : ping6 fe80::beae:c5ff:febe:a742%eth0.

Diese Anforderung gilt nur für verbindungslokale IPv6-Adressen: Sie können global routbare IPv6-Adressen pingen, ohne die Schnittstelle anzugeben.

$ ping6 2a00:1450:400f:80a::200e  # that's ipv6.google.com
PING 2a00:1450:400f:80a::200e(2a00:1450:400f:80a::200e) 56 data bytes
64 bytes from 2a00:1450:400f:80a::200e: icmp_seq=1 ttl=55 time=17.6 ms
64 bytes from 2a00:1450:400f:80a::200e: icmp_seq=2 ttl=55 time=19.6 ms
...
telcoM
quelle
Es steht auch scope linkdirekt in der Ausgabe :)
Hobbs
4
Nur als Anhang zur Antwort: Sie können auch die Schnittstelle am Ende der Adresse angeben:ping6 fe80::beae:c5ff:febe:a742%eth0
Ferrybig
@Ferrybig: Danke, dass du mich daran erinnert hast, habe meine Antwort aktualisiert.
TelcoM
1
Beachten Sie, dass Ihr Heimrouter auch IPv6 unterstützen muss, wenn Sie eine Remote-IPv6-Adresse anpingen möchten. Ältere Router verfügen nicht immer über das Software- / Firmware-Update, um eine Verbindung über IPv6 zu unterstützen. Sie werden höchstwahrscheinlich die folgende Nachricht erhalten:ping6: UDP connect: No route to host
Daniel Gelling
4

Von man ping6müssen Sie Ping mitteilen, welche Schnittstelle Sie verwenden:

-Ich Schnittstellenadresse

Stellen Sie die Quelladresse auf die angegebene Schnittstellenadresse ein. Das Argument kann eine numerische IP-Adresse oder ein Gerätename sein. Wenn Sie eine IPv6-Link-Local-Adresse anpingen, ist diese Option erforderlich.

Zum Beispiel, wenn Ihre Schnittstelle ist eth0:

ping6 -I eth0 fe80::xxxxxx

oder ohne die -IOption:

ping6 fe80:xxxxxx%eth0
garethTheRed
quelle