Għaliex Pi-hole v6 jinjora t-talbiet DNS mill-klijenti WireGuard
Pi-hole v6 jiddeċiedi liema klijenti VPN jieħdu DNS mill-interface u mill-mod ta’ smigħ, mhux mill-port biss. Qabbel it-tnejn, imbagħad iċċekkja t-triq miċħuda.
Pi-hole v6 jirċievi talba DNS fuq il-port 53 u mbagħad jiddeċiedi jekk il-pakkett li wasal huwiex permess jingħata tweġiba. Fuq host WireGuard dik it-tieni deċiżjoni hija normalment ir-raġuni għaliex klijent jieħu timeout waqt li s-solver jidher b’saħħtu mill-LAN. Il-port huwa miftuħ, FTL qed jaħdem, iżda xejn ma jiġi lura minn 10.90.0.1. Tliet affarijiet jinteraġixxu qabel ma toħroġ tweġiba: dns.interface, dns.listeningMode u l-firewall quddiem it-tnejn.
Is-socket li jisma’ ma jiddeċidix min jieħu tweġiba
FTL jiftaħ listeners UDP u TCP fuq il-port 53. Fil-konfigurazzjoni default is-socket spiss ikun wildcard, allura ss -lunp | grep :53 juri 0.0.0.0:53 u [::]:53 kemm jekk il-klijenti VPN jiġu servuti u kemm jekk le. Socket wildcard jaċċetta l-pakkett, imbagħad FTL japplika r-regoli tal-interface u tas-sors tiegħu qabel ma jwieġeb. Għalhekk "il-port qed jisma’" ftit li xejn jipprova dwar klijent tat-tunnel.
Aqra l-konfigurazzjoni li qed taħdem minflok il-fajl li taħseb li huwa attiv. pihole-FTL --config dns.interface u pihole-FTL --config dns.listeningMode jipprintjaw il-valuri effettivi, u jistgħu jkunu differenti mill-fajl tal-host meta container, varjabbli tal-ambjent jew manager tad-deployment ikollu dak is-setting. Referenza tal-konfigurazzjoni Pi-hole FTL telenka l-modi u liema minnhom jiddependi mill-interface.
LOCAL jistaqsi liema subnet, SINGLE jistaqsi liema interface
LOCAL, id-default, iwieġeb talbiet li l-indirizz tas-sors tagħhom jappartjeni għal subnet konfigurat fuq waħda mill-interfaces tal-host. wg0 sempliċi b’10.90.0.1/24 jgħaddi minn dak it-test, għax il-klijent fuq 10.90.0.2 jinsab ġewwa s-subnet tat-tunnel. Klijent bir-rotta fuq in-naħa l-oħra ta’ peer, jew wieħed moħbi wara NAT fi prefiss differenti, ma jgħaddix, għalkemm il-pakkett wasal fuq wg0, u l-ebda talba ma tidher fil-log.
SINGLE ibiddel il-mistoqsija. Jaċċetta t-talbiet li jaslu fuq l-interface imsemmija fi dns.interface, bil-loopback inkluż, u jinjora s-subnet tas-sors. Dan huwa l-mod li jiflaħ topoloġija VPN magħquda jew bir-rotta. Issettja ż-żewġ ċavetti flimkien, għax mod mingħajr interface imsemmija mhuwiex struzzjoni sħiħa:
sudo pihole-FTL --config dns.interface "wg0"
sudo pihole-FTL --config dns.listeningMode "SINGLE"BIND ibiddel is-socket, u dan għandu prezz
BIND ma jiffiltrax socket wildcard; jorbot il-port 53 biss ma’ indirizzi li jeżistu fuq l-interface imsemmija, allura l-kernel jirrifjuta pakketti li jaslu x’imkien ieħor. Huwa aktar strett minn SINGLE u mhuwiex sinonimu tiegħu. Il-prezz jidher fil-boot: jekk wg0 mhix attiva meta jibda FTL, jista’ ma jkunx hemm indirizz x’jorbot, u s-solver jista’ jaħdem mingħajr listener sakemm tidher l-interface u FTL jerġa’ jibda.
Agħżel BIND meta tikkontrolla l-ordni tal-bidu, pereżempju unit systemd ordnata wara l-interface WireGuard, u meta trid li l-kernel jarmi pakketti mitlufa qabel FTL jarahom. Agħżel SINGLE meta t-tunnel jiġi u jmur, jew meta l-interface tinħoloq minn għodda li tibda wara FTL.
Il-firewall huwa t-tieni bieb
Mod FTL korrett xorta jfalli jekk il-firewall tal-host jarmi l-port 53 fuq wg0. Ħalli l-firxa tas-sors VPN għaż-żewġ protokolli u żomm in-naħa tal-internet magħluqa. Fin-nftables, b’katina input eżistenti fit-tabella inet filter, ir-regoli jidhru hekk:
sudo nft add rule inet filter input iifname "wg0" ip saddr 10.90.0.0/24 udp dport 53 accept
sudo nft add rule inet filter input iifname "wg0" ip saddr 10.90.0.0/24 tcp dport 53 acceptŻid regoli IPv6 li jaqblu jekk it-tunnel iġorr IPv6, u qegħedhom qabel il-politika drop tal-katina. Jekk il-host juża ufw jew firewalld, esprimi l-istess qbil f’dak il-manager minflok tħallat l-għodod. Ma tgħaddix il-port 53 mir-router tal-internet; il-klijenti għandhom jilħqu l-indirizz VPN tas-solver permezz tat-tunnel.
Żewġ toroq jibqgħu separati. It-talbiet tal-klijenti jispiċċaw f’FTL. It-tfittxijiet upstream ta’ FTL stess joħorġu skont it-tabella tar-routing tal-host, li tista’ tuża t-tunnel jew le, allura solver li jwieġeb imma ma jrodd lura xejn utli hija problema upstream. L-amministrazzjoni web u l-API jisimgħu fuq ports tagħhom u jeħtieġu restrizzjoni tagħhom.
Ivverifika t-tweġiba u ċ-ċaħda
Minn klijent VPN, staqsi l-indirizz tas-solver permezz taż-żewġ protokolli: dig @10.90.0.1 example.com u dig +tcp @10.90.0.1 example.com. Imbagħad iċċekkja l-log tat-talbiet fl-interface tal-amministrazzjoni biex tikkonferma li FTL irreġistra t-talba. Timeout tal-klijent mingħajr entrata fil-log jindika lejn il-firewall jew il-filter tal-interface; entrata mingħajr tweġiba tindika lejn soluzzjoni upstream.
Ittestja t-triq negattiva minn host barra l-VPN. dig @10.90.0.1 example.com għandha tieqaf b’timeout, u ss -lunp fuq is-solver m’għandhiex turi l-port 53 marbut ma’ indirizz pubbliku. Erġa’ ibda s-servizz darba, imbagħad erġa’ ibda l-host u kkonferma li s-solver xorta jwieġeb wara li wg0 terġa’ tidher. Talba li taħdem biss sal-boot li jmiss mhijiex bidla mitmuma.