Razbija li VPN klijent na vašem web serveru njegove odgovore?
Pravilo rutiranja zasnovano na izvoru može obnoviti jednu objavljenu stranicu, a istovremeno izuzeti saobraćaj koji niste namjeravali. Pročitajte selektor prije nego što proširite izuzetak.
Stranica se učitava s laptopa na istoj mreži, a sa svih drugih mjesta dolazi do isteka vremena, a host također pokreće VPN klijent za vlastiti odlazni saobraćaj. Ta kombinacija proizvodi specifičan kvar: dolazna veza stiže, odgovor izlazi pogrešnim putem, a klijent napolju nikada ne vidi odgovor. Obje polovine se vide u istom snimku paketa, pa je redoslijed događaja dio koji vrijedi pročitati.
Pravilo rutiranja zasnovano na izvoru često otklanja simptom. Ono obično izuzima i više saobraćaja od stranice koja ga je pokrenula, a to je dio koji vrijedi razumjeti prije nego što sačuvate pravilo.
Simptom: odgovara lokalno, ali ne spolja
Unutar mreže odgovor ne mora preći tunel, pa se stranica učitava i usluga izgleda zdravo. Spolja zahtjev stiže do hosta, a odgovor se rutira u VPN, gdje udaljeni kraj nema razloga da ga prihvati. Preglednik vidi istek vremena umjesto odbijanja, što je znak jednosmjernog puta, a ne zatvorenog porta.
Potvrdite oblik prije nego što promijenite rutiranje: slušalac radi, lokalni zahtjev uspijeva, a vanjski zahtjev ne daje nikakav odgovor. Ta tri zapažanja zajedno upućuju na povratni put, a ne na konfiguraciju web servera. Tako čista asimetrija korisnija je od bilo kojeg retka u dnevniku, jer isključuje slušalac prije nego što pročitate ijednu poruku o grešci.
Držite otvoren nezavisni administrativni put dok radite. Pravilo koje slomi vašu vlastitu SSH sesiju pretvara popravku od deset minuta u fizičku posjetu.
Šta selektor izvora zapravo podudara
U Linux političkom rutiranju, pravilo poput from 192.168.50.2 podudara pakete čiji je izvor ta adresa. Ono ne kodira činjenicu da paket nastavlja razgovor koji je ušao kroz kućni ruter i ne zna koji ga je proces stvorio. Adresa u tom primjeru je ilustrativna; zamijenite je adresom koju vaš host zaista koristi. Tretirajte red kao tvrdnju o adresama i ništa više.
Ako odabrana tabela daje običnu zadanu rutu, svaki paket s tim izvorom može uzeti isti izuzetak. Druga usluga vezana za istu adresu nasljeđuje ga, a aplikacija koja se namjerno veže za tu adresu također ga nasljeđuje. Referenca za pravila politike navodi izvor, odredište, protokol, port, oznaku i prioritet kao odvojene selektore, što je podsjetnik da je sam izvor najgrublji dostupni.
Prioritet odlučuje ishod. Pretrage idu po redu i prva tabela koja da rezultat može završiti pretragu, pa pravilo smješteno prerano može sakriti specifičniju rutu koju bi dala kasnija tabela. Pročitajte cijelu uređenu listu, a ne jedan red koji ste dodali. Pravilo koje se nikada ne podudara ne košta ništa, dok ono koje se podudara prerano tiho mijenja sve iza sebe.
Provjerite povratni put i saobraćaj koji niste namjeravali
Pročitajte pravila i tabele, pa pitajte kernel koji bi put zauzeo određeni par izvora i odredišta. Testiranje s hosta nije isto kao testiranje spolja, zato uradite oboje.
ip rule show
ip route show table 100
ip route get 203.0.113.44 from 192.168.50.2
ss -ltnp '( sport = :443 )'
Zatim prihvatite novu vanjsku vezu i, odvojeno, zahtjev koji još mora izaći kroz VPN. Ako drugi sada izlazi direktno, izuzetak je širi od problema koji ste rješavali, a test koji je važan je onaj koji niste namjeravali promijeniti.
Provjera javne adrese u pregledniku izvještava samo o zahtjevima koje je taj preglednik napravio. Ona ne govori ništa o odgovorima web servera, o odabiru izvora druge lokalne aplikacije ili o tome šta se dešava s upravljačkim saobraćajem nakon sljedećeg ponovnog povezivanja VPN-a.
Odredite koliko uzak izuzetak može biti
Dva dizajna su odbranjiva i treba ih birati namjerno. Ako host postoji da objavi ovu uslugu, a njegov odlazni saobraćaj nije važan, namjenska lokalna adresa s politikom samo za WAN razuman je aranžman pod uslovom da prihvatite cijeli obim. Ako bi se kvalifikovale samo određene dolazne veze, odabir adrese je pregrub i ispred njega pripada dizajn svjestan veza.
Zabilježite ugovor na koji se oslanjate: javno mapiranje, adresu hosta na koju se zahtjev dostavlja i put kojim odgovor treba ići. Dolazna usluga objavljena kroz VPN provajdera drugi je ugovor od one objavljene kroz kućni ruter, a izuzetak kopiran iz jednog primjera često je pogrešan za drugi.
Čuvajte politiku u komponenti koja posjeduje rutiranje umjesto da zalijepite naredbu u startup datoteku. Redoslijed pravila, čišćenje nakon promjene mreže i ponovna primjena nakon ponovnog pokretanja moraju preživjeti, a netestirana startup datoteka obično zakaže u trenutku kada ne gledate. Završite rezultatom prihvatanja koji možete odbraniti: jedna objavljena stranica obnovljena i jedan nepovezani tok nepromijenjen.