Puncte:0

Probleme ale găurii negre PMTUD/ICMP într-un tunel VXLAN

drapel cn

Rulez o gazdă Proxmox PVE și încerc să folosesc VXLAN pentru a conecta mașinile care rulează pe el la diferite rețele din laboratorul nostru. Cu toate acestea, mă confrunt cu probleme ciudate legate de MTU pe care nu le înțeleg.

Mai întâi configurația mea. Aspectul de bază este că mașinile virtuale de pe gazda PVE se conectează printr-o punte la un tunel VXLAN. Pe cealaltă parte a tunelului am o mașină fizică în laborator care acționează ca un punct final VXLAN (EP). Se conectează la VTEP prin bridge la unul dintre porturile sale ethernet, care la rândul său se conectează la comutatorul care deține rețeaua în care încerc să-mi pun VM.

Pe gazda PVE (un VM și un VXLAN de exemplu):

 ___________ __________ __________ ___________
| VM eth0 | | Podul | | VXLAN | | Gazdă eno1 |
| 192.168.. |___| ---- |___| VNI 1 |___| 10... |___ către LabNet
| MTU 1500 | | MTU 1550 | | MTU 1550 | | MTU 1600 |
|___________| |__________| |__________| |___________|

În laborator (punctul final cu un tunel + un dispozitiv de laborator ca exemplu):

 ___________ __________ __________ __________ ___________
| LabDevice | | EP eth1 | | Podul | | VXLAN | | EP eth0 |
| 192.168.. |___ comutator de laborator etc ___| ---- |___| ---- |___| VNI 1 |___| 10... |___ către gazda PVE
| MTU 1500 | | MTU 1500 | | MTU 1550 | | MTU 1550 | | MTU 1600 |
|___________| |__________| |__________| |__________| |___________|

Acum, înțeleg că PMTUD nu va funcționa cu adevărat aici, deoarece - fiind L2 - majoritatea acelor dispozitive nu pot raporta înapoi, motiv pentru care am crescut MTU pentru acele dispozitive care trebuie să se ocupe de overhead-ul VXLAN (că este 1600 și nu 1550). nu are legătură, vreau doar să descriu exact starea așa cum este).

Cu toate acestea, încă mă confrunt cu probleme de nepotrivire MTU/ICMP Black Hole:

Problema 1) Ceva din lanț pretinde că acceptă doar un MTU de 1450. Dacă încerc să mă conectez de la VM la LabDevice prin SSH, conexiunea se blochează și apoi expiră. Dacă testez MTU-uri prin ping -M do -s 1450 ceva undeva răspunde cu mesajul obișnuit de fragmentare cerută..., MTU-ul maxim de 1450 este stocat și încercările ulterioare de conexiune SSH funcționează (până când expiră intrarea MTU1450 stocată). Gazda PVE are dispozitive cu un MTU setat la 1450, dar niciunul dintre ele nu este conectat la VM.

Problema 2) PMTUD nu funcționează chiar și pentru dispozitivele care nu sunt implicate în tunel. Dacă scad MTU-ul VM eth0 și dau ping -s... de la LabDevice cu ceva prea mare pentru VM, dar OK pentru orice altceva, primesc răspuns zero, chiar dacă VM-ul ar trebui, din înțelesul meu, să poată răspunde cu ICMP fragmentare necesară... mesaje.

Semi-legat: Există ceva ce pot face pe gazda PVE și pe dispozitivul terminal pentru a permite dispozitivelor conectate la punctul final să descopere un MTU redus? Deoarece există unele laboratoare la care s-ar putea să nu pot trimite cadre Jumbo și aș prefera să nu fiu nevoit să setez un MTU mai mic pe fiecare dispozitiv din acele laboratoare.

Editare: Poate și relevant: în prezent nu rulez multicast, dar am configurat IP-urile de la distanță prin pod fdb.... De asemenea, pe gazda VM, VM-urile nu sunt conectate direct la bridge, ci printr-o magie veth.

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.