Pregled Linux VPN interfejsa pomoću ip link, sloj po sloj
Zastavice i brojači opisuju samo jedan sloj. Pročitajte vezu, zatim brojače, pa adrese i rute, pre nego što zaključite da je tunel pokvaren.
Ikona klijenta kaže povezano, interfejs postoji, a aplikacija i dalje ne dopire ni do čega. Ta kombinacija je uobičajena, jer virtuelni interfejs može ostati prisutan dok njegov udaljeni par, adrese ili rute nedostaju. ip link je pravi prvi alat, a ujedno i onaj koji se najlakše prečita. Zastavice i brojači opisuju jedan sloj, a slojevi iznad njih otkazuju nezavisno. To je i alat koji ljudi citiraju kada žele da dokažu da je tunel podignut, upravo tvrdnju koju sam ne može da podrži.
Pročitajte interfejs pre nego što pročitate ikonu
Počnite sa ip -details link show dev tun0, kako je dokumentovano u priručniku za ip-link, zamenivši ga interfejsom koji klijent zaista poseduje, a ne uobičajenim imenom. Zastavice, tip, MTU i identitet interfejsa su korisna zapažanja. Formulacija stanja virtuelnog interfejsa ne mora da se ponaša kao indikacija nosioca fizičkog kabla, zato tretirajte UP kao tvrdnju o interfejsu, a ne o tunelu.
Ta razlika objašnjava najviše zbunjujući slučaj: interfejs koji opstaje dok se udaljena strana ponovo povezuje ili je nedostupna.
Postavke trajnosti mogu da zadrže vezu upravo zato da je ponovno povezivanje ne bi ponovo gradilo, što znači da prisustvo nije zdravlje.
Dodajte brojače i zahtev koji bi trebalo da ih iskoristi
Koristite podržani prikaz statistike, ip -s link show dev tun0, i zabeležite brojanja paketa i bajtova u oba smera. Zatim generišite bezopasan zahtev koji bi trebalo da prođe kroz interfejs i uporedite relevantan smer. Zahtev koji je otišao direktnom rutom druge aplikacije neće pomeriti te brojače, i to je poenta vežbe.
Ako se brojač slanja pomera a brojač prijema ne, paket je otišao i ništa se nije vratilo. To je drugačiji problem od interfejsa koji nikada ništa nije prenosio. Ako se oba brojača pomeraju a aplikacija i dalje ne uspeva, kvar je iznad interfejsa, što je napredak, a ne slepa ulica.
Očitajte stanje dvaput, jednom pre i jednom posle, umesto da verujete jednom snimku.
Adrese i rute su odvojeni koraci
Veza može postojati bez prefiksa, bez konfiguracije razrešivača ili bez rute koja aplikaciji treba. Proverite adresu pomoću ip address show dev tun0, zatim proverite koju bi rutu odredište izabralo pomoću ip route get za stvarni cilj. Ta tri zapažanja odgovaraju na tri različita pitanja, a samo poslednje se tiče prosleđivanja.
Za IPsec stanje bezbednosne politike i asocijacije takođe može biti važno, i nije svaki IPsec dizajn prost tun interfejs. Traženje tun uređaja koji nikada nije trebalo da postoji brz je put do pogrešnog zaključka.
Zabeležite tačno ime, imenski prostor i vreme uz svaki izlaz koji čuvate, jer isto ime u drugom kontejneru ili obnovljenoj sesiji predstavlja sasvim drugi kontekst.
Ne brišite ono što niste identifikovali
Nepoznat interfejs nije automatski zastareo. Identifikujte njegovog vlasnika pre nego što bilo šta uklonite, i koristite dokumentovano uklanjanje klijenta ili upravljanu konfiguraciju kada je uklanjanje zaista namerno. Brisanje živog tunela da se vidi šta se dešava jeste test koji odgovara na pitanje koje niko nije postavio.
Ako interfejs pripada kontejnerskom runtime-u ili mrežnom imenskom prostoru koji niste napravili, vlasnik je na jednu komandu i vredi ga prvo pronaći.
Ta opreznost važi i za ip link set down, koje izgleda reverzibilno i često nije.
Šta pregled treba da vam ostavi
Dobar pregled završava se sa četiri činjenice: ime interfejsa i imenski prostor, njegove zastavice i MTU, prirast brojača iz stvarnog zahteva, i ruta i adresa koja aplikaciji zaista treba. Kada su one zapisane, sledeći korak je očigledan i pripada određenom sloju. Bez njih, svaka naredna promena je nagađanje sa planom vraćanja.
Uporedite te četiri činjenice sa iste četiri iz radne sesije. Ako se ime interfejsa i imenski prostor poklapaju ali je prirast brojača nula, zahtev nikada nije stigao do tunela. Ako je prirast brojača zdrav a ruta pokazuje negde drugde, tunel je u redu a rutiranje nije. To poređenje pretvara gomilu izlaza u odluku.
Čuvajte izlaz uz tiket, jer je kasnije poređenje korisno samo ako vidite šta se promenilo.
Zatim zatvorite petlju ponovnim testiranjem aplikacije, jer interfejs nikada nije bio ono do čega je korisniku stalo.