WireGuard schéckt keen DNS: eng privat BIND-Zon ubidden
Den Handshake dréit Schlësselen an erlaabten IPen, ni e Resolver. Hei ass eng fäerdeg privat BIND 9-Zon plus d'Cliente-Politik pro Verbindung, déi se opgeléist kritt.
Dir hutt WireGuard opgesat, den Tunnel léisst Verkéier duerch, an den internen Numm léist sech nach ëmmer net op. Den nächste Schrëtt ass meeschtens eng DNS-Astelluung an der WireGuard-Konfiguratioun ze sichen, wéi wann e Peer e Resolver kéint duerchschécken wéi et aner VPNen maachen. Kann et net. Den Handshake dréit Schlësselen, Interface-Adressen an erlaabten IPen, an et huet keen Feld fir DNS-Server oder Sichdomänen. D'Resolver-Politik lieft um Client, an do gehéiert d'Korrektur hin.
Den Tunnel an de Resolver si getrennte Kontrakter
WireGuard ass bewosst kleng. Et beweegt Paketen fir d'Adressen, déi Dir oplëscht, an authentifizéiert Peers; alles iwwer där Schicht ass Ären Design. OpenVPN kann eng dhcp-option DNS duerchschécken, well säi Steierkanal Konfiguratioun dréit, an deen Ënnerscheed stolpert Leit, déi tëscht deenen zwee wiesselen.
En funktionéierenden Tunnel seet also näischt iwwer Numm-Opléisung. De Client kann eng perfekt Route op 10.90.0.1 hunn an trotzdem seng Ufroe op e ëffentleche Resolver schécken, dofir gesäit de Symptom aus wéi “den VPN huet DNS futti gemaach”, obwuel DNS ni op den VPN gewisen huet.
Bedéngt d'Zon ouni e rekursiven Resolver ze ginn
D'Serversäit ass eng kleng autoritativ Zon, keen allgemenge Resolver. An dësem Beispill ass de Gateway 10.90.0.1, d'Cliente sinn 10.90.0.0/24, an d'Applikatioun, déi Iech interesséiert, äntwert op 10.60.0.20.
Füügt dës Astellungen an de bestoende options-Block zesummen, amplaz en zweete unzeleeën:
options {
listen-on { 127.0.0.1; 10.90.0.1; };
listen-on-v6 { none; };
allow-query { 127.0.0.1; 10.90.0.0/24; };
allow-transfer { none; };
recursion no;
};Dann deklaréiert d'Zon an hir Datei:
zone "corp.example" {
type primary;
file "/etc/bind/db.corp.example";
};$TTL 300
@ IN SOA ns.corp.example. hostmaster.corp.example. ( 1 3600 600 604800 300 )
@ IN NS ns.corp.example.
ns IN A 10.90.0.1
portal IN A 10.60.0.20Validéiert ier Dir nei lued, well e Syntaxfeeler beim Lueden de ganzen Server fir all Zon, déi en déngt, erofhëlt:
named-checkconf
named-checkzone corp.example /etc/bind/db.corp.exampleMaacht UDP an TCP 53 nëmmen um VPN-Interface op. Eng privat Autoritéit um ëffentlechen Interface ze publizéieren invitéiert souwuel Ufroe wéi och Oplëschtung, an allow-transfer soll zou bleiwen, ausser en Secondaire brauch et wierklech.
Riicht de Client drop, pro Verbindung
Huele mir un, d'Verbindung gehéiert dem NetworkManager an de Resolver ass systemd-resolved. Liest fir d'éischt déi bestoend Politik, besonnesch eng Root-Routing-Domän, well en ~.-Agang wäert dat iwwertrëffen, wat Dir just wäert bäisetzen.
nmcli connection modify wg-office +ipv4.dns 10.90.0.1
nmcli connection modify wg-office +ipv4.dns-search '~corp.example'D'Tilde ass den typesche Charakter. Si markéiert d'Domän als nëmme-Route: Nimm ënner corp.example ginn op den DNS-Server vun dëser Verbindung, an d'Domän gëtt net als Suffix fir d'Sich vu kuerzen Nimm ugehaangen. Ouni si fänkt d'Tippe vun portal un, portal.corp.example opzeléisen, wat fir Iech bequem an fir all déi aner iwwerraschend ass. Hält d'Tilde bannent den Anführungszeechen, well eng ouni Anführungszeechen eng Shell-Erweiderung ass, déi drop waart, op Ären Heemverzeechnis ze weisen.
Wend d'Ännerung iwwer de Manager un, deen den Interface huet, a verbënnt dann d'Verbindung nei. Start kee zweet wg-quick-Instanz fir deeselwechten Interface; zwee Besëtzer wäerten iwwer Route streiden an ee vun hinnen wäert am schlëmmste Moment gewannen.
Verifizéiert de Wee virum Numm
Frot den Numm vum Client of a bestätegt souwuel d'Äntwert wéi och de Server, deen se produzéiert huet:
resolvectl query portal.corp.exampleWann dat 10.60.0.20 zréckgëtt, ass den DNS-Kontrakt erfëllt. Wann et ofleeft, préift fir d'éischt d'Route op 10.90.0.1, dann d'Firewall-Regel, dann allow-query um Server. Numm-Opléisungsfeeler an dësem Opbau sinn bal ëmmer Erreechbarkeet oder eng ACL, net d'Zonendatei. Schafft vum Client no baussen, well de Server Iech net ka soen, firwat eng Ufro ni ukomm ass.
Denkt drun, datt d'Applikatioun nach ëmmer hir eege Route an hir eege Serviceerlaabnis brauch. En opgeléisten Numm, deen op eng onerreechbar Adress weist, ass en anere Feeler an deemselwechten Kleeder.
Wat nach ëmmer net automatesch ass
Applikatiounen mat hirer eegener Resolver-Logik ignoréieren de Systemresolver komplett, a keng Quantitéit nmcli ännert dat. Installatiounen, déi DNSSEC validéieren, brauchen en expliziten Design vun engem Vertrauensanker fir déi privat Zon; d'Äntwert ass keng allgemeng Instruktioun, d'Validéierung auszeschalten. Testt mat deemselwechte Client-Software, déi Är Benotzer lafen, net mat engem Tool, dat zoufälleg de Systemresolver benotzt. Den Ënnerscheed tëscht deenen zwee ass de ganzen Feelerrapport.
Flotten kënnen dës Client-Politik duerch hiert Provisioning-System automatiséieren, awer d'Politik bleift en getrennten Objet mat engem Besëtzer. D'BIND 9-Referenz deckt d'Lausch- a Frotsteierungen hei uewen of, an et ass déi richteg Plaz, fir d'Verhalen fir Är installéiert Versioun ze bestätegen.
Nächste Schrëtt: Füügt d'Erhéijung vun der Seriennummer vun der Zon an d'Prüfkommandos an Är Ännerungsprozedur bäi, sou datt eng Recordännerung net onkontrolléiert an d'Produktioun kënnt.