د LAN کلايانټ خپل VPN ته سم رسیږي، خو بیا هم د هغه DNS پوښتنې په غلط پورتنۍ لینک کې ښکاري. دا په معمولي مانا کې تېښته نه ده؛ دا هغه وخت پېښیږي چې روټر د پوښتنې لېږل بندوي او پخپله ورته ځواب وایي. منځګړیتوب هدف په یو ځایي ساکټ کې بیا لیکي، او بیا ریزالور دوهمه، بې اړیکه خبرې اترې د خپل سرچینې پتې او خپلې لارښوونې پرېکړې سره پرانیزي. د کلايانټ جریان باندې لګېدلې نښې لومړنۍ خبرې اترې بیانوي او د دوهمې په اړه هیڅ هم نه وایي.

نښه د پوښتنې سره سفر نه کوي

د پاکټ نښې پر conntrack ننوتنه او پر الوتونکي پاکټ اوسي. د REDIRECT قاعده هغه الوتنه پای ته رسوي: بار یو ځایي ساکټ ته سپارل کیږي، او اصلي ننوتنه خپله دنده کړې ده. له هغې وروسته چې له روټر ووځي هغه یو نوی ساکټ دی چې د ریزالور پروسې جوړ کړی، چې سرچینه یې د روټر خپله پته ده.

له همدې کبله د LAN کلايانټ پتې ته تړل شوې پالیسي لار هېڅکله د پورتنۍ پوښتنې سره نه ځي. نوی ساکټ د کلايانټ نه بلکې dnsmasq پورې اړه لري، او کرنل لاره د روټر خپل ترافیک لپاره ارزوي. د سرچینې قواعد، د انټرفیس قواعد او د نښې قواعد ټول بېل tuple ویني. دا انګېرنه چې نښه خپریږي په دې ترتیب کې ترټولو عامه تېروتنه ده، او د کلايانټ خوا کې په نیولو کې نه ښکاري.

دواړه خبرې اترې واقعاً یو نوم او یو وخت شریکوي، او همدا لامل دی چې کله په چټکۍ سره یو نیول وګورئ دواړه د یو جریان په څېر ښکاري.

چېرته لېږل ځایي حل ته اوړي

له دې سره پیل وکړئ چې ومومئ ایا پورټ 53 بدلیږي، بل هوسټ ته ژباړل کیږي، که هماغسې پاتې کیږي، ځکه درې حالتونه بېل رفتار کوي. ځایي پورټ ته بدلون لېږل پای ته رسوي، خو بل ماشین ته ژباړه پاکټ په خوځښت کې ساتي او د کلايانټ tuple بامعنا ساتي.

دواړه پروتوکولونه وګورئ. هغه ریزالور چې د UDP او TCP له لارې لاسرسی ورته وي پر دواړو به وازمویل شي، او هغه قاعده ګروپ چې یوازې UDP پوښي د لویو ځوابونو لپاره یوه غلې سوری پرېږدي. هغه قواعد چې د روټر خپل د ترتیباتو مدیر یې جوړوي هم حساب کیږي، او د جوړ شوي فایل سمول معمولاً بیا پرانیستنې ته بايي.

sudo nft list ruleset | grep -n -B2 -A4 'dport 53'
sudo iptables -t nat -L -n -v | grep -E ':53|dns'
sudo ss -lunp | grep ':53'

هغه وتنې په ترتیب سره درې پوښتنو ته ځواب وایي: پوښتنه څه بیا لیکي، هغه څه ترلاسه کوي، او اورېدونکي ساکټ مالک کومه پروسه ده. کله چې مالک معلوم شي، پورتنۍ پالیسي د اوسېدو ځای لري.

ریزالور ته خپله د وتلو پالیسي ورکړئ

د ډومېن ځانګړې پورتنۍ لاره ترټولو پاکه وسیله ده کله چې یوازې ځینې نومونه تونل ته اړتیا ولري. dnsmasq د ډومېن پورې محدود server کرښه مني، د اختیاري انټرفیس یا سرچینې پتې سره پوښتنه له ټاکل شوي وسیلې باندې باسي. همدا لارښوونه دوهمه خبرې اترې VPN ته پسې ځي.

server=/corp.example/10.30.0.53@tun_work
log-queries

په پورته ډومېن، پته او انټرفیس ستاسو د خپلو ارزښتونو لپاره ځاینیونکي دي. د ډومېن ټاکل او د وتلو کنټرول جلا پرېکړې پاتې کیږي: لاره باید وي، سرچینې پته باید د پورتني ریزالور له خوا اجازه ولري، او فایر وال باید ځواب اجازه کړي. یوازې د انټرفیس لارښوونه fail-closed نه ده، ځکه ورک شوی تونل کېدای شي ریزالور بلې لارې ته وغورځوي. هر عامه بدیل له هغه نوم ځای څخه لرې وساتئ چې باید خصوصي پاتې شي.

کرښه په جوړ شوي فایل کې نه، بلکې په هغه د ترتیباتو مالک کې کېږدئ چې روټر یې ملاتړ کوي، که نه بیا پرانیستنه سمون پاکوي.

شریکه کیش څه نه شي ساتلی

یو فوروارډر یوې کیش سره هر LAN کلايانټ ته خدمت کوي، او دا هغه توپیر نسکوروي چې ځینې شبکې ورته اړتیا لري. که دوه کلايانټونه باید یو نوم بېل حل کړي، شریک ساکټ هېڅ لاره نه لري چې معلومه کړي چا پوښتلی. د هر کلايانټ پالیسي باید په جلا ریزالور نسخو کې یا په هغه لېږلو ځانګړتیا کې وي چې هویت ساتي.

کیش شوی ځواب هم د نوي لارې په اړه شاهد نه دی. ځواب کېدای شي له حافظې راشي پداسې حال کې چې پورتنۍ لاره ماتې پاتې کیږي.

د پورټ 53 قواعد د هغو اپلیکیشنونو په اړه هیڅ نه وایي چې DNS د HTTPS یا د TLS له لارې وایي. هغه پوښتنې هېڅکله بدلون ته نه رسیږي، نو یوازې پر پورټ 53 ولاړه پالیسي د ترافیک یوه برخه بیانوي او باید د یوې برخې په توګه ثبت شي.

دوهمه خبرې اترې وګورئ، نه لومړنۍ

په یو نوم چې تاسو یې کنټرول کوئ وازموئ او دواړه خواوې وګورئ. د کلايانټ خوا کې نیول ثابتوي چې پوښتنه LAN پرېښوده؛ یوازې د روټر خوا ثابتوي چې بیا چېرته لاړه.

sudo tcpdump -ni tun_work udp port 53
ip route get 10.30.0.53
dig +short corp.example @10.30.0.53

له هر هڅې مخکې کیش تش کړئ، ځکه ګرم ځواب مات پورتنۍ لاره پټوي. پر TCP تکرار کړئ، بیا د بند تونل سره تکرار کړئ ترڅو وګورئ ریزالور څه کوي کله چې د هغه خوښه لاره ولاړه شي. همدا وروستنی رفتار پرېکړه کوي چې ډیزاین fail-closed دی که یوازې بختور.

اړوندې مقالې