Rruga VPN apo rregulli i murit të zjarrit: cili po e hedh paketën?
Rruga zgjedh një shteg dhe filtri vendos lejen. Kontrolloni të dyja për të njëjtin burim, destinacion dhe drejtim përpara se të zgjeroni një rregull muri zjarri.
Dy vendime të pavarura ndodhin për të njëjtën paketë, dhe secili prej tyre mund ta përfundojë kërkesën në heshtje. Kërkimi i rrugës zgjedh një ndërfaqe dhe një hap tjetër, pastaj filtri i paketave vendos nëse ai kombinim lejohet. Një afat i skaduar ju thotë se njëri nga të dy refuzoi, jo cili. Kaloni fazat me radhë dhe riparimi zakonisht pushon së qeni hamendje.
Dy vendime, një paketë, dy pronarë
Kërkimi i rrugës konsulton fillimisht rregullat e politikës, pastaj tabelën ku ato drejtojnë, dhe zgjedh prefiksin më specifik që përputhet me destinacionin. Një klient që ka instaluar një rrugë tuneli zotëron atë vendim, dhe asgjë në një rregull muri zjarri nuk mund ta zëvendësojë atë. Kur kërkimi tregon një vend të papritur, çdo fazë pasuese punon me paketën e gabuar.
Filtrimi është i veçantë. Në një host Linux, grepat e netfilter i ndajnë trafikun sipas kujt i drejtohet paketa: dalja largohet nga makina, hyrja përfundon mbi të, përcjellja kalon përmes saj. Një portë që pranon klientë VPN dhe i drejton ata në një LAN ka nevojë për shtegun e përcjelljes, dhe pikërisht ajo është zinxhiri që shumica e konfigurimeve parazgjedhur e lënë bosh.
Zgjedhja e burimit i takon të njëjtit vendim, dhe aty fshihen shumica e mospërputhjeve. Kerneli zgjedh një adresë burimi nga ndërfaqja dalëse nëse rruga nuk tregon një, prandaj një rregull filtri i shkruar për nënrrjetin LAN nuk përputhet kurrë me një paketë që del me adresën e tunelit.
Lexoni çfarë zgjodhi në të vërtetë kërkimi
Shtypni vendimin në vend që ta nxirrni. Komanda më poshtë zgjidh rrugën që kerneli do të përdorte për atë destinacion, duke përfshirë ndërfaqen dhe burimin që do të zgjidhte:
ip route get 10.8.0.5 ip route get 10.8.0.5 from 192.0.2.44 ip rule show ip route show table all | sed -n '1,40p'
Klientët VPN shpesh instalojnë rregulla politike në prioritete nën tabelën kryesore, kështu që një tabelë kryesore e pastër nuk provon asgjë më vete. Krahasoni prioritetet e rregullave me tabelat që ato zgjedhin, dhe kontrolloni nëse rruga e tunelit i mbijeton një rilidhjeje në vend që të shtohet me dorë një herë.
IPsec i bazuar në politikë shton një fazë të tretë përputhjeje që rrugëtimi nuk e mbulon, siç përshkruajnë shënimet e përcjelljes të strongSwan për konfigurimet e tunelit dhe transportit. Politika e sigurisë e zgjedh trafikun sipas prefiksit dhe protokollit, ndërsa rruga vendos vetëm ku do të shkonte një paketë e pambrojtur. Një nënrrjet që rrugëtohet por nuk ka përzgjedhës përputhës ose mbetet i pambrojtur ose hidhet, në varësi të konfigurimit, dhe asnjëri prej rezultateve nuk duket si problem i murit të zjarrit. Shtypni politikën dhe krahasoni përzgjedhësit e saj me prefikset që prisnit të mbante tuneli.
Filtrimi zbatohet në një grep, jo në një rrugë
Një rregull që lejon dëgjuesin VPN është një rregull për trafikun e drejtuar te vetë porta. Ai nuk thotë asgjë për klientët që arrijnë hostet pas asaj porte, sepse trafiku i përcjellë kalon nëpër një zinxhir tjetër. Leximi i grupit të rregullave si një listë e vetme e sheshtë është arsyeja e zakonshme pse një rregull që duket i saktë nuk aktivizohet kurrë.
Numëruesit e zgjidhin shpejt pyetjen. Një rregull me numërim zero paketash nuk u arrit kurrë, gjë që tregon zinxhirin e gabuar, ndërfaqen e gabuar ose një hedhje të mëparshme. Një rregull me numërim në rritje nën një politikë hedhjeje është kufiri që po kërkonit, dhe paketa po hidhet në vend që të rrugëtohet gabimisht.
Dërgoni një sondë nëpër shtegun që përdor klienti
Testet e ekzekutuara në vetë portën kalojnë përmes daljes dhe hyrjes, me adresën e burimit të vetë portës. Ky është një shteg tjetër nga kërkesa e përcjellë e një klienti, prandaj një curl lokal i suksesshëm provon më pak nga sa duket. Testoni nga makina që dështon, ose lidhni në mënyrë të qartë ndërfaqen dhe burimin.
nc -vz -w 3 10.8.0.5 443 ping -c 3 -W 1 10.8.0.5 tcpdump -ni any host 10.8.0.5 and port 443 iptables -vnL FORWARD --line-numbers nft list ruleset | sed -n '1,60p'
Kapja në të dy skajet i ndan rastet e mbetura. Një SYN që largohet nga klienti dhe nuk arrin kurrë do të thotë rrugëtim, kriptim ose një listë aksesi në rrjedhën e sipërme. Një SYN që arrin dhe nuk merr përgjigje do të thotë shërbimi ose filtri i hostit të tij, dhe tuneli nuk ishte kurrë problemi.
Trafiku i kthimit meriton një vështrim më vete. Rrugëtimi asimetrik plus filtrimi i shtegut të kundërt hedhin përgjigjet që arrijnë në ndërfaqen e gabuar, gjë që shfaqet si lidhje njëdrejtimëshe në vend të një porte të bllokuar. Kontrolloni vlerën sysctl përpara se të fajësoni murin e zjarrit për një simptomë që ai nuk e shkaktoi.
Regjistrimi funksionon si mendim i dytë, jo si hap i parë. Një deklaratë e përkohshme regjistri në zinxhirin e përcjelljes emërton ndërfaqen dhe adresat që e goditën, dhe është e lehtë të hiqet më pas. Lëreni përgjithmonë dhe keni ndërtuar një problem vëllimi regjistrash në vend të një përgjigjeje.
Vendosni çdo ndryshim aty ku i mbijeton një rilidhjeje
Një rrugë e shtuar me ip route add jeton derisa ndërfaqja të bjerë. Ruajeni në profilin e lidhjes: NetworkManager pranon rrugë shtesë në lidhje, dhe netplan i mban ato mes nisjeve. I njëjti rregull vlen për një përjashtim të murit të zjarrit nga ana e klientit, i cili zhduket pas rimbushjes së ardhshme.
Rregullat nga ana e serverit i përkasin skedarit të konfigurimit që shërbimi ngarkon në nisje, jo një sesioni interaktiv që përfundon kur e mbyllni. Shkruani rregullin, rimbushni dhe konfirmoni që numëruesi lëvizi, sepse një rimbushje që refuzoi sintaksën lë në heshtje grupin e vjetër të rregullave në vend.
Pastaj përsëritni kërkesën origjinale të aplikacionit nga fillimi në fund dhe shënoni cila shtresë ndryshoi. Një rregullim rruge që kishte nevojë edhe për një ndryshim filtri do të dështojë gjithsesi, dhe dështimi i dytë lexohet shumë më lehtë pasi e dini se i pari iku. Shënoni datën dhe versionin e klientit pranë rezultatit, sepse parazgjedhjet e rrugëtimit dhe filtrimit lëvizin të dyja mes versioneve. Mbani atë shënim në biletë që personi tjetër të fillojë aty ku ju ndaluat në vend që të përsëritë ecjen dyfazore.