Puncte:2

Conectivitatea IPv6 s-a pierdut brusc, starea ruterului IPv6 vecin devine în același timp STALE. Cum pot evita asta?

drapel de

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:

  1. De ce devine cache-ul?
  2. Ce pot face pentru a o evita?
  3. 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ă?

drapel cn
Ați configurat niște reguli de firewall care ar bloca ICMPv6 (inclusiv NDP)?
drapel de
@HÃ¥kanLindqvist Mulțumesc, probabil că nu a fost filtrat, a adăugat ieșirea `ip6tables`.
Michael Hampton avatar
drapel cz
Lipsesc câteva detalii: Cine este centrul de date? Cum este configurată rețeaua în punte în hypervisor (și ce este)? Care este starea _completă_ a paravanului de protecție IPv6?
Puncte:1
drapel cn

În general, Stale State este un lucru bun, de fapt este acceptabil să avem o Stale State.

Să ne uităm la RFC 4861, secțiunea 5.1. :

  STALE Vecinul nu se mai știe că este accesibil, dar până când traficul este trimis către vecin, nu trebuie să se încerce să se verifice accesibilitatea acestuia.

Nu se mai știe că vecinul este accesibil (temporizatorul a expirat, fără trafic în ultima vreme, orice) și accesibilitatea va fi „verificată” odată ce traficul este trimis din nou către vecin.

Deci nu există nicio problemă dacă puteți trimite trafic către vecin din nou.

drapel de
Mulțumiri. Problema mea este că gazda își pierde conectivitatea IPv6 - nu mai răspunde la solicitările primite când este afișată starea STALE. Presupun că ambele probleme au aceeași cauză? Cum exact comenzile `ip r` și `ping` pe care le-am detaliat în întrebarea mea restabilesc conectivitatea?
drapel de
Problema este că NU POT trimite trafic către vecin fără acești pași suplimentari și nici gazda nu poate fi accesată din exterior. Deci: Cum și de ce se pierde conectivitatea? Cum restabilesc conectivitatea comenzile `ip -6 neighbour` și `ping`? Se poate face acest lucru fără acești pași? Toate mașinile IPv6 execută acești pași periodic sau de ce nu își pierd conectivitatea?
Omid Estaji avatar
drapel cn
Stale State este o parte normală a descoperirii vecinilor IPv6. Când o gazdă pornește, face ceva și, de asemenea, un Neighbour Advertisment gratuit, dar nu vom accepta o nouă intrare când vedem un NA gratuit. Acest lucru diferă de protocolul moștenit (IPv4), de fiecare dată când vedem un ARP gratuit, am făcut de fapt o intrare în cache. aici, în IPv6, adăugăm intrarea în cache doar dacă actualizăm o intrare existentă cu acel NA gratuit. deci Stale înseamnă Nu comunică în prezent, așteptând următorul pachet aflat în coadă. atunci, dacă trimitem un pachet, statul poate intra într-o Întârziere și va aștepta ca protocoalele de nivel superior să returneze traficul.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.