Tre gjëra duhet të përputhen përpara se një tunel Kerio të transportojë trafik: adresa në ndërfaqen kvnet, vlera që regjistroi klienti dhe ajo që pret politika e serverit ose DHCP. Kur nuk përputhen, tuneli gjithsesi vërtetohet dhe gjithsesi ngrihet, dhe pikërisht kjo e bën dështimin konfuz. Ndërfaqja krijohet për çdo lidhje, prandaj një adresë e vendosur me dorë i përket asaj sesioni dhe asgjëje tjetër. Kjo është forma e problemit, dhe zgjidhja është një grep, jo një skedar konfigurimi. Pjesa tjetër është ku të lexohet vlera dhe ku të zbatohet.

Pse adresa kthehet vazhdimisht

kvnet është një përshtatës virtual që klienti e krijon kur nis një lidhje dhe e heq kur ajo mbaron. Prandaj një ip link set manual mbijeton saktësisht sa zgjat sesioni ku u zbatua, dhe lidhja tjetër nis me atë që cakton klienti. Në një makinë ku klienti nuk arrin të zbatojë adresën e pritur, çdo rilidhje sjell përsëri të njëjtën mospërputhje, dhe rregulli i qirasë ose i aksesit e refuzon pajisjen përsëri.

Ky model është vetë diagnostikues. Një tunel që funksionon një sesion dhe dështon në të tjetrin nuk është problem kredencialesh, sepse kredencialet nuk ndryshojnë midis lidhjeve.

Lexojeni vlerën te klienti, jo te ndërfaqja

Klienti i Linux shkruan detajet e negociimit në regjistrin e tij të korrigjimit, dhe adresa që synon të përdorë shfaqet atje si shenja e fundit në formë adrese e sekuencës së lidhjes. Krahasoni atë me atë që kernel-i mban vërtet, e cila është një readlink larg: cat /sys/class/net/kvnet/address.

Nëse të dyja ndryshojnë, klienti e dinte vlerën e saktë dhe nuk arriti ta zbatojë, dhe një grep që e zbaton pasi ndërfaqja ekziston e mbyll këtë hendek. Nëse regjistri nuk përmban fare adresë, problemi është më i hershëm dhe i takon versionit të klientit ose profilit të serverit, jo një skripti.

Zbatojeni pasi ndërfaqja ekziston

Përdoruesit e NetworkManager mund të vendosin një skript në drejtorinë e dërguesit të tij dhe të veprojnë vetëm kur ndërfaqja e VPN ngrihet. Një klient i menaxhuar nga systemd kërkon më shumë kujdes: një drop-in që ekzekutohet në nisjen e shërbimit aktivizohet zakonisht përpara se përshtatësi të ekzistojë, prandaj grepi duhet të presë ndërfaqen në vend që ta supozojë. Vendoseni adresën atëherë, dhe nëse kernel-i refuzon ndërsa lidhja është lart, uleni atë, vendoseni adresën dhe ngrijeni përsëri. Lexojeni shenjën e nxjerrë përsëri përmes një modeli MAC përpara se t'ia kaloni ip link, që një rresht regjistri i papritur të mos bëhet argument.

Çdo gjë që ekzekutohet si root nga regjistri i një klienti meriton pronësi të ngushtë: një skedar në pronësi të root, i pashkruajtshëm nga të tjerët, dhe pa asnjë interpolim shell përtej adresës së vërtetuar. Mbajeni kontrollin e modelit brenda skriptit. Mos lejoni që përmbajtja e regjistrit të vendosë cila komandë ekzekutohet.

Verifikoni qiranë, jo lidhjen

ip -4 -o addr show dev kvnet duhet të tregojë një adresë në intervalin e pritur, ip neigh show dev kvnet duhet të tregojë portën e hyrjes, dhe një shërbim pas VPN duhet të përgjigjet. Pastaj shkëputuni dhe rilidhuni një herë; nëse adresa kthehet, grepi aktivizohet në ngjarjen e gabuar ose nuk aktivizohet fare.

Një ndërfaqe që shfaqet me adresën e saktë dhe nuk merr kurrë qira tregon anën e serverit. Ky është një kontroll tjetër dhe zakonisht një ekip tjetër. Konfirmoni që llogaria është e lejuar dhe që grupi ka ende një adresë përpara se ta modifikoni përsëri grepin.

Rishikoni zgjidhjen e përkohshme pas një përmirësimi

Një ndërtim klienti që e vendos adresën saktë lë grepin tuaj duke zbatuar një vlerë të vjetruar, që është një defekt i ri i sjellë nga një rregullim. Gjithashtu mos kopjoni kurrë një MAC nga një makinë tjetër ose nga një postim forumi; përdorni vlerën që ky klient regjistron për këtë llogari, dhe shënoni datën kur e verifikuat.

Mbajeni skriptin mjaft të shkurtër për t'u lexuar në një sesion të vetëm. Zgjidhjet e përkohshme që analizojnë regjistra janë të përkohshme nga natyra. Ato që mbijetojnë janë ato që një lexues i ardhshëm i kupton pa fillin origjinal.

Artikuj të ngjashëm