Am un VM pe o gazdă cu rețea în punte (deci, cu propria sa adresă MAC). Atât gazda, cât și VM rulează CentOS. Rețeaua lor este gestionată simplu /etc/sysconfig/network-scripts/ifcfg-enpXsY
fișiere care conțin adresele IP statice. IPv4 funcționează bine.
Am atribuit o adresă IPv6 VM (gazdă are și una) care este direcționată corect în centrul de date. Cu toate acestea, majoritatea conexiunilor folosesc IPv4 (încă nu există nicio intrare DNS AAAA pentru mașină, încă testează IPv6).
Când pornesc VM-ul are conectivitate IPv6 completă. In orice caz, după un timp conectivitatea IPv6 nu mai funcționează (Magie IPv6?). Am restrâns problema până la datele vecine (cache ARP/NDISC):
IPv6 nu funcționează, nu pot face ping sau nu se pot conecta prin IPv6, apoi văd:
# ip -6 vecin
fe80::1 dev enp1s2 lladdr 0c:86:72:2e:04:28 router STALE
Remediere/soluție pentru a reîmprospăta memoria cache:
# ip -6 vecin flush dev enp1s2
# ip -6 vecin
(gol, așa cum era de așteptat)
Atunci ping6
gazda din interiorul VM pentru a umple memoria cache:
# ping6 2912:1375:23:9a6c::2
PING 2912:1375:23:9a6c::2(2912:1375:23:9a6c::2) 56 de octeți de date
64 de octeți de la 2912:1375:23:9a6c::2: icmp_seq=1 ttl=64 time=2,35 ms
64 de octeți de la 2912:1375:23:9a6c::2: icmp_seq=2 ttl=64 time=0,468 ms
^C
# ip -6 vecin
fe80::1 dev enp1s2 lladdr 0c:86:72:2e:04:28 router ACCESIBIL
2912:1375:23:9a6c::2 dev enp1s2 lladdr 08:21:4b:b7:f8:31 ÎNTÂRZIERE
Tabelul IPv6 vecin/ARP a revenit la valabilitate și conectivitatea funcționează și se desfășoară!
Deci intrebarile mele sunt:
- De ce devine cache-ul?
- Ce pot face pentru a o evita?
- De ce/cum remediază comanda de mai sus?
Bineînțeles că aș putea rula acele comenzi într-un cron
job (cât de des?), dar presupun că nu poate fi cu adevărat necesar pentru ca IPv6 să funcționeze în general?
PS: Am folosit un script pentru teste: Stiva IPv6 se defectează aproximativ la fiecare 20 de minute. Poate fi explicat prin RFC-uri?
PPS: configurare firewall (ieșire scurtată, sperăm toți biții relevanți):
# ip6tables -nvL
INTRARE în lanț (politica DROP 0 pachete, 0 octeți)
pkts bytes target prot opt in out source destination
9023 709K ACCEPT icmpv6 !lo * ::/0 ::/0
IEȘIRE în lanț (politica DROP 0 pachete, 0 octeți)
pkts bytes target prot opt in out source destination
9360 785K ACCEPT icmpv6 * !lo ::/0 ::/0
Deci, ICMPv6 a acceptat intrare/ieșire pe VM. Trebuie să verific filtrarea pe gazdă?