Clienten am Tunnel erreechen de Gateway, an de Gateway erreecht den internen Resolver, also sollt DNS funktionéieren. Et funktionéiert net, well dat zwee verschidde Permissioune sinn an en funktionéierende DNS-Service eng drëtt Saach ass. De Lauschterer muss op enger Adress existéieren, déi d'Clienten erreechen, d'Firewall muss Ufroe op déi Adress erlaben, an dem Client muss gesot ginn, datt en et benotzt. Den Tunnel a béid Richtungen opzemaachen léist déi éischt zwee duerch Zoufall an léisst déi drëtt ongemaach.

De Lauschterer ass en lokale Service mat zwou Richtungen

Bannen, e Client schéckt eng Ufro op dem Gateway seng Tunneladress um Port 53. Baussen, den Daemon schéckt déi Ufro un säin ageriichten Upstream weider. Béid Hälften musse funktionéieren, an si fale verschidde Weeër aus.

En Timeout, deen de Client mëttelt, an en Timeout, deen um Gateway ze gesinn ass, sinn net déiselwecht Stéierung.

Bind d'Tunneladress, net all Adress

Eng eegen dnsmasq-Instanz fir dës Aufgabe brauch eng explizit Lauschadress, e Bindmodus, deen d'Ausgesinn vum Tunnel nom Start verdreit, an ee kloeren Upstream. Dëst ass déi klengst Versioun, déi ech benotzen:

listen-address=127.0.0.1,10.90.0.1
bind-dynamic
no-resolv
no-hosts
server=192.168.50.53

bind-dynamic bind d'Eenzeladressen a kritt et hin, wann tun0 méi spéit erschéngt, wat op engem Host zielt, wou den VPN-Service nei start. loopback ze listen hält lokal Instrumenter am Gaang, ouni en ëffentleche Lauschterer dobäizesetzen. no-resolv verhënnert, datt den Daemon Upstreams aus der Resolver-Konfiguratioun vum Host ierft, an no-hosts verhënnert, datt dës Instanz dem Gateway seng hosts-Datei publizéiert. Keng vun dësen Optioune gëtt engem d'Erlaabnes, de Service z'ufroen.

Kuckt op e bestehende Lauschterer um Port 53 ier dir en zweeten Daemon start, a benotzt den Optiounseigentümer vun der Distributioun amplaz vun enger verluere ner Datei am falschen Dossier.

Erlaabt DNS-Agang, net Tunnel-Transit

D'Firewall-Regelem, déi dat funktionéiere loossen, sinn lokal Agangsregelem, déi op den Tunnelinterface, de Client-Pool, d'Gateway-Adress an de Port 53 begrenzt sinn. Zwee Regelem, eng pro Protokoll, duergen:

sudo ufw allow in on tun0 proto udp from 10.90.0.0/24 to 10.90.0.1 port 53
sudo ufw allow in on tun0 proto tcp from 10.90.0.0/24 to 10.90.0.1 port 53

DNS leeft iwwer TCP wéi iwwer UDP, also léisst eng Regel nëmmen fir UDP grouss Äntwerten esou ausfalen, wéi et ënnerbrach ausgesäit. Dëst sinn net ufw route Permissiounen, an si däerfen net eng breet Erlaabnes op tun0 ginn. D'Reiefolleg zielt esouvill wéi den Inhalt: eng éischt Regel, déi all Agang vun tun0 verwërft, gewënnt nach ëmmer, an eng Erlaabnes ënner engem terminale Verworf ze setzen erschaaft näischt.

Wann de Gateway-DNS elo Deel vum Design ass, iwwerpréift déi fréier Politik bewosst a notéiert firwat.

D'Upstream-Halschent ass en eegene Wee

Ufroe verloossen de Gateway vu senger eegener Adress a Richtung Upstream-Resolver, also mussen d'Route vum Gateway an d'Ausgangspolitik vis-à-vis vun deem Resolver den Austausch erlaben. Dat ass eng aner Regel wéi déi, déi Clienten zum Lauschterer léisst, an et fält mat engem anere Symptom aus.

Setzt keng onlimitéiert Tunnel-Ausgang dobäi, fir datt d'Äntwerten funktionéieren; verfollegt Äntwerten brauchen dat net.

Schéckt d'Optioun, a kontrolléiert duerno d'Iwwergab

De Server kann de Resolver de Clienten mat enger geschéckter Optioun annoncéieren. Dat ass eng Optioun, keng Instruktioun, déi den Betriebssystem muss befollegen:

push "dhcp-option DNS 10.90.0.1"

En Linux-Kommandozeile-Client brauch vläicht d'Resolver-Integratioun vu sengem Verbindungsmanager, an en verwaltent Apparat brauch vläicht en aktualiséierte Verwaltungsprofil. Bestätegt den aktive Resolver um Client no der Verbindung, amplaz unzehuelen, datt de Schécken ugewannt gouf. Wa sech zwee Mechanismen gläichzäiteg probéieren DNS ze setzen, kritt Dir eng Course, déi sech als flackerend Opléisung weist.

D'Zil ass een eenzegen Eegentümer fir d'Resolver-Konfiguratioun vum Client, an de Schécken ass dësen Eegentümer meeschtens nëmmen, wann d'Client-Plattform averstanen ass.

Test dat, wat Dir tatsächlech gebaut hutt

Frot ee private voll qualifizéierten Numm an ee erlaabten externen Numm direkt géint d'Tunneladress, iwwer UDP an TCP. Widderholl et duerno iwwer de gewéinlechen Sichwee vun der Applikatioun.

Wann déi direkt Ufroe funktionéieren an d'Applikatioun nach ëmmer ausfält, ass de Feeler an der Iwwergab an net um Server:

  • De Client huet déi geschéckt Optioun ni ugewannt.
  • En aneren Resolver gouf méi spéit gesat a gewënnt d'Course.
  • D'Applikatioun benotzt seng eege Resolver-Bibliothéik oder eng gecachte Äntwert.

Schléisst domat of, ze bestätegen, datt eng Quell ausserhalb vum genehmegten VPN-Wee de Lauschterer guer net ka benotzen. Eng erfollegräich Opléisung autoriséiert net d'Adress, déi se zréckginn huet, also haalt dës zwou Froe getrennt.

Ähnlech Artikelen