OpenVPN thotë i lidhur dhe asnjë trafik nuk lëviz, një fjali që mbulon të paktën pesë defekte të palidhura. Redaktimi i rregullave të firewall-it para se të dini cila shtresë dështon shumëfishon të panjohurat dhe i lë inxhinierit të ardhshëm një rrëmujë. Punoni në vend të kësaj nga procesi drejt jashtë, sepse çdo hap më poshtë ose pastron një fazë ose ngushton vendin ku vdes paketa. Rendi ka rëndësi këtu: një kapje e marrë para se të dini cila adresë është e lidhur do të provojë diçka, thjesht jo atë që ju nevojitet.

Soketi është ose i lidhur ose nuk është

Një shërbim që raporton aktiv mund të jetë ende i lidhur me një adresë ose transport që nuk e keni synuar kurrë. Pyetni vetë soketin: ss -lunp liston dëgjuesit UDP dhe ss -ltnp liston TCP, dhe kolona që ia vlen të lexohet është adresa lokale, jo gjendja.

Një përgjigje bosh zakonisht nënkupton një nga tre gjërat: procesi doli pas nisjes, ngarkoi një skedar tjetër konfigurimi, ose dëgjon në një adresë të ndryshme nga ajo që thirret.

ss -lunp | grep 1194
ss -ltnp | grep 1194

Një direktivë local e fikson dëgjuesin në një adresë të vetme, kështu që një klient i drejtuar diku tjetër në të njëjtin host refuzohet ndërsa shërbimi nga jashtë vazhdon të duket i shëndoshë. Një emër instance gjithashtu mund të tregojë nga një skedar që nuk e keni redaktuar kurrë, gjë që ndodh në hostet që ekzekutojnë dy profile krah për krah.

Kapni paketën e jashtme, jo tunelin

Filtroni në ndërfaqen fizike dhe portën reale, me ndërfaqen tuaj të zëvendësuar: tcpdump -ni eth0 udp port 1194. Paketat dalëse pa asgjë që kthehet tregojnë atë që qëndron sipër: filtrimi i ofruesit, një pajisje NAT ose një adresë e largët që nuk është ajo që mendoni. Heshtja në të dy drejtimet tregon rrugëtimin e klientit ose një firewall lokal. Përgjigjet që mbërrijnë pa përparim të tunelit tregojnë kanalin e kontrollit, domethënë një mospërputhje çelësi ose shifrimi, jo filtrimin.

Kapni të dy drejtimet dhe mbani skedarin të shkurtër. Një kapje e gjatë varros tre sekondat interesante, dhe përgjigja pothuajse gjithmonë ndodhet në shkëmbimin e parë.

Së pari numëruesit, gjurmimi vetëm kur gënjejnë

Filloni me numëruesit, sepse nuk kushtojnë asgjë. Ose nft list ruleset ose iptables -L -n -v përgjigjet pyetjes së vetme që ka rëndësi këtu: a u përputh rregulli? Rendi vendos rezultatin, sepse përputhja e parë fiton, prandaj një DROP i gjerë para një ACCEPT të mëvonshëm e lë atë ACCEPT të vdekur dhe prandaj shtimi i një rregulli shumë rrallë rregullon diçka.

Pronësia gjithashtu i pengon njerëzit. Kerneli ua atribuon paketat e gjeneruara lokalisht procesit që hapi soketin, dhe OpenVPN zakonisht punon si root, kështu që një rregull i lidhur me një ID përdoruesi të zakonshëm nuk e sheh kurrë trafikun e vetë tunelit. Kontrolloni UID-në e pronarit para se të vendosni që rregulli është i gabuar.

Vetëm kur numëruesit mbeten të paqartë një log ia vlen zhurma, dhe edhe atëherë vetëm për një pjesë të ngushtë: një rregull iptables që kufizon shpejtësinë dhe u vendos prefiks rreshtave të tij, ose një rregull nftables me meta nftrace set 1 ndërsa nft monitor trace ekzekutohet. Një gjurmë emërton zinxhirin dhe rregullin që e pranoi ose e hodhi paketën. Më pas hiqni të dyja dhe mbani regjistrimin e ngarkesës jashtë.

Kontrolloni edhe transportin. Një shërbim firewall i kufizuar në TCP nuk thotë asgjë për një dëgjues UDP në atë numër, kështu që një rregull i lexuar saktë mund të hedhë ende çdo paketë.

Rrugëtimi dhe rruga e kthimit

Një paketë e pranuar që prapëseprapë zhduket kërkon shqyrtimin e rrugës së destinacionit. ip route get raporton rrugën e zgjedhur për një adresë, dhe filtrimi i rrugës së kundërt mund të hedhë një përgjigje që mbërrin përmes një ndërfaqeje që tabela kryesore nuk do ta zgjidhte kurrë. Simptoma duket saktësisht si hedhje nga firewall-i, prandaj ky kontroll vjen para një rregulli tjetër NAT.

Në një gateway, shqyrtoni përcjelljen dhe zinxhirin forward në vend të zinxhirit input. Më pas konfirmoni që ana e largët di si ta arrijë adresën burimore, sepse një rrugë dalëse që funksionon pa asgjë që kthehet është heshtje në të dy rastet.

Çfarë duhet të thotë shënimi

Për çdo ndryshim, shënoni fazën që testuat, provën që lexuat dhe vlerën e numëruesit në të dyja anët e saj. Ai shënim është ai që e bën "tani funksionon" të mbijetojë në rishikimin tjetër.

Dy shkurtore e mbajnë shënimin të sinqertë. Një paketë që nuk e la kurrë hostin nuk mund të jetë hedhur nga një rregull diku tjetër, sado bindëse të duket konfigurimi i anës së largët. Një paketë që doli dhe u kthye e zhvendos pyetjen mbi shtresën e rrjetit, ku numëruesit e firewall-it nuk kanë më asgjë për t'ju thënë.

Artikuj të ngjashëm