Svetainė įkeliama iš nešiojamojo kompiuterio tame pačiame tinkle, o iš visur kitur baigiasi skirtuoju laiku, ir prieglobos serveris taip pat paleidžia VPN klientą savo išėjimo srautui. Šis derinys sukuria konkretų gedimą: įeinantis ryšys ateina, atsakymas išeina neteisingu keliu, o klientas lauke niekada nemato atsakymo. Abi pusės matomos tame pačiame paketų įraše, todėl įvykių tvarka yra ta dalis, kurią verta perskaityti.

Šaltiniu pagrįsta maršruto taisyklė dažnai ištaiso simptomą. Ji taip pat paprastai išima daugiau srauto nei svetainė, kuri ją paskatino, ir būtent tai verta suprasti prieš išsaugant taisyklę.

Simptomas: atsako vietoje, o ne iš lauko

Tinklo viduje atsakymui nereikia kirsti tunelio, todėl puslapis įkeliamas ir paslauga atrodo sveika. Iš lauko užklausa pasiekia prieglobos serverį, o atsakymas nukreipiamas į VPN, kur tolimajame gale nėra priežasties jį priimti. Naršyklė mato skirtąjį laiką, o ne atmetimą, ir tai yra vienkryptis kelias, o ne uždarytas prievadas.

Patvirtinkite formą prieš keisdami maršrutus: klausytojas veikia, vietinė užklausa pavyksta, o išorinė užklausa visiškai negrąžina atsakymo. Šie trys pastebėjimai kartu rodo atgalinį kelią, o ne žiniatinklio serverio konfigūraciją. Tokia švari asimetrija naudingesnė už bet kurią žurnalo eilutę, nes ji pašalina klausytoją dar prieš perskaitant vieną klaidos pranešimą.

Dirbdami laikykite atvirą nepriklausomą administravimo kelią. Taisyklė, kuri sugadina jūsų pačių SSH sesiją, dešimties minučių taisymą paverčia fiziniu apsilankymu.

Ką iš tikrųjų atitinka šaltinio selektorius

Linux politikos maršrutizavime taisyklė, tokia kaip from 192.168.50.2, atitinka paketus, kurių šaltinis yra tas adresas. Ji nekoduoja fakto, kad paketas tęsia pokalbį, įėjusį per namų maršrutizatorių, ir nežino, kuris procesas jį sukūrė. To pavyzdžio adresas yra iliustracinis; pakeiskite jį adresu, kurį jūsų prieglobos serveris iš tikrųjų naudoja. Traktuokite eilutę kaip teiginį apie adresus ir nieko daugiau.

Jei pasirinkta lentelė pateikia įprastą numatytąjį maršrutą, kiekvienas paketas su tuo šaltiniu gali taikyti tą pačią išimtį. Kita paslauga, susieta su tuo pačiu adresu, ją paveldi, o programa, kuri sąmoningai susiejama su tuo adresu, taip pat ją paveldi. Politikos taisyklių nuoroda išvardija šaltinį, paskirties vietą, protokolą, prievadą, žymą ir prioritetą kaip atskirus selektorius, o tai primena, kad vien šaltinis yra šiurkščiausias iš galimų.

Prioritetas lemia rezultatą. Paieškos vykdomos iš eilės ir pirmoji lentelė, kuri duoda rezultatą, gali užbaigti paiešką, todėl per anksti įdėta taisyklė gali paslėpti konkretesnį maršrutą, kurį būtų pateikusi vėlesnė lentelė. Skaitykite visą surikiuotą sąrašą, o ne vieną eilutę, kurią pridėjote. Taisyklė, kuri niekada neatitinka, nieko nekainuoja, o ta, kuri atitinka per anksti, tyliai pakeičia viską už savęs.

Patikrinkite atgalinį kelią ir srautą, kurio neketinote

Perskaitykite taisykles ir lenteles, tada paklauskite branduolio, kokį maršrutą pasirinktų konkreti šaltinio ir paskirties pora. Testavimas iš paties prieglobos serverio nėra tas pats, kas testavimas iš lauko, todėl darykite abu.

ip rule show
ip route show table 100
ip route get 203.0.113.44 from 192.168.50.2
ss -ltnp '( sport = :443 )'

Tada priimkite naują išorinį ryšį ir atskirai užklausą, kuri dar turi išeiti per VPN. Jei antroji dabar išeina tiesiogiai, išimtis platesnė už problemą, kurią sprendėte, o svarbus testas yra tas, kurio neketinote keisti.

Viešo adreso patikra naršyklėje praneša tik apie užklausas, kurias atliko ta naršyklė. Ji nieko nesako apie žiniatinklio serverio atsakymus, apie kitos vietinės programos šaltinio pasirinkimą ar apie tai, kas nutinka administravimo srautui po kito VPN prisijungimo iš naujo.

Nuspręskite, kokia siaura gali būti išimtis

Du sprendimai yra apginami ir juos reikia rinktis sąmoningai. Jei prieglobos serveris egzistuoja šiai paslaugai skelbti, o jo išėjimo srautas nesvarbus, skirtasis vietinis adresas su tik WAN politika yra pagrįstas sprendimas, jei priimate visą apimtį. Jei turėtų galioti tik tam tikri įeinantys ryšiai, adreso pasirinkimas per šiurkštus, o prieš jį turi būti sprendimas, atsižvelgiant į ryšius.

Užrašykite sutartį, kuria remiatės: viešą atvaizdavimą, prieglobos serverio adresą, kuriam pristatoma užklausa, ir kelią, kuriuo turėtų eiti atsakymas. Įeinanti paslauga, paskelbta per VPN tiekėją, yra kitokia sutartis nei paskelbta per namų maršrutizatorių, o iš vieno pavyzdžio nukopijuota išimtis dažnai netinka kitam.

Išsaugokite politiką komponente, kuriam priklauso maršrutizavimas, o ne įklijuokite komandą į paleidimo failą. Taisyklių tvarka, valymas po tinklo pakeitimo ir kartojimas po perkrovimo turi išlikti, o neišbandytas paleidimo failas paprastai sugenda tuo momentu, kai nežiūrite. Baigkite priėmimo rezultatu, kurį galite apginti: viena paskelbta svetainė atkurta ir vienas nesusijęs srautas nepakeistas.

Susiję straipsniai