Az alagúton lévő ügyfelek elérik az átjárót, az átjáró pedig eléri a belső feloldót, tehát a DNS-nek működnie kellene. Mégsem működik, mert ez két különböző engedély, és egy működő DNS-szolgáltatás a harmadik dolog. A figyelőnek olyan címen kell léteznie, amelyet az ügyfelek elérnek, a tűzfalnak engedélyeznie kell a lekérdezéseket erre a címre, és az ügyfélnek meg kell mondani, hogy használja. Az alagút mindkét irányú megnyitása az első kettőt véletlenül megoldja, a harmadikat pedig befejezetlenül hagyja.

A figyelő kétirányú helyi szolgáltatás

Bejövő irányban az ügyfél lekérdezést küld az átjáró alagútcímére az 53-as porton. Kimenő irányban a démon továbbítja a lekérdezést a beállított felsőbb kiszolgálójának. Mindkét félnek működnie kell, és különböző módon hibáznak.

Az ügyfél által jelentett időtúllépés és az átjárón látott időtúllépés nem ugyanaz a hiba.

Az alagút címét kösse, ne minden címet

A feladathoz rendelt dnsmasq-példánynak kifejezett figyelési címre, a start után megjelenő alagutat tűrő kötési módra és egy világos felsőbb kiszolgálóra van szüksége. Ez a legkisebb verzió, amelyet használok:

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

bind-dynamic az egyes címeket köti, és kezeli, amikor tun0 később megjelenik, ami olyan gazdagépen számít, ahol a VPN-szolgáltatás újraindul. A loopback felsorolása nyilvános figyelő hozzáadása nélkül tartja működésben a helyi eszközöket. no-resolv megakadályozza, hogy a démon a gazdagép feloldó-konfigurációjából örököljön felsőbb kiszolgálókat, a no-hosts pedig megakadályozza, hogy ez a példány közzétegye az átjáró hosts fájlját. Egyik lehetőség sem ad senkinek engedélyt a szolgáltatás lekérdezésére.

Ellenőrizze, van-e már meglévő figyelő az 53-as porton mielőtt második démont indít, és a disztribúció konfigurációtulajdonosát használja a rossz könyvtárban kallódó fájl helyett.

DNS-bemenetet engedjen, ne alagút-átjárást

A tűzfalszabályok, amelyek ezt lehetővé teszik, helyi bemeneti szabályok, amelyek az alagút interfészére, az ügyfélkészletre, az átjáró címére és az 53-as portra korlátozódnak. Két szabály, protokollonként egy, elegendő:

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

A DNS UDP mellett TCP fölött is fut, ezért a csak UDP-re vonatkozó szabály a nagy válaszokat szakaszosnak tűnő módon hagyja meghibásodni. Ezek nem ufw route engedélyek, és nem válhatnak széles engedéllyé ezen: tun0. A sorrend ugyanolyan fontos, mint a tartalom: egy korábbi szabály, amely minden bemenetet eldob erről: tun0 továbbra is nyer, és egy engedély hozzáadása egy végső eldobás alá semmit sem hoz létre.

Ha az átjáró DNS-e most a tervezés része, szándékosan vizsgálja felül azt a korábbi szabályzatot, és jegyezze fel, miért.

A felsőbb fél külön útvonal

A lekérdezések az átjárót a saját címéről hagyják el a felsőbb feloldó felé, ezért az átjáró útvonalának és a feloldó felé irányuló kimeneti szabályzatnak engedélyeznie kell a cserét. Ez más szabály, mint amely az ügyfeleket a figyelőhöz engedi, és más tünettel hibázik.

Ne adjon hozzá korlátlan alagút-kimenetet a válaszok működéséhez; a követett válaszoknak nincs rá szükségük.

Tolja ki a beállítást, majd ellenőrizze az átadást

A kiszolgáló kihirdetheti a feloldót az ügyfeleknek egy kitolt beállítással. Ez beállítás, nem olyan utasítás, amelyet az operációs rendszernek be kell tartania:

push "dhcp-option DNS 10.90.0.1"

Egy Linux parancssori ügyfélnek szüksége lehet a kapcsolatkezelője feloldó-integrációjára, egy felügyelt eszköznek pedig frissített felügyeleti profilra. Csatlakozás után erősítse meg az aktív feloldót az ügyfélen, ahelyett hogy feltételezné, hogy a kitolás érvényesült. Amikor két mechanizmus egyszerre próbál DNS-t beállítani, versenyhelyzet alakul ki, amely villogó feloldásként jelentkezik.

A cél az ügyfél feloldó-konfigurációjának egyetlen tulajdonosa, és a kitolás általában csak akkor az a tulajdonos, ha az ügyfél platformja egyetért.

Azt tesztelje, amit valóban épített

Kérdezzen le egy privát teljesen minősített nevet és egy engedélyezett külső nevet közvetlenül az alagút címével szemben, UDP-n és TCP-n. Ezután ismételje meg az alkalmazás szokásos keresési útvonalán.

Ha a közvetlen lekérdezések működnek, és az alkalmazás mégis meghibásodik, a hiba az átadásban van, nem a kiszolgálón:

  • Az ügyfél soha nem alkalmazta a kitolt beállítást.
  • Később egy másik feloldót állítottak be, és az nyerte a versenyt.
  • Az alkalmazás a saját feloldókönyvtárát vagy gyorsítótárazott választ használ.

Fejezze be annak megerősítésével, hogy a jóváhagyott VPN-útvonalon kívüli forrás egyáltalán nem használhatja a figyelőt. A sikeres feloldás nem jogosítja fel a visszaadott címet, ezért tartsa külön ezt a két kérdést.

Kapcsolódó cikkek