Klientsky log ukazuje odoslaný DNS server, tunel je pripojený a interný názov sa napriek tomu nevyrieši. Na samotnom odoslaní nie je nič pokazené. Voľba dorazila, ale resolver operačného systému ju nikdy nepoužil, pretože OpenVPN u väčšiny unixových klientov hodnotu odovzdá a aplikáciu nechá na platforme.

Príznak: log ukazuje DNS a názvy stále zlyhávajú

OpenVPN dhcp-option prenáša informácie o DNS a doméne a klient si zaznamená, čo dostal. V niektorých implementáciách klient tieto nastavenia použije interne, v iných ich exportuje pre integračný skript alebo sieťovú službu. Riadok v logu opisuje len prvú polovicu príbehu. Druhá polovica sa odohráva tam, kde klient nič neovláda. Práve tam zvyčajne sídli zlyhanie.

Preto sa pripojený tunel a nefunkčný interný názov tak často vyskytujú spolu. Hodnota je k dispozícii, konzument chýba alebo je zle nastavený a resolver potichu ďalej používa verejný server, ktorý používal pred pripojením.

Prijaté neznamená použité

Klient môže zalogovať odoslanú hodnotu DNS, zatiaľ čo systémový resolver patrí inej službe. Prehliadač môže mať aj vlastnú politiku šifrovaného DNS, ktorá systémový resolver úplne obchádza, čo vytvára ten pamätihodný stav, keď jedna aplikácia interné názvy preloží a iná nie.

Preverte podporovanú integráciu danej implementácie, namiesto toho aby ste predpokladali, že každý unixový klient prepisuje ten istý súbor. Práve tento predpoklad je dôvod, prečo ľudia upravujú konfiguráciu resolvera, ktorú nič nečíta.

Nájdite vlastníka resolvera podľa platformy

Vo Windows môže tabuľka zásad prekladu názvov smerovať určité prípony na určité servery a klient VPN tam môže inštalovať pravidlá. Skontrolujte zásadu, nielen zoznam DNS adaptéra. V Linuxe môže konfiguráciu vlastniť NetworkManager alebo systemd-resolved a to, ktorý z nich ju vlastní, určuje, čo opätovné pripojenie zachová.

Prečítajte si skutočný stav nástrojom, ktorý naozaj odpovedá na dopyty: resolvectl query internal.example.net na hostiteľovi so systemd-resolved, alebo ekvivalentom platformy. Potom tento výsledok porovnajte s DNS serverom, ktorý klientsky log tvrdí, že odoslal.

Nespúšťajte niekoľko služieb, ktoré bez koordinácie prepisujú nastavenia resolvera. Dvaja vlastníci vytvárajú výsledok, ktorý vyzerá prerušovane, a každé opätovné pripojenie to podľa všetkého náhodne opraví alebo pokazí.

Skripty a foreign_option

OpenVPN exportuje odoslané voľby do skriptov cez premenné nazvané foreign_option_N a skript ich môže preložiť na príkazy resolvera. Toto usporiadanie je podporovaná integrácia, nie automatické správanie, a musí sa na klientovi nainštalovať a vyvolať.

Ak sa spoliehate na skript, logujte jeho spustenie a návratový stav. Skript, ktorý beží, ale ticho zlyhá, zanecháva rovnaký príznak ako žiadny skript a je ťažšie si ho všimnúť, pretože konfigurácia vyzerá kompletne. Kontrolujte výstup skriptu, nie súbor skriptu. Existujúci súbor nie je skript, ktorý bežal.

Testujte názov, nie log

Po pripojení sa z klienta opýtajte na hostiteľský názov dostupný len interne, potom na verejný názov a potom zistite, ktorý server odpovedal. Vo funkčnom nastavení pochádzajú obe odpovede z rôznych miest a obe by mali zodpovedať návrhu.

Ak sa názov preloží, ale služba zlyhá, prejdite k smerovaniu a prístupu aplikácií namiesto ďalšej zmeny DNS. Príručka OpenVPN dokumentuje dhcp-option a skriptové prostredie; použite ju na overenie, čo má váš klient používať, skôr než upravíte ďalší súbor resolvera.

Súvisiace články