Pi-hole v6 53 портунда DNS суроосун кабыл алып, анан келген пакетке жооп берүүгө уруксат барбы-жокпу чечет. WireGuard хостунда бул экинчи чечим адатта кардар эмне үчүн убакыт чегине туш болорун түшүндүрөт, ал эми чечүүчү LAN жактан соо көрүнөт. Порт ачык, FTL иштеп жатат, бирок 10.90.0.1ден эч нерсе кайтпайт. Жооп чыгардан мурун үч нерсе өз ара аракеттенишет: dns.interface, dns.listeningMode жана экөөнүн алдындагы брандмауэр.

Угуучу сокет ким жооп аларын чечпейт

FTL 53 портунда UDP жана TCP угуучуларды ачат. Демейдеги конфигурацияда сокет көбүнчө wildcard болот, ошондуктан ss -lunp | grep :53 VPN кардарларына кызмат көрсөтүлсө да, көрсөтүлбөсө да 0.0.0.0:53 жана [::]:53 көрсөтөт. wildcard сокет пакетти кабыл алат, анан FTL жооп берүүдөн мурун өзүнүн интерфейс жана булак эрежелерин колдонот. Ошондуктан «порт угуп жатат» деген сөз туннель кардары жөнүндө абдан аз нерсени далилдейт.

Активдүү деп ойлогон файлдын ордуна иштеп жаткан конфигурацияны окуңуз. pihole-FTL --config dns.interface жана pihole-FTL --config dns.listeningMode чыныгы маанилерди басып чыгарат жана контейнер, чөйрө өзгөрмөсү же жайгаштыруу менеджери бул параметрге ээ болгондо алар хост файлынан айырмаланышы мүмкүн. Pi-hole FTL конфигурациялык колдонмосу режимдерди жана алардын кайсынысы интерфейске таянарын тизмелейт.

LOCAL кайсы субтармакты, SINGLE кайсы интерфейсти сурайт

LOCAL, демейдеги режим, булак дареги хосттун интерфейстеринин биринде конфигурацияланган субтармакка тиешелүү суроолорго жооп берет. 10.90.0.1/24 бар жөнөкөй wg0 бул сыноодон өтөт, анткени 10.90.0.2деги кардар туннелдин субтармагынын ичинде отурат. Пирдин аркы тарабында маршрутталган кардар, же башка префиксте NAT артында жашырылган кардар, пакет wg0го келсе да андан өтпөйт, жана журналда бир да суроо көрүнбөйт.

SINGLE суроону өзгөртөт. Ал dns.interface ичинде аталган интерфейске келген суроолорду loopback менен кошо кабыл алат жана булак субтармагын эске албайт. Тизмектелген же маршрутталган VPN топологиясында жашап калган режим ушул. Эки ачкычты чогуу коюңуз, анткени аталган интерфейссыз режим толук нускама эмес:

sudo pihole-FTL --config dns.interface "wg0"
sudo pihole-FTL --config dns.listeningMode "SINGLE"

BIND сокетти өзгөртөт, жана анын баасы бар

BIND wildcard сокетти чыпкалабайт; ал 53 портун аталган интерфейсте бар даректерге гана байлайт, ошондуктан өзөк башка жерге келген пакеттерди четке кагат. Ал SINGLEден катуураак жана анын синоними эмес. Баа жүктөө учурунда көрүнөт: эгер FTL башталганда wg0 көтөрүлбөсө, байлоого дарек болбошу мүмкүн, жана интерфейс пайда болуп FTL кайра башталганга чейин чечүүчү угуучусуз иштеши мүмкүн.

Баштоо тартибин көзөмөлдөсөңүз BIND тандаңыз, мисалы WireGuard интерфейсинен кийин иреттелген systemd бирдиги, жана өзөк FTL көрүүдөн мурун адашкан пакеттерди ыргыткыңыз келсе. Туннель келип-кетсе, же интерфейсти FTLден кийин башталган курал түзсө, SINGLE тандаңыз.

Брандмауэр — экинчи дарбаза

Туура FTL режими да хост брандмауэри wg0де 53 портун ыргытса, ишке ашпайт. Эки протокол үчүн VPN булак диапазонун уруксат кылып, интернет жагын жабык кармаңыз. nftablesте, inet filter таблицасындагы бар input тизмеги менен, эрежелер мындай көрүнөт:

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

Эгер туннель IPv6 ташыса, тиешелүү IPv6 эрежелерин кошуп, аларды тизмектин drop саясатынан мурун коюңуз. Эгер хост ufw же firewalld колдонсо, куралдарды аралаштыруунун ордуна ошол менеджерде ошол эле дал келүүнү билдириңиз. 53 портун интернет маршрутизаторунан өткөрбөңүз; кардарлар чечүүчүнүн VPN дарегине туннель аркылуу жетиши керек.

Эки жол өзүнчө калат. Кардарлардын суроолору FTLде бүтөт. FTLдин өзүнүн жогорку агым издөөлөрү хосттун маршруттоо таблицасы боюнча чыгат, ал туннелди колдонушу да, колдонбошу да мүмкүн, ошондуктан жооп берип, бирок пайдалуу эч нерсе кайтарбаган чечүүчү — жогорку агым маселеси. Веб-админ жана API өз портторунда угушат жана өз чектөөлөрү керек.

Жоопту жана баш тартууну текшериңиз

VPN кардарынан чечүүчүнүн дарегин эки протокол менен сураңыз: dig @10.90.0.1 example.com жана dig +tcp @10.90.0.1 example.com. Анан администратор интерфейсиндеги суроолор журналынан FTL суроону жазганын текшериңиз. Журнал жазуусу жок кардардын убакыт чеги брандмауэрге же интерфейс чыпкасына көрсөтөт; жоопсуз журнал жазуусу жогорку агымды чечүүгө көрсөтөт.

Терс жолду VPNден тышкаркы хосттон текшериңиз. dig @10.90.0.1 example.com убакыт чегине жетиши керек, ал эми ss -lunp чечүүчүдө 53 портунун жарыя дарекке байланганын көрсөтпөшү керек. Кызматты бир жолу кайра баштаңыз, анан хостту кайра жүктөп, wg0 кайра пайда болгондон кийин чечүүчү дагы эле жооп берерин тастыктаңыз. Кийинки кайра жүктөөгө чейин гана иштеген суроо — бүткөн өзгөртүү эмес.

Тектеш макалалар