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 0.0.0.0:53 او [::]:53 ښيي، که VPN کلینټانو ته خدمت وشي یا نه۔ wildcard ساکټ پیکټ مني، بیا FTL د ځواب ورکولو دمخه خپل د انټرفېس او سرچینې قواعد پلي کوي۔ نو ځکه "پورټ اورېدل کېږي" د تونل کلینټ په اړه ډېر لږ ثابتوي۔

هغه ترتیب ولولئ چې روان دی، نه هغه فایل چې تاسو یې فعال ګڼئ۔ pihole-FTL --config dns.interface او pihole-FTL --config dns.listeningMode ریښتیني ارزښتونه چاپوي، او کله چې کانټینر، د چاپېریال متغیر یا د ځای پرځای کولو مدیر دا تنظیم ولري، هغه د کوربه فایل څخه توپیر کولی شي۔ د Pi-hole FTL د ترتیب لارښود حالتونه او دا چې کوم یې پر انټرفېس ولاړ دی لیستوي۔

LOCAL پوښتنه کوي کوم سبنيټ، SINGLE پوښتنه کوي کوم انټرفېس

LOCAL، تلوالی حالت، هغو پوښتنو ته ځواب وایي چې د سرچینې پته یې په کوربه انټرفېسو کې یو ټاکل شوي سبنيټ پورې اړه لري۔ ساده wg0 چې 10.90.0.1/24 لري دا ازموینه بریالۍ کوي، ځکه چې 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 له لیدو دمخه سرګردانه پیکټونه وغورځوي۔ SINGLE وټاکئ کله چې تونل راځي او ځي، یا کله چې انټرفېس د FTL وروسته پیلېدونکي اوزار لخوا جوړ شي۔

اور وژونکی دویمه دروازه ده

سم حالت 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 بیا ښکاره شو او حل کوونکی لا هم ځواب وایي۔ هغه پوښتنه چې یوازې تر بل بیا پیل پورې کار کوي بشپړ بدلون نه دی۔

اړوندې مقالې