Gdje na prolazu pratiti promet OpenVPN klijenta
Usmjereni VPN prolaz prosljeđuje pakete bez otvaranja utičnica za njih. Odaberite conntrack, ograničeno snimanje tunela ili zapise posrednika prema tome gdje tok prolazi.
Želite znati do kojih odredišta povezani klijent dolazi, pa otvorite ljusku na VPN serveru i upišete ss. Ništa korisno se ne pojavi, a zaključak da je tunel pokvaren slijedi malo previše lako. Usmjereni OpenVPN prolaz prosljeđuje klijentove pakete; on ne prekida njihove TCP veze i ne posjeduje utičnice za njih. Dokaz živi negdje drugdje, a to negdje zavisi od toga kako se promet obrađuje nakon što napusti tunel.
Utvrdite koji raspored gledate
Dva uobičajena oblika daju potpuno različite dokaze. Usmjeravajući prolaz dekapsulira, prosljeđuje i po potrebi radi izvorni NAT, pa klijentova veza nastavlja postojati s kraja na kraj bez lokalne utičnice.
Posrednik prekida promet: prihvata vezu, a zatim otvara vlastitu vezu prema gore. U tom rasporedu postoje dvije veze za jedan zahtjev, a veza među njima postoji samo u posrednikovim vlastitim zapisima. Znati koju ste od njih postavili odlučuje hoćete li čitati stanje tokova u jezgru ili zapise aplikacije.
Većina zabune dolazi od nagađanja. Potvrdite oblik prije nego što odaberete alat. Prvo pročitajte konfiguraciju servera tražeći direktivu posrednika, jer njeno prisustvo mijenja svaki kasniji korak. Bez nje je put paketa usmjeravanje, a stanje tokova u jezgru je vaš dokaz.
Prvo povežite adresu sa sesijom
Pođite od stanja sesija na serveru i prepoznajte klijentovu trenutnu unutrašnju adresu. Adrese iz bazena se recikliraju, pa je adresa sama po sebi zakup, a ne osoba.
Zapišite vrijeme i potvrđeni identitet zajedno i zabilježite da li se za tim klijentom skriva cijela lokalna mreža. Ako udaljena strana usmjerava podmrežu, unutrašnje adrese koje vidite mogu biti izvorni hostovi ili prevedene.
ip -4 addr show dev tun0
journalctl -u [email protected] --since '-10 min' | tail -n 40Taj par odgovara na dva pitanja odjednom: kojem prefiksu služi sučelje tunela i koja je sesija bila aktivna tokom intervala koji vas zanima. Učinite to prije tumačenja bilo kojeg unosa toka, jer uvjerljiva torka vezana za pogrešnu sesiju gora je od nikakvog dokaza.
Čitajte tablicu tokova na usmjeravajućem prolazu
Kad su adresa i interval utvrđeni, popis praćenih veza samo za čitanje pokazuje šta prolaz prosljeđuje za njega. Filtrirajte po izvornom izvoru da ne čitate cijelu tablicu.
sudo conntrack -L -p tcp -f ipv4 --orig-src 10.8.0.37Svaki unos drži dvije torke, izvornu i odgovornu, koje su dva smjera jednog toka, a ne dvije aplikacije. Na putu izvornog NAT-a izvorna torka zadržava adresu tunela, dok odgovorna strana pokazuje prevedenu adresu prolaza, i to je upravo ono zbog čega izlaz na prvi pogled izgleda pogrešno.
Tretirajte popis kao živo stanje, a ne kao historiju. Kratki tokovi su možda već istekli, nepraćeni promet se nikada ne pojavljuje, a drugi mrežni prostor imena pokazuje drugu tablicu. Referenca za conntrack dokumentuje filtre i dvosmjerni izlaz.
Jedno ograničeno snimanje za potvrdu čitanja
Ako je sučelje tunela vidljivo tamo gdje gledate, jedno ograničeno snimanje rješava da li su paketi koje ste prepoznali oni na žici. Držite filtar uzak, a ograničenje paketa malo.
sudo tcpdump -ni tun0 -nn -c 50 'host 10.8.0.37 and tcp'Uporedite vremenske oznake, protokol i portove s unosom toka i sa zahtjevom koji ste poslali kao test. Snimanje uzeto nakon NAT-a pokazuje samo javnu adresu prolaza, dok strana tunela može još pokazivati klijentovu, i ta razlika je informacija, a ne nedosljednost.
Ako sučelje ne vidi ništa, provjerite put podataka prije nego što zaključite da klijent miruje: promet klijent-prema-klijentu i neki putevi rasterećenja nikada ne prolaze kroz točku koju gledate.
Zapisi posrednika i granice onoga što ste vidjeli
Kad je posrednik na putu, njegove utičnice prema gore vidljive su u tablici utičnica, ali se ne preslikavaju jedan na jedan na VPN klijente, posebno uz udruživanje ili multipleksiranje. Koristite konfigurirani dnevnik transakcija posrednika da povežete identitet klijenta, odredište, vremensku oznaku i svaki identifikator zahtjeva koji bilježi.
Provjerite konfiguraciju evidentiranja instalirane verzije umjesto da pretpostavljate da se svaki zahtjev evidentira po zadanom.
Konačno, budite precizni oko opsega. Odredišna adresa i port su metapodaci, a ne URL i ne sadržaj stranice, jer unutrašnja HTTPS sesija zadržava vlastitu zaštitu bez obzira na tunel. Prijavite šta ste primijetili, s koje točke posmatranja i u koje vrijeme.