Keni ngritur WireGuard, tuneli kalon trafikun, dhe emri i brendshëm ende nuk zgjidhet. Hapi tjetër zakonisht është kërkimi i një cilësimi DNS në konfigurimin e WireGuard, sikur një homolog të mund të shtynte një zgjidhës siç bëjnë disa VPN të tjera. Nuk mundet. Shtrëngimi i duarve mban çelësat, adresat e ndërfaqes dhe IP-të e lejuara, dhe nuk ka fushë për serverë DNS ose domene kërkimi. Politika e zgjidhësit jeton te klienti, dhe aty i takon korrigjimi.

Tuneli dhe zgjidhësi janë kontrata të ndara

WireGuard është qëllimisht i vogël. Lëviz paketat për adresat që rendisni dhe vërteton homologët; gjithçka mbi atë shtresë është dizajni juaj. OpenVPN mund të shtyjë një dhcp-option DNS sepse kanali i tij i kontrollit mban konfigurim, dhe ai ndryshim pengon ata që lëvizin ndërmjet të dyjave.

Pra një tunel që funksionon nuk thotë asgjë për zgjidhjen e emrave. Klienti mund të ketë një rrugë të përsosur drejt 10.90.0.1 dhe gjithsesi t'i dërgojë pyetjet një zgjidhësi publik, prandaj simptoma duket si “VPN-ja prishi DNS-në” ndërsa DNS nuk ishte drejtuar kurrë te VPN-ja.

Shërbejeni zonën pa u bërë zgjidhës rekurziv

Ana e serverit është një zonë e vogël autoritative, jo një zgjidhës i përgjithshëm. Në këtë shembull porta është 10.90.0.1, klientët janë 10.90.0.0/24, dhe aplikacioni që ju intereson përgjigjet në 10.60.0.20.

Bashkoni këto cilësime në bllokun ekzistues options në vend që të krijoni një të dytë:

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;
};

Pastaj deklaroni zonën dhe skedarin e saj:

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.20

Vërtetoni përpara se të ringarkoni, sepse një gabim sintaksor gjatë ngarkimit rrëzon të gjithë serverin për çdo zonë që shërben:

named-checkconf
named-checkzone corp.example /etc/bind/db.corp.example

Hapni UDP dhe TCP 53 vetëm në ndërfaqen VPN. Publikimi i një autoriteti privat në ndërfaqen publike fton pyetje dhe numërim njëkohësisht, dhe allow-transfer duhet të mbetet i mbyllur nëse një sekondar nuk ka vërtet nevojë.

Drejtojeni klientin drejt saj, për çdo lidhje

Supozoni se lidhjen e zotëron NetworkManager dhe zgjidhësi është systemd-resolved. Lexoni së pari politikën ekzistuese, veçanërisht çdo domen rrugëtimi rrënjor, sepse një hyrje ~. do të kalojë përpara asaj që jeni gati të shtoni.

nmcli connection modify wg-office +ipv4.dns 10.90.0.1
nmcli connection modify wg-office +ipv4.dns-search '~corp.example'

Tilda është karakteri i rëndësishëm. Ajo e shënon domenin si vetëm-rrugë: emrat nën corp.example shkojnë te serveri DNS i kësaj lidhje, dhe domeni nuk shtohet si prapashtesë kërkimi për emra të shkurtër. Pa të, shtypja e portal fillon të zgjidhë portal.corp.example, gjë që është e përshtatshme për ju dhe befasuese për të gjithë të tjerët. Mbajeni tildën brenda thonjëzave, sepse një pa thonjëza është një zgjerim shell-i që pret të tregojë drejt dosjes tuaj personale.

Zbatojeni ndryshimin përmes menaxherit që zotëron ndërfaqen, pastaj rilidhni lidhjen. Mos nisni një instancë të dytë wg-quick për të njëjtën ndërfaqe; dy pronarë do të grindën për rrugët dhe njëri prej tyre do të fitojë në momentin më të keq.

Verifikoni rrugën përpara emrit

Pyetni emrin nga klienti dhe konfirmoni si përgjigjen, ashtu edhe serverin që e prodhoi:

resolvectl query portal.corp.example

Nëse kjo kthen 10.60.0.20, kontrata DNS është përmbushur. Nëse skadon, kontrolloni së pari rrugën drejt 10.90.0.1, pastaj rregullin e murit të zjarrit, pastaj allow-query në server. Dështimet e zgjidhjes së emrave në këtë konfigurim janë pothuajse gjithmonë arritshmëri ose një ACL, jo skedari i zonës. Punoni nga klienti drejt jashtë, sepse serveri nuk mund t'ju thotë pse një pyetje nuk mbërriti kurrë.

Mbani mend se aplikacioni ende ka nevojë për rrugën e vet dhe lejen e vet të shërbimit. Një emër i zgjidhur që tregon drejt një adrese të paarritshme është një dështim tjetër me të njëjtat rroba.

Çfarë ende nuk është automatike

Aplikacionet me logjikë të vetë zgjidhësit e shpërfillin plotësisht zgjidhësin e sistemit, dhe asnjë sasi e nmcli nuk e ndryshon këtë. Vendosjet që vërtetojnë DNSSEC kanë nevojë për një dizajn eksplicit ankorimi besimi për zonën private; përgjigjja nuk është një udhëzim i përgjithshëm për të çaktivizuar vërtetimin. Testoni me të njëjtin software klienti që përdorin përdoruesit tuaj, jo me një mjet që përdor rastësisht zgjidhësin e sistemit. Hendeku mes të dyjave është i gjithë raporti i gabimit.

Flotat mund ta automatizojnë këtë politikë klienti përmes sistemit të tyre të furnizimit, por politika mbetet një objekt i veçantë me pronar. Referenca e BIND 9 mbulon kontrollet e dëgjimit dhe të pyetjeve të përdorura më sipër, dhe është vendi i duhur për të konfirmuar sjelljen për versionin tuaj të instaluar.

Hapi tjetër: shtoni rritjen e numrit serial të zonës dhe komandat e kontrollit në procedurën tuaj të ndryshimeve, që një redaktim regjistri të mos arrijë në prodhim pa u kontrolluar.

Artikuj të ngjashëm