یو OpenVPN کلاینټ ته اجازه ورکړئ چې له SSH لارې بل ته ورسېږي پرته له دې چې ډنډ پرانیزي
client-to-client بند وساتئ، کرنل ته اجازه ورکړئ چې یو بهیر تېر کړي، او د ډنډ پاتې برخه بنده وساتئ. پر سرور دوه قاعدې او پر منزل یوه.
یو کلاینټ باید د بل کلاینټ SSH خدمت ته ورسېږي، او د ډنډ پاتې برخه باید د نن په څېر جلا پاتې شي. هڅوونکې تڼۍ client-to-client ده، چې د ټولو لپاره په یو وخت کې همکارنیا لاسرسی پرانیزي او پرېکړه د کرنل پر ځای OpenVPN ته سپاري. تنګتر ځواب هغه تڼۍ بنده ساتي او د سرور خپله لارښونه او اورمېږی دې ته پرېږدي چې په سمه توګه یو بهیر یوسي.
مېکانېزم د قاعدې له متن څخه مهم دی، ځکه دواړه لارې کڅوړه په بېلو ځایونو کې ږدي. پوهېدل چې کومه مو غوره کړه، هغه قاعده هم ښيي چې ګواکې هېڅ نه کوي او هغه همکار هم چې پرته له دې نښلول کېږي.
client-to-client کڅوړه چېرې لېږدوي
کله چې client-to-client روښانه وي، سرور د همکار کڅوړه دننه تېروي نه دا چې بېرته د تونل وسیلې له لارې وباسي، نو کڅوړه هېڅکله د کرنل تېرونې لارې ته نه رسېږي. دا اسانه ده او دا هم مانا لري چې ستاسو اورمېږی هغه بهیر هېڅکله نه ویني چې باید څارنه یې وکړي. اختیار بند پرېږدئ او سرور کڅوړه بیا همدې برخې له لارې بهر لارښوونه کوي، چې هغه د netfilter مخې ته کېږدي. همدا برخه ننوځي، همدا وځي، او FORWARD زنځیر غږ لري.
بدلون څرګند دی: یوه پالیسي ټکی ګټئ او هغه لارښونه او تېرونه په غاړه اخلئ چې لنډه لار ستاسو لپاره کوله. هغه کار د یو بهیر لپاره کوچنی دی او له هر هغه استثنا سره چې ورزیاتوئ لویېږي. اوس استثناوې وشمېرئ، ځکه د قاعدو ټولګه هغه ځای دی چې د همکارانو ترمنځ پالیسي واقعاً هلته ژوند کوي.
هغه لار چې د همکار کڅوړه واقعاً پرې ځي
فرض کړئ چې Linux Community OpenVPN 2.6 خدمت، په کارنځای کې TUN پروسس د DCO پر ځای، د فرعي شبکې ټوپولوژي، tun0، او د 10.44.0.0/24 ډنډ چې کلاینټ A پر 10.44.0.21 او کلاینټ B پر 10.44.0.37 دی. د فرعي شبکې په ټوپولوژي کې هغه پته او ماسک چې A ترلاسه کړی لا دمخه ډنډ پوښي، نو A کڅوړه پرته له اضافي ټېل وهل شوې لارې تونل وسیلې ته لېږي. پر A باندې ریښتینې لار وګورئ نه دا چې یوه فرض کړئ.
پر سرور کڅوړه د B په پته رارسېږي، چې کورنۍ پته نه ده، نو تېرول کېږي. IPv4 تېرونه باید روښانه وي څو دا کار اصلاً وشي، او د لارې پلټنه باید کڅوړه بیا tun0 ته بهر ولېږي. نو اورمېږی له دواړو خواوو همدې برخې سره تېره شوې بهیر ویني، او همدا هغه تفصیل دی چې ډېری د قاعدو ټولګې یې له لاسه ورکوي. دلته د سرچینې ژباړې ته اړتیا نشته، او د A پته بشپړه ساتل هماغه شی دی چې B ته اجازه ورکوي خپله سرچینه بنسټ قاعده پلي کړي.
پر سرور دوه قاعدې، په دې ترتیب
درې قاعدې ټوله اجازه پورته کوي: تېرونه، د جوړې استثنا، او د تونل جوړې لپاره تلواله غورځونه. د منلو قاعده جوړه او خدمت نوموي، نو اجازه په لویېدونکي ډنډ کې پاتې کېږي. هغه له هرې عمومي منع مخکې کېږدئ چې د تونل-تر-تونل ترافیک لپاره وي، ځکه لومړی سمون ګټي:
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i tun0 -o tun0 -s 10.44.0.21 -d 10.44.0.37 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i tun0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i tun0 -o tun0 -j DROPهغه حکمونه بېلګه دي او هغه مېکانېزم ته اړوند دي چې کوربه مو د قاعدو ساتلو لپاره کاروي؛ د چلېدو پر مهال ننویستل د بل پیل په وخت ورکېږي. حالت لرونکې قاعده هماغه ده چې د B ځوابونه او د TCP لاس نښلون پرته له دویمې، سېلېدلې منلو بېرته راځي.
وروسته شمېرونکي وګورئ نه د قاعدو لیست، ځکه هغه قاعده چې هېڅکله سمون نه کوي د کار کوونکې په څېر ښکاري. که شمېرونکي په صفر پاتې شي، کڅوړه هغه لار نه لټوي چې تاسو فکر کوئ.
B باید لا هم څه ته اجازه ورکړي
B د SSH خدمت چلوي، نو B پرېکړه کوي چې پر تونل پته څه اورېدل کېږي که نه او د هغه خپل کوربه اورمېږی سرچینه مني که نه. پر سرور د شبکې اجازه د B پر هېڅ حساب لپاره اجازه نه ده، او د کوربه کیلي تصدیق او د کارن تصدیق لاهم د هر بل ځای په څېر پلي کېږي.
لومړی مثبته پېښه وآزموئ: له A څخه د B تونل پتې ته نوی SSH نښلون، چې د تمه شوې کوربه کیلي سره ومنل شي. بیا بل همکار یا بله بندر وآزموئ او تایید کړئ چې رد کېږي، ځکه هغه اجازه چې په خاموشۍ سره هر څه اجازه ورکوي د کار کوونکې څخه نه توپیرېږي تر هغه چې مهمه شي. د هغې آزمېښت دواړه نیمې اړینې دي، او دویمه هغه ده چې خلک یې پرېږدي.
ټاکل شوې پتې، پر دواړو کلاینټونو ریښتینې لارې او پر سرور او پر B باندې سمې قاعدې ولیکئ. ګېټوې ته بریالی ping یا پر سرور پرانیستې بندر د دې هېڅ نه ثابتوي، ځکه دواړه سم کېدای شي په داسې حال کې چې د همکارانو ترمنځ تېرونه لا بند وي. هغه شمېرې ولیکئ کله چې تونل پورته وي، ځکه هغه پته چې کلاینټ له بیا نښلون وروسته ترلاسه کوي کېدای شي بله وي.