
Ich verwende CentOS 7.
Zuerst habe ich ein Tippgerät erstellt:
ip tuntap add dev tap2 mode tap
Dann habe ich ihm eine IPv6-Adresse zugewiesen:
ip -6 addr add dev tap2 fd00:4::1/64
ip link set tap2 up
Sein daraus generierter Zustand ip addr
zeigt:
tap2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 500
link/ether fe:ea:2b:e0:c3:08 brd ff:ff:ff:ff:ff:ff
ping6 fd00:4::1
Empfängt jedoch nichts. tcpdump -i tap2
Gibt auch nichts aus.
Ist das Tap-Gerät bereit für die Ausführung in IPv6? Muss ich irgendwo eine Konfiguration hinzufügen?
Antwort1
Wenn Ihre Version ip
es unterstützt, können Sie das confflag verwendennodad
um dem Gerät mitzuteilen, dass esErkennung doppelter Adressen (DAD)bei der Adressvergabe:
# ip -6 addr add dev tap2 fd00:4::1/64 nodad
Wahrscheinlich kann der DAD nicht durchgeführt werden, da das Tap-Gerät an kein Medium angeschlossen ist. Bei der Adressvergabeohnedas confflag, und ip addr
zeigt mir (Ubuntu, Kernel 3.13, iproute2 Version 3.12.0), dass die Adresse inVorsichtigZustand, d. h. es wartet darauf, dass DAD fertig wird:
3: tap2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 500
link/ether 6a:fe:48:a1:b2:1d brd ff:ff:ff:ff:ff:ff
inet6 fd00:4::1/64 scope global tentative
valid_lft forever preferred_lft forever
Zuweisenmitdas Conflag nodad
zeigt ein anderes Ergebnis:
3: tap2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 500
link/ether 6a:fe:48:a1:b2:1d brd ff:ff:ff:ff:ff:ff
inet6 fd00:4::1/64 scope global nodad
valid_lft forever preferred_lft forever
Ping funktioniert dann:
# ping6 fd00:4::1
PING fd00:4::1(fd00:4::1) 56 data bytes
64 bytes from fd00:4::1: icmp_seq=1 ttl=64 time=0.050 ms
64 bytes from fd00:4::1: icmp_seq=2 ttl=64 time=0.056 ms
...