په یو Pi کې دوه OpenVPN پروسې چلیږي، چې په یو وخت کې ګرځنده کاروونکي مني او پورتنۍ برابرونکې ته رسېږي، او د سختو توکو پرته نږدې هېڅ هم نه شریکوي۔ یوه د راتلونکو تونلونو غږ اوري او بله بهر ته زنګ وهي۔ هر یوه خپله پوشه لولي، او هر یو خپل د ناکامۍ حالت لري۔ د غلط واحد بیا پیلول هغه تر ټولو عامه لاره ده چې د کلاینټ سمون پر ځای اورېدونکی خوځوي۔

د واحد نوم د هغې پوشې سره سم کړئ چې هغه یې باروي

Upstream 2.6 دوه کالبي واحدونه برابروي: [email protected] او [email protected]۔ د سرور کالب په /etc/openvpn/server کې پیلېږي او له هغه ځایه %i.conf باروي۔ د کلاینټ کالب په /etc/openvpn/client کې پیلېږي۔ د roaming په نامه نمونه کولای شي په یو وخت کې په دواړو ځایونو کې وي، د سرور او کلاینټ په توګه، د دوو بې‌اړیکو ترتیباتو سره او د تار پرته د دوی ترمنځ هېڅ اړیکه نه وي۔

له فایل سیستم پرځای systemd وپوښتئ، ځکه چې د بنډل جوړونکي اضافي فایلونه ورزیاتوي چې کولای شي کاري پوشه یا هغه دلیلونه بدل کړي چې باینري یې ترلاسه کوي۔

systemctl list-units --type=service 'openvpn-*@*'
systemctl cat [email protected]
systemctl show -p WorkingDirectory -p ExecStart [email protected]

لومړی امر هر جوړ شوی واحد لیست کوي، هغه هم چې ناکام شول او بار شوي پاتې شول۔ دویم د واحد فایل د هر ډول بیا لیکنې سره چاپوي۔ دریم د هغو دوو حقیقتونو لیدو تر ټولو ګړندۍ لاره ده چې پوښتنه حل کوي: هغه پوشه چې پروسه پکې پیلېږي، او هغه ترتیبي لار چې ورته ورکړل شوې۔

د پاکټ لوري ته کتنې سره پرېکړه وکړئ، نه د انټرفیس نوم له مخې

سرور نمونه اورېدونکی ساکټ لري او اړیکې مني۔ د هغې کوډ شوی لېږد په Pi کې سیمه‌ای ننوت او سیمه‌ای وتل دی، په داسې حال کې چې هغه ترافیک چې د کاروونکو لپاره یې لېږدوي د لېږد لاره تعقیبوي او د بلې قاعدې ټولګې تابع دی۔ کلاینټ نمونه په دې معنا اورېدونکی نه لري: دا یو همکار ته زنګ وهي، نو د هغې کوډ شوی لېږد د لاندې طبقې په لور سیمه‌ای وتل دی۔

دا توپیر تاسو ته وایي چې یوه قاعده چېرته اړه لري۔ د لېږد زنځیر دننه د انټرفیس سره سمون لرونکې قاعده یوازې هغه ترافیک اجازه کوي چې لارښوونه یې لا دمخه ټاکلی وي؛ دا هېڅکله لار نه ټاکي۔ کله چې د ګرځنده کاروونکي پاکټونه غلطې لارې ته ووځي، د کتنې وړ زنځیر forward دی، نه output۔

له نظري بحث دمخه ساکټونه وګورئ۔ په udp/1194 تړل شوی سرور اورېدونکی ساکټ ښیي۔ کلاینټ د برابرونکې د پتې سره تړاو ښیي او هېڅ اورېدونکی نه لري۔

ss -lunp | grep openvpn
ss -unp state established '( dport = :1194 or sport = :1194 )'

د یوې نمونې اصلي لار د بلې ځوابونه نیولي شي

هغه redirect-gateway چې پورتنۍ کلاینټ یې ټېل وهی، اصلي لار نصبوي چې پر ماشین د هر بل شي سره سیالي کوي، په شمول هغه ځوابونه چې سرور ګرځنده کاروونکو ته لېږي۔ OpenVPN د خپلې همکارې پتې لپاره استثنا کوي ترڅو تونل لاسرسی‌منونکی پاتې شي، خو دا استثنا د هوټل په شبکه کې پرته تلیفون په اړه هېڅ نه وایي۔

نښه معمولاً ناسم‌اندازه ده۔ لاس ورکول بشپړېږي، کلاینټ اړیکه اعلانوي، او ترافیک د لومړي ځوابي پاکټ وروسته مري۔ د سرچینې پر بنسټ پالیسي لارښوونه، یا د پاکټ نښه چې په سرور نمونه باندې د --mark سره کیښودل شي، دوه بهیرونه جلا ساتي؛ له دوی څخه هیڅ یو یوازې بشپړ قاعدې ټولګه نه ده، او دواړو ته په هغه جدول کې سمې لارې ته اړتیا ده چې دوی یې ټاکي۔

د تونل حالت پرځای سیمه‌ای پرېکړه وآزمایئ، ځکه چې کرنل له دې دمخه سرچینه او انټرفیس ټاکي چې OpenVPN پاکټ وویني۔

ip route get 203.0.113.44
ip rule show

یوه رول بیا پیل کړئ او ثابته کړئ چې بله ژوندې پاتې شوه

کله چې دواړه رولونه پر یوه لاندې طبقه باندې تکیه وي، ترتیب مهم دی۔ که د کاروونکو ترافیک لېږلو دمخه پورتنۍ لار باید موجوده وي، لومړی کلاینټ بیا پیل کړئ، او کله چې یوازې د هغې اورېدونکی یا حوض بدلوئ، لومړی سرور بیا پیل کړئ۔ په هر حال وروسته دواړه واحدونه تایید کړئ، ځکه چې ناکامه بیا پیلول بله رول له پخواني حالت سره روانه پرېږدي۔

له بدلون دمخه د درېدو شرط ولیکئ: آیا پورتني تونل له لاسه ورکول ګرځنده کاروونکي بندوي، که د Pi خپل پورتني لینک ته بېرته ورګرځي؟ DNS او IPv6 هم روښانه ځواب ته اړتیا لري، ځکه چې ټېل وهل شوی حل کوونکی ډېری وخت له هغې لارې اوږد ژوند کوي چې هغه یې ګټور کړی۔

systemctl restart [email protected]
systemctl is-active [email protected]
journalctl -u [email protected] -n 20 --no-pager

بدلون یوازې هغه وخت ومنئ چې درې شیان په یو وخت سم وي: نوې راتلونکې اړیکه بشپړېږي، لېږد شوی اپلیکیشن د نیت شوي وتلو له لارې خپل منزل ته رسېږي، او دواړه پروسې لا هم خپل تمه شوی همکار اعلانوي۔ که له دریو څخه یو ناکام شي، تاسو غلطه نمونه یا غلطه لار بدله کړې، او بل ګام دا نه دی چې بل څه بیا پیل کړئ، بلکې دا دی چې واحد بیا ولولئ۔

اړوندې مقالې