یو ماشین کولای شي درې واړه اړتیاوې یوځای پوره کړي: ټنلونه پای ته ورسوي، HTTPS ته ځواب ووايي او د دوو شخصي LAN ترمنځ لېږد وکړي. چې دا هوښیاره ده که نه، په درې شیانو پورې اړه لري چې کولای شی په کاغذ باندې پرېکړه وکړئ: عامه پته چا لره ده، د هر پورټ او پروتوکول جوړه چا لره ده، او کوم بهیر ته اجازه ده چې پاکټونه ولېږدوي. که دا سم وي، شریک کوربه څه ځانګړی نه دی. که غلط وي، د یوې خدمت په سر د اونۍ پای تېروئ چې پاک پیلېږي او هېڅکله ځواب نه ورکوي.

بل څه چې راځي د پرېکړې کړنلاره ده، د جوړولو پاڼه نه. هره ګام په هغه څېړنه پای ته رسېږي چې ثابتوي همدا اوس اضافه شوی رول ریښتیا جلا دی.

د پتې مالک له پورټونو مخکې وټاکئ

د ټنل پای ټکی او ویب سرور کولای شي یو کرنل شریک کړي؛ په یو وخت کې د یوې پتې، پورټ او پروتوکول شریکول هغه شی دی چې ناکامېږي. WireGuard معمولا UDP 51820 اخلي، OpenVPN UDP 1194 یا TCP 443 اخلي، او ویب سرور TCP 443 اخلي. دردناکه جوړه د HTTPS ترڅنګ پر TCP 443 باندې OpenVPN ده، ځکه دواړه یو سوکیټ غواړي او کرنل هغه چا ته ورکوي چې لومړی وتړل. یوازې مخکې دیملټیپلیکسر، لکه sslh یا د TLS پوه پراکسي، دوی ته اجازه ورکوي چې دا پورټ شریک کړي، او هغه یو جز اضافه کوي چې ناکامي یې د فایر وال ستونزې په څېر ښکاري.

له هر څه بدلولو مخکې مالکان وګورئ: ss -lntup د هر اورېدونکي سوکیټ ځایي پته، پورټ او بهیر چاپوي. دوه کرښې چې 0.0.0.0:443 ښیي، مانا دا ده چې دوهم خدمت هېڅکله وتړل نه شو، هر څومره خوشحاله چې د هغه init سکریپټ و. پل هم مالک ځای په ځای کوي. کله چې eth0 له دې پل سره یوځای شي: br0، IP br0 ته ځي او هر فایر وال قاعده چې eth0 نوموي له سمون څخه لوېږي، نو خدمتونه پر پل وتړئ او ip -br addr سره یې تایید کړئ.

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

د دوو LAN ترمنځ روټ وکړئ یا یوه خوا NAT کړئ

دوه LAN چې یو بل نه ویني، هر یو یې کولای شي عامه کوربه ته زنګ ووهي، چې بیا د ټنلونو ترمنځ لېږد کوي. دا روټ شوی ډیزاین درې شیان غواړي: لېږد چالان، هرې لرې پریفکس ته یوه لار، او د لېږد تګلاره چې ټرانزېټ تېرېږي. sysctl -w net.ipv4.ip_forward=1 لومړی پوښي، ip route add 10.20.0.0/24 dev wg1 دوهم، او د nftables کرښه لکه nft add rule inet filter forward iifname "wg0" oifname "wg1" accept درېیم.

سرچینه NAT اضافه کول اسانه او ډیبګ کول سخت دي. ماسکریډ کول د کاروونکي پته بیا لیکي، نو لرې خوا هب ویني نه ریښتینی کوربه، او د هغه لاسرسی قواعد او لاګونه د نسبت لپاره بې ګټې کېږي. کله چې دواړه شبکه ستاسو وي، روټ وکړئ. کله چې یوه خوا د درېیم اړخ وي چې بیرته لار نه اضافه کوي، NAT هغه انتخاب دی چې دا اونۍ وځي. په هر حال، د پتو پلان ولیکئ، ځکه دوه نښتي /24 هېڅ کنفیګوریشن نه شي روټ کولای.

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

هغه وخت چې دوه رولونه ودرېدل وېش وآزمویئ

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

درې کمانډونه هغه ازموینه ټینګه کوي. curl -sk --resolve example.test:443:203.0.113.10 https://example.test/ ثابتوي چې ځایي اورېدونکی پرته له بهرني DNS ځواب ورکوي، wg show پر کاروونکي ثابتوي چې لاس ورکول بشپړ شول، او tcpdump -ni any port 51820 پر هب د روټینګ ستونزه د کیلي ستونزې څخه جلا کوي. هغه لاس ورکول چې هېڅکله په نیولو کې نه ښکاري د کوربه دمخه مړ شو: د عرضه کوونکي فایر وال، غلطه عامه پته یا په لار کې NAT قاعده.

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

کله چې رولونه کموئ د قواعدو ټولګه لوستل کېدونکې وساتئ. nft list ruleset باید د هر هغه لوري لپاره چې واقعا یې اړتیا لرئ یوه د منلو قاعده وښیي، او هغه لېږد لړۍ چې هر څه مني جلا کول نه دي، هغه یو فعال ډیمو دی.

یوازې IPv6 لاسرسي لینونه او IPv4 خدمتونه

ځینې لاسرسي لینونه یوازې IPv6 لاسرسی ورکوي، او خدمتونه باید لا هم پر IPv4 خپاره شي. ټنل پخپله د هغه کورنۍ له لارې ځي چې لا هم ترافیک تېروي، پداسې حال کې چې خپور شوی خدمت د ټنل دننه پر یوه پته ناست دی. دا عادي انګېرنه اړوي او نظارت په خاموشۍ ماتوي: د IPv4 لارې لپاره لیکل شوې فایر وال قاعده یا د کاري وخت ازموینه اوس د هغه انټرفېس پاملرنه کوي چې هېڅ نه وړي.

هره کورنۍ جلا وآزمویئ curl -4 او curl -6 سره، ځکه یوه بریالۍ غوښتنه د هغې لارې په اړه هېڅ نه وايي چې تاسو نه ده آزمویلې. د پورټ مالکیت د کورنیو ترمنځ نه بدلېږي، خو اورېدونکی بدلېږي: ss -lntup IPv4 او IPv6 سوکیټونه په جلا کرښو کې لیست کوي، او 0.0.0.0:443 نه پوښي [::]:443، پرته له دې چې بهیر dual-stack سوکیټ غوښتی وي.

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

اړوندې مقالې