Kako provjeriti je li VPN tunel na Linuxu zaista aktivan
Zastavice sučelja, pretrage ruta, tabela 220 i vremenske oznake rukovanja odgovaraju na različita pitanja. Svaki korak skripte uslovite provjerom koja dokazuje njegovu pretpostavku.
Cron svakih deset minuta ponovo pokreće savršeno zdrav VPN, a isti posao ostavlja mrtav tunel da radi čitavu sedmicu. Obje greške dolaze iz toga što se «aktivan» tretira kao jedna činjenica, a to je najmanje četiri. Uređaj može biti administrativno omogućen, ispravno rutiran, potpuno šifrovan i ipak ne prenositi ništa korisno. Prvo razdvojite opažanja, i provjera se gotovo sama napiše.
Zastavice veze opisuju uređaj, a ne put
Provjera koju svi kopiraju traži hardversku adresu od samih nula. Taj trik u nekim drajverima razdvaja pravo sučelje od zamjenskog, a u ostalim ne dokazuje ništa, jer tun uređaj ionako nema MAC da ga prijavi. ip -brief link show tun0 umjesto toga daje zastavice: UP znači da je administrator omogućio uređaj, a LOWER_UP znači da drajver smatra vezu iskoristivom. Čitane zajedno, govore da uređaj postoji i da nije administrativno isključen. Nijedna od njih ne govori da paket ima kuda otići.
OpenVPN stvara svoj tun uređaj prije nego što se rute instaliraju, pa zastavice mogu izgledati savršeno dok ništa nije rutirano. Tretirajte ih kao preduslov, nikada kao odgovor.
Pitajte kuda bi paket otišao
Pretraga rute odgovara na pitanje na koje zastavice ne mogu. ip route get 10.8.0.1 from 10.8.0.2 imenuje sučelje, izvornu adresu i tabelu koju bi jezgro koristilo, a to je upravo ono protiv čega se podijeljeni tunel mora provjeriti. Bez izvorne adrese pitate nešto drugo, a s rutiranjem po pravilima odgovor može biti različit za svaki izvor. To je najjeftiniji pošten test, jer se konsultuje ista pravila koja će koristiti i vaš promet.
Za WireGuard dodajte rukovanje. wg show ispisuje vremensku oznaku posljednjeg rukovanja po peeru, a oznaka koja je prestala napredovati znači da je peer otišao, šta god zastavice sučelja govorile. Konfigurisano sučelje bez skorog rukovanja jedan je od najčešćih lažnih pozitiva u vlastitom monitoringu.
Tabela 220 priča priču IPsec-a
strongSwan instalira rute za dogovorene selektore u tabelu 220 kada je instalacija ruta omogućena. ip route list table 220 zato razdvaja dogovoreno od rutiranog: prazna tabela pored napunjene konekcije znači da su IKE i CHILD SA podignuti dok se nikakav promet ne usmjerava u njih. Provjerite ip xfrm state uz nju, jer ona navodi instalirane sigurnosne asocijacije i njihove krajnje tačke.
Politika zamke je slučaj na koji treba paziti. Ona čeka zanimljiv promet umjesto da ga rutira, pa tabela ostaje prazna dok nešto ne pokrene tunel.
Stanje upravljača i stanje demona su različite liste
NetworkManager navodi samo konekcije koje posjeduje. nmcli -t -f NAME,TYPE connection show --active ne vraća ništa za tunel pokrenut direktno pomoću wg-quick ili pomoću OpenVPN demona.
To razlikovanje je važno kada skripta mora odlučiti kog od dva upravljača pitati. Odaberite onaj koji zaista posjeduje tunel na ovom hostu i zanemarite tišinu onog drugog. Ako postoje oba, odlučite koji je mjerodavan i isključite drugi, jer dva upravljača koji prepisuju rute na jednom sučelju proizvode kvarove koje niko ne može reproducirati. Nedostajući unos je informacija o upravljaču, ne o tunelu.
Uslovite sljedeći korak provjerom koja mu treba
Anketiranje UDP porta ne dokazuje ništa o spremnosti, jer UDP nema rukovanje i nc -u uspijeva čim paket izađe. Provjerite šta sljedeći korak zaista troši: TCP vezu prema proslijeđenom portu, zahtjev prema hostu unutar tunela, ime koje se razrješava samo tamo. Ograničite čekanje tajmautom i brojem pokušaja, i glasno padnite kada isteknu.
Kuke su bolje od anketiranja kada ih klijent nudi. --up i --down skripte OpenVPN-a se izvršavaju nakon što sučelje promijeni stanje, što potpuno uklanja utrku, ali rade s privilegijama koje je demon zadržao. Ako je OpenVPN sišao na neprivilegovani nalog kroz user i group, kuka radi kao taj nalog. Restartovanje sistemske usluge tada zahtijeva sudo da dozvoli upravo tu naredbu. Predajte ponovni pokušaj upravljaču usluga, a ne cron petlji: ograničena politika restarta s limitom pokretanja otkriva pokvaren tunel, dok ga neograničena petlja krije beskonačno.