Hoe kontrolearje jo of in Linux-VPN-tunnel echt omheech is
Yndikatoaren fan 'e ynterface, rûtesykjen, tabel 220 en tiidstimpels fan 'e hânslach beantwirdzje ferskillende fragen. Meitsje elke skriptstap ôfhinklik fan 'e test dy't syn betingst bewiist.
Cron startet om de tsien minuten in folslein sûne VPN opnij, en deselde taak lit in deade ien in wike dravje. Beide flaters komme út it behanneljen fan «omheech» as ien feit, wylst it teminsten fjouwer is. In apparaat kin bestjoerlik ynskeakele, goed rûtearre, folslein fersifere wêze en dochs neat nuttich ferbine. Skiede earst de waarnimmings, en de kontrôle skriuwt himsels hast.
Keppelingsflaggen beskriuwe it apparaat, net it paad
De kontrôle dy't elkenien kopiearret, sykket nei in hardware-adres fan allegear nullen. Dy trúk skiedt in echte ynterface fan in plakhâlder by guon driuwers en bewiest neat yn 'e oare, want in tun-apparaat hat hielendal gjin MAC om te rapportearjen. ip -brief link show tun0 jout ynstee flaggen: UP betsjut dat in behearder it apparaat ynskeakele hat, en LOWER_UP betsjut dat de driuwer de keppeling brûkber achtsje. Mei elkoar lêzen, sizze se dat it apparaat bestiet en net bestjoerlik útskeakele is. Net ien fan beide seit dat in pakket earne hinne kin.
OpenVPN makket syn tun-apparaat foar't rûtes ynstallearre wurde, dat de flaggen kinne perfekt lykje wylst neat rûtearre is. Behannelje se as in betingst, nea as it antwurd.
Freegje wêr't in pakket hinne gean soe
Rûtesykjen beantwirdet de fraach dy't de flaggen net kinne. ip route get 10.8.0.1 from 10.8.0.2 neamt de ynterface, it boarne-adres en de tabel dy't de kernel brûke soe, en dat is krekt wat in split-tunnel tsjin te kontrolearjen is. Sûnder it boarne-adres freegje jo wat oars, en mei beliedsrûtearring kin it antwurd per boarne ferskille. Dit is de goedkeapste earlike test, want hy rieplachtet deselde regels dy't jo ferkear brûke sil.
Foar WireGuard, foegje de hânslach ta. wg show printsje in tiidstimpel fan 'e lêste hânslach per peare, en in tiidstimpel dy't opholden is foarút te gean betsjut dat de peare fuort is, wat de ynterface-flaggen ek sizze. In konfigurearre ynterface sûnder resinte hânslach is ien fan 'e meast foarkommende falske positiven yn selstelde monitoaren.
Tabel 220 fertelt it ferhaal fan IPsec
strongSwan ynstallearret rûtes foar ûnderhannelle selekteurs yn tabel 220 as rûte-ynstallaasje ynskeakele is. ip route list table 220 skiedt dêrom ûnderhannele fan rûtearre: in lege tabel neist in laden ferbining betsjut dat de IKE- en CHILD-SA's omheech kamen wylst gjin ferkear yn har rjochte wurdt. Kontrolearje ip xfrm state neist, want it listet de ynstallearre feiligensassosjaasjes en har einpunten.
In trapbelied is it gefal om foar op te letten. It wachtet op nijsgjirrich ferkear ynstee fan it te rûtearjen, sadat de tabel leech bliuwt oant der iets de tunnel aktivearret.
Beheardersteat en daemonsteat binne ferskillende listen
NetworkManager listet allinnich de ferbinings dy't hy besit. nmcli -t -f NAME,TYPE connection show --active jout neat werom foar in tunnel dy't streekrjocht troch wg-quick of troch in OpenVPN-daemon begûn is.
Dat ûnderskie is wichtich as in skript beslute moat hokker fan 'e twa behearders te freegjen. Kies dejinge dy't de tunnel wier op dizze host besit en negearje de stilte fan 'e oare. As beide bestean, beslute wa't gesachfierend is en skeakelje de twadde út, want twa behearders dy't rûtes op ien ynterface oerskriuwe produsearje flaters dy't nimmen reprodusearje kin. In ûnbekend item is ynformaasje oer de behearder, net oer de tunnel.
Meitsje de folgjende stap ôfhinklik fan 'e test dy't it nedich hat
It polljen fan in UDP-port bewiest neat oer klearheid, want UDP hat gjin hânslach en nc -u slagget sa gau as it pakket fuort giet. Test wat de folgjende stap wier ferbrûkt: in TCP-ferbining nei de trochstjoerde port, in fersyk oan in host yn 'e tunnel, in namme dy't allinnich dêr oplost wurdt. Begrinzje it wachtsjen mei in tiidlimyt en in oantal besykjen, en falle lûd as it op is.
Heakken ferslaan polling as de klant se biedt. --up en --down skripten fan OpenVPN rinne neidat de ynterface fan steat feroare is, wat de race folslein fuorthellet, mar se rinne mei de privileezjes dy't de daemon hold. As OpenVPN fia user en group nei in account sûnder privileezjes sakke is, rint de heak as dat account. It opnij starten fan in systeemtsjinst freget dan sudo om krekt dat kommando te tastean. Jow it opnij besykjen oan 'e tsjinstbehearder ynstee fan in cron-loop: in begrinzge restartbelied mei in startlimyt lit in brutsen tunnel sjen, wylst in ûnbegrinzge loop him ûnendich ferstoppet.