Prehod gosti svojo lastno skrbniško stran: notranji ali javni naslov
Storitev na samem prehodu VPN potrebuje notranji vhod, do katerega seže tunel. Objavite jo zasebno in nato potrdite, da javni poslušalec ni več odprt.
Skrbniška stran odgovarja s telefona na mobilnih podatkih in poteče s prenosnika, priključenega na VPN. Na tunelu ni nič pokvarjeno, ker zahteva nikoli ne vstopi vanj. Ime gostitelja se razreši v javni naslov prehoda, ta naslov pa je dosegljiv le od zunaj tunela, ki ga zaključuje. Popravek pomeni dati storitvi zaseben vhod, ne premakniti zunanje končne točke.
Stran se naloži od zunaj in ne skozi tunel
Primerjani sta dve različni zahtevi. Z mobilnih podatkov brskalnik doseže javni naslov neposredno. Znotraj tunela se isto ime razreši v isti javni naslov, paket pa mora zdaj izstopiti skozi tunel, da doseže naslov na lastni oddaljeni strani tunela. Isto ime, isti naslov, dva zelo različna položaja.
Pot do cilja izbere naslov, ne vrat. Nič v usmerjevalni tabeli ne ve, da so vrata 443 za skrbništvo in vrata 1194 prevoz, zato se oboja obravnavajo kot isti cilj.
Zato stran včasih deluje in včasih ne, odvisno od tega, katero ime in katero omrežje je uporabil odjemalec. To je težava poti in ne težava preverjanja pristnosti. Oba odjemalca se odlično preverita.
Ohranite zunanjo končno točko dosegljivo
Profili polnega tunela potrebujejo izjemno pot za končno točko VPN, možnost redirect-gateway v OpenVPN pa dokumentira natanko to: oddaljena končna točka ohrani pot skozi prej obstoječi prehod, da tunel ne usmerja vase. Odstranite to izjemo in šifriran prevoz sledi tunelu, kar sejo konča v zanki. Prav zaradi te izjeme naslov končne točke ostane dosegljiv znotraj tunela.
Posledica je, da javni naslov ostane dosegljiv z odjemalca, zato lahko zahteva brskalnika na ta naslov sledi isti izjemi in odide, ne da bi vstopila v tunel. Izjema opravlja svoje delo, škodo pa dela ime.
Preden karkoli spremenite, berite odločitev poti, ne seznama vmesnikov. Ukazi spodaj natisnejo odločitev, ne popisa. Zaženite jih z odjemalca, ki ni uspel.
ip -4 route get 203.0.113.77
ip -4 rule show
ip -4 route show table allČe iskanje pokaže pot končne točke skozi fizični prehod, je vedenje pravilno in skrbniška stran se preprosto pošilja po napačni poti. Tam razreševanje imen postane popravek.
Dajte storitvi zasebno ime
Storitev potrebuje ime, ki se znotraj tunela razreši v naslov prehoda, hkrati pa ohrani pomen potrdila in imena gostitelja, ki ga pričakuje aplikacija. Zaseben zapis območja za skrbniško ime je običajen odgovor, in pusti ime prevoza nedotaknjeno.
Imena prevoza ne preusmerite na notranji naslov, ker bi se naslednja vzpostavitev tunela poskušala doseči naslov, ki obstaja le znotraj tunela. Ta napaka da VPN, ki deluje natanko enkrat.
Preverite tudi obe družini naslovov, ker lahko zapuščeni zapis AAAA pošlje brskalnik tja, kamor zasebni načrt ni segel.
dig +short admin.hq.internal
dig +short -t AAAA admin.hq.internal
curl -sS -o /dev/null -w '%{http_code} %{remote_ip}\n' https://admin.hq.internal/Uskladite politiko s krajem, kjer proces teče
Do izvornega procesa, ki posluša na prehodu, pridete po poti lokalnega vhoda, zato vhodna veriga in vezava vtičnice odločita, ali je zahteva sprejeta. Pravila posredovanja in posredovanje IP ne prisilijo lokalnega poslušalca k odgovoru. Dovolite vire tunela v vhodni politiki in potrdite, da je proces vezan na naslov, ki ga tunel lahko doseže.
Vsebnik, objavljen na vratih gostitelja, sledi drugi poti, ker se paket prevede po cilju in posreduje. Ta zahteva naleti na politiko posredovanja gostitelja in lastna pravila Dockerja, zato lahko delujoč izvorni poslušalec sobiva z vsebnikom, ki zavrača ista vrata.
Vrstni red zagona je pomemben v obeh primerih, ker vezava na naslov, ki se pojavi šele po dvigu tunela, pri zagonu tiho odpove.
Preverite zasebni dostop in zavrnjeno javno pot
Naredite novo imenovano zahtevo z pooblaščenega odjemalca, pri čemer lastna preverjanja identitete aplikacije ostanejo nedotaknjena. Nato poskusite isto storitev od zunaj tunela in potrdite, da ne odgovarja. Zasebno ime je udobje in ne omejitev, poslušalec, ki je še vedno vezan na javni naslov, pa je še vedno izpostavljen. Prav ta zadnji pregled večina ocen izpusti.
Berite vezave in stanje filtra, ne imena gostitelja, ki so ga prejeli uporabniki. Izpostavljenost je lastnost vtičnice in ne imena. Ta razlika preživi vsako spremembo DNS.
ss -lntp | grep ':443'
nft list ruleset | grep -n 443
curl -sS -m 5 -o /dev/null -w '%{http_code}\n' https://203.0.113.77/Ko notranja zahteva vrne stran in zunanja zahteva poteče, ima storitev eno namerno zasebno pot in prevoz ostane dosegljiv. Ko zunanja zahteva še vedno odgovarja, je treba poslušalca ali objavljeni vnos vsebnika zožiti, preden kdo storitev opiše kot samo notranjo.