Brána hostuje vlastnú administrátorskú stránku: vnútorná alebo verejná adresa
Služba na samotnej VPN bráne potrebuje vnútorný vstup, na ktorý sa tunel dostane. Zverejnite ju súkromne a potom potvrďte, že verejný poslucháč už nie je otvorený.
Administrátorská stránka odpovedá z telefónu na mobilných dátach a z notebooku pripojeného k VPN vyprší. Na tuneli nie je nič pokazené, pretože požiadavka doň nikdy nevstúpi. Názov hostiteľa sa prekladá na verejnú adresu brány a táto adresa je dostupná len zvonku tunela, ktorý ju ukončuje. Oprava znamená dať službe súkromný vstup, namiesto posúvania vonkajšieho koncového bodu.
Stránka sa načítava zvonku, nie tunelom
Porovnávajú sa dve rôzne požiadavky. Z mobilných dát sa prehliadač dostane priamo na verejnú adresu. Zvnútra tunela sa rovnaký názov prekladá na rovnakú verejnú adresu a paket teraz musí vyjsť tunelom, aby dosiahol adresu na vlastnej vzdialenej strane tunela. Rovnaký názov, rovnaká adresa, dve veľmi odlišné pozície.
Trasa cieľa vyberá adresu, nie port. Nič v routovacej tabuľke nevie, že port 443 je pre správu a port 1194 je transport, takže sa oba berú ako rovnaký cieľ.
Preto stránka niekedy funguje a niekedy nie, podľa toho, aký názov a akú sieť klient použil. Je to problém cesty, nie problém autentizácie. Obaja klienti sa autentizujú úplne dobre.
Udržte vonkajší koncový bod dostupný
Profily plného tunela potrebujú výnimkovú trasu pre koncový bod VPN a voľba redirect-gateway v OpenVPN dokumentuje presne to: vzdialený koncový bod si drží trasu cez predtým existujúcu bránu, aby tunel neroutoval do seba. Odstráňte túto výnimku a šifrovaný transport nasleduje tunel, čo ukončí reláciu v slučke. Práve pre túto výnimku zostáva adresa koncového bodu dostupná zvnútra tunela.
Dôsledkom je, že verejná adresa zostáva dostupná z klienta, a preto požiadavka prehliadača na túto adresu môže nasledovať rovnakú výnimku a odísť bez vstupu do tunela. Výnimka robí svoju prácu a škodu spôsobuje názov.
Pred akoukoľvek zmenou čítajte rozhodnutie trasy, nie zoznam rozhraní. Príkazy nižšie tlačia rozhodnutie, nie inventár. Spustite ich z klienta, ktorý zlyhal.
ip -4 route get 203.0.113.77
ip -4 rule show
ip -4 route show table allAk vyhľadanie ukáže trasu koncového bodu cez fyzickú bránu, správanie je správne a administrátorská stránka sa jednoducho posiela nesprávnou cestou. To je bod, kde sa preklad názvov stáva opravou.
Dajte službe súkromný názov
Služba potrebuje názov, ktorý sa vnútri tunela prekladá na adresu brány, a zároveň zachováva sémantiku certifikátu a názvu hostiteľa, ktorú aplikácia očakáva. Súkromný záznam zóny pre administrátorský názov je obvyklá odpoveď a ponecháva transportný názov nedotknutý.
Nepresmerúvajte transportný názov na vnútornú adresu, pretože nasledujúce nadviazanie tunela by sa potom pokúsilo dosiahnuť adresu, ktorá existuje len vnútri tunela. Táto chyba dáva VPN, ktorá funguje presne raz.
Skontrolujte aj obe rodiny adries, pretože ponechaný záznam AAAA môže prehliadač poslať niekam, kam súkromný plán nikdy nesahal.
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/Prispôsobte politiku miestu, kde proces beží
K natívnemu procesu počúvajúcemu na bráne sa dostanete cestou lokálneho vstupu, takže o prijatí požiadavky rozhoduje vstupný reťazec a naviazanie soketu. Pravidlá preposielania a IP preposielanie neprinútia lokálneho poslucháča odpovedať. Povoľte zdroje tunela vo vstupnej politike a potvrďte, že proces je naviazaný na adresu, na ktorú sa tunel dostane.
Kontajner publikovaný na porte hostiteľa sleduje inú cestu, pretože paket sa prekladá podľa cieľa a preposiela. Táto požiadavka narazí na politiku preposielania hostiteľa a vlastné pravidlá Dockeru, a preto môže funkčný natívny poslucháč existovať vedľa kontajnera, ktorý odmieta rovnaký port.
Poradie spúšťania je dôležité v oboch prípadoch, pretože naviazanie na adresu, ktorá sa objaví až po zdvihnutí tunela, pri štarte ticho zlyhá.
Skontrolujte súkromný prístup a odmietnutú verejnú cestu
Vytvorte novú pomenovanú požiadavku z autorizovaného klienta so zachovanými kontrolami identity aplikácie. Potom skúste rovnakú službu zvonku tunela a potvrďte, že neodpovedá. Súkromný názov je pohodlie, nie obmedzenie, a poslucháč stále naviazaný na verejnú adresu je stále vystavený. Práve túto poslednú kontrolu väčšina recenzií vynechá.
Čítajte naviazania a stav filtra, nie názov hostiteľa, ktorý používatelia dostali. Expozícia je vlastnosť soketu, nie názvu. Tento rozdiel prežije každú zmenu 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/Keď vnútorná požiadavka vráti stránku a vonkajšia požiadavka vyprší, služba má jednu zámernú súkromnú cestu a transport zostáva dostupný. Keď vonkajšia požiadavka stále odpovedá, poslucháča alebo publikovaný záznam kontajnera treba zúžiť, kým niekto službu opíše ako iba vnútornú.