Neko izvještava da VPN „blokira UDP“, a ta fraza skriva dvije potpuno različite tvrdnje. Jedna se tiče transporta koji pristupna mreža može vidjeti, druga paketa aplikacije nakon što su dešifrirani unutar tunela. Šifrirani tunel može se filtrirati izvana bez ikakvog ključa, a unutrašnja UDP aplikacija može zakazati iz razloga koji nemaju nikakve veze s filtriranjem. Odlučite koju tvrdnju testirate prije nego što prikupite dokaze.

Dva zaglavlja, jedna riječ

U IPsec postavci s NAT-traversalom vanjski paket je UDP adresiran između dvije VPN krajnje točke, obično na portu 4500. Unutar toga šifrirani korisni teret nosi sve što tunel prosljeđuje, a to i samo može biti TCP ili UDP. Riječ UDP tako se pojavljuje dvaput, s različitim značenjem i različitom vidljivošću.

Posrednička mreža vidi vanjsko zaglavlje i ništa od unutrašnjeg. Može dopustiti, oblikovati ili odbaciti vanjski tok, i za to ne mora ništa dešifrirati. Ta asimetrija cijeli je razlog zašto se dvije tvrdnje brkaju: ista riječ opisuje ono što mreža filtrira i ono što aplikacija šalje. Zapišite sloj uz riječ kad god bilježite nalaz, i zabuna uglavnom nestaje.

Unutrašnje zaglavlje postaje vidljivo tek na prijemnoj krajnjoj točki, nakon dešifriranja. Od tog trenutka paket se prosljeđuje kao i svaki drugi, podložno rutama, politici i vlastitom filtriranju krajnje točke. To su odvojene odluke koje donose različiti uređaji.

Što mreža još uvijek može vidjeti

Šifriranje skriva korisni teret i unutrašnje transportno zaglavlje, a ne činjenicu da tok postoji. Adrese krajnjih točaka, portovi, veličine paketa i vrijeme ostaju vidljivi, i to je dovoljno da se promet heuristički klasificira ili da se blokira određena destinacija.

sudo tcpdump -ni eth0 'udp port 4500'
sudo tcpdump -ni tun0 'udp port 5201'

Prvo snimanje pokazuje vanjski tok na fizičkom sučelju, a drugo unutrašnji tok na sučelju tunela. Pokretanje oba istovremeno izravno odgovara na pitanje: ako vanjski tok postoji a unutrašnji ne, aplikacija nikada nije ništa poslala u tunel. Ako oba postoje i ništa se ne vraća, problem je iza tunela, na destinaciji ili na povratnom putu.

RFC 3948 definira vanjsku UDP enkapsulaciju, a ESP specifikacija definira zaštićeni raspored unutar nje. Nijedan dokument ne obećava da će pristupna mreža propustiti vanjski tok, zato test dosegljivosti na vanjskoj n-torki vrijedi pokrenuti prije bilo koje teorije o unutrašnjoj. Blokirana vanjska n-torka daje tunel koji se nikada ne formira, a ne tunel koji se formira i zatim izgubi jednu aplikaciju.

Zašto jedna UDP aplikacija zakaže unutar ispravnog tunela

Tunel koji prenosi web aplikaciju ali ne i UDP aplikaciju ima nekoliko vjerojatnih objašnjenja, a ISP-ovo filtriranje unutrašnjeg protokola nije prvo. Najčešće je pokrivenost: dvije aplikacije ne ulaze obje u isti tunel, jer ruta do UDP destinacije nedostaje ili je klijentova pravila podijeljenog tunela isključuju.

Drugo je krajnja točka. VPN poslužitelj koji dopušta popis protokola, vatrozid na destinaciji ili usluga koja nikada ne sluša na očekivanom portu, svi će proizvesti istek vremena koji izgleda jednako kao mrežna blokada.

Treće je veličina paketa. UDP aplikacije često šalju veće datagrame od web zahtjeva, a enkapsulacija smanjuje upotrebljivi MTU, pa nakon uspješnog handshakea može uslijediti tišina pri prvom korisnom teretu pune veličine. Taj se obrazac lako pogrešno pročita kao blokada, jer mali paketi prolaze a veliki nestaju. Brza MTU sonda to rješava za manje od minute, a odgovor je obično manji korisni teret ili ispravljeni MSS, a ne mrežni filtar.

ping -M do -s 1400 -c 2 10.60.0.20
iperf3 -u -c 10.60.0.20 -p 5201 -b 1M -t 5

Prva naredba provjerava preživljava li veliki paket put s isključenom fragmentacijom, što brzo otkrije problem s MTU-om. Druga šalje mali, ograničeni UDP tok i izvještava o gubicima i jitteru. Tok koji počne i zatim se zaustavi upućuje na veličinu, a ne na blokadu.

Prijavite sloj, ne protokol

Zapišite nalaz u jednom od tri oblika: vanjska dostava nije uspjela, unutrašnje prosljeđivanje nije uspjelo ili aplikacija nije uspjela. Svaki ima drugog vlasnika, a njihovo miješanje šalje tiket pogrešnom timu.

Promjena lokalnog porta ne može stvoriti odgovarajući slušatelj na udaljenom kraju, pa je klijentska zaobilaznica koja izgleda kao pomoć obično dokaz da je izvorna destinacija bila pogrešna. Isto tako, dostavljeni alternativni profil dokazuje nešto o dosegljivosti i ništa o tome je li aplikacija ispravno konfigurirana.

Držite zaključak odvojeno od opažanja. Analiza prometa može sugerirati što je tok bez dešifriranja, i to je koristan nalaz, ali to nije ista tvrdnja kao čitanje unutrašnjeg zaglavlja. Navedite koje od toga doista imate.

Povezani članci