Web poslužitelj nestaje kada se VPN klijent poveže
Zahtjevi stižu na LAN, a odgovori izlaze kroz tunel. Odaberite isključenu rutu, politiku rutiranja ili prevođenje prema tome što host mora raditi.
Usluga koja nestane u trenutku kada se VPN klijent poveže obično nije blokirana, nego odgovara kroz pogrešno sučelje. Zahtjev stiže na fizičku mrežnu karticu, demon napiše odgovor, a tablica rutiranja preda taj odgovor tunelu, jer je tunel preuzeo zadanu rutu. Udaljeni klijent nikada ne vidi odgovor na vezu koju je otvorio, pa čeka i zatim prijavi istek vremena. Nijedno pravilo vatrozida nije uključeno nigdje u tom nizu.
Simptom: zahtjevi ulaze, odgovori izlaze na pogrešna vrata
Znak je dolazna veza koja ne uspije dok sve ostalo na hostu radi. Drugi znak je host dostupan s LAN-a ali ne s interneta, ili onaj koji radi dok se tunel ponovno ne poveže i tada stane. U svakom slučaju smjer naprijed je radio, a povratni nije, što upućuje na asimetriju rutiranja, a ne na politiku.
Potvrdite to gledajući kamo odgovor ide, a ne gledajući kako zahtjev stiže.
Snimajte istovremeno na fizičkom sučelju i na uređaju tunela. Ako se zahtjev pojavi na fizičkom sučelju, a odgovor na tunelu, dijagnoza je završena. Odgovor koji se nigdje ne pojavi znači da usluga nikada nije prihvatila vezu, što je zasebna istraga sa zasebnim uzrokom.
Dvije zadane rute i jedna odluka o rutiranju
Klijent koji instalira zadanu rutu dodaje drugi unos s boljom metrikom od LAN pristupnika. Neki klijenti umjesto toga instaliraju dvije rute polovine raspona, koje pokrivaju isti prostor preciznije i na isti način pobjeđuju pri pretraživanju. Obje tehnike ostavljaju obične odlazne pakete da biraju sučelje tunela.
Taj izbor donosi se samo prema odredištu. Jezgra ne pita odakle je paket došao, osim ako joj pravilo politike to naredi. Zato se odgovor na javnu adresu klijenta predaje tunelu, čiji udaljeni kraj prima paket s izvornom adresom koju ne posjeduje i odbacuje ga ili prosljeđuje negdje beskorisno. Na Linuxu strogo filtriranje obrnutog puta također može odbaciti izvorni zahtjev prije nego što ga vaša usluga uopće vidi, što izvana izgleda identično. Oba simptoma dolaze iz iste nedostajuće veze između dolaznog toka i njegovog odgovora.
Tunel se cijelo vrijeme ponaša ispravno. Rečeno mu je da nosi zadanu rutu i on čini upravo to.
Popravite povratni put bez razbijanja tunela
Postoje tri trajna oblika popravka, a izbor zavisi od toga koliko vlastitog prometa hosta treba ostati unutar tunela. Isključivanje odredišta ili porta usluge najmanja je promjena. Rutiranje po politici prema izvoru ili oznaci najpreciznije je. Prevođenje izvora najgrublje je i najlakše objasniti dvije godine kasnije.
Birajte prema tome što host mora raditi, a ne prema tome koji ste isječak prvi našli.
Isključivanje odredišta odgovara usluzi sa stabilnom javnom adresom, a vezivanje demona na fizičku adresu umjesto na svaku adresu čini to isključivanje sigurnijim. Pravilo politike koje bira tablicu prema izvoru zadržava vlastite veze hosta unutar tunela dok vraća odgovore usluge kroz WAN pristupnik. Maskiranje odgovora na WAN sučelje dolazi do istog puta po cijeni skrivanja adrese klijenta iz zapisa usluge. Ad-hoc promjena zadane rute je dijagnostika, a ne konfiguracija, jer klijent prepisuje rute pri svakom ponovnom povezivanju.
ip rule show
ip route get 203.0.113.9 from 192.0.2.44Kada host također rutira za LAN iza sebe
Jedan skok dalje, ista asimetrija vraća se s više pokretnih dijelova. Promet stiže do usmjerivača s interneta, prosljeđuje se unutarnjem uređaju, a jedini povratni put tog uređaja je tunel, pa odgovor stiže do izvornog klijenta s vlastite adrese pružatelja. Praćenje veza tada susreće odgovor za tok koji nije vidjelo da počinje, i odbacuje ga. Klijent, u međuvremenu, ne vidi baš ništa.
Dvije promjene to popravljaju: prevođenje odredišta kako bi dolazna veza stigla do unutarnjeg uređaja, i prevođenje izvora kako bi odgovor tog uređaja izgledao kao da dolazi od samog usmjerivača.
Na firmwareu usmjerivača uobičajen izraz je pravilo politike koje prikvači prosljeđivanje porta na WAN stranu dok vlastiti promet usmjerivača ide tunelom. Bez prevođenja izvora taj je odgovor adresiran na vanjskog klijenta i unutarnji uređaj jednostavno nema rutu do njega. Testirajte tri stvari odvojeno, jer ne uspijevaju iz različitih razloga: veza koja dolazi izvana, ona koju host sam pokrene, i pretraga imena.