دوه بې تړاوه تېروتنې يو ډول شکايت پیدا کوي. په لومړۍ کې يو کليانټ بل ته د تونل پتې په واسطه هم نه رسېږي، ځکه چې پتې په يو subnet کې نه دي يا سرور د همکارانو تر منځ ترافيک نه لېږدوي. په دوهمه کې ping کار کوي خو د اپليکېشن د وسايلو لړليک تش پاتې کېږي، ځکه چې پيداکول پر broadcast ولاړ دي چې د 3 طبقې تونل يې نشي وړلای. يو ping دواړه بېلوي، او د هر يوه سمول د بل د سمولو سره هيڅ نه ورته دي.

يو ping ستونزه په دوه ووېشل

له يو کليانټ څخه د بل کليانټ د تونل پتې ته ping وکړئ، نه د هغه نوم ته او نه د هغه LAN پتې ته. که هغه ونشوه، لېږدول يا پته ورکول ستونزه ده او پيداکول تر سمېدو پورې بې اړيکه دي. که بريالی شو، لېږدول لا دمخه کار کوي او پاتې تشه broadcast يا د نومونو حل دی.

ip addr show tun0

له هر څه مخکې د کليانټ انټرفېس ولولئ، ځکه چې شبکه يي ماسک ټوپولوژي نوموي. /24 يا بل subnet ماسک يعنې شریکه زېرمه؛ د همکار پتې سره /30 يعنې پخوانی له نقطې تر نقطې ترتيب، چېرې چې هر کليانټ يوازې يو ګاونډی لري، سرور.

net30 د subnet پر وړاندې، د کليانټ له خوا لوستل شوی

What you observenet30subnet
Client netmask/30 with a peer addressThe pool's own mask
Peers a client can address directlyOne, the serverEvery client in the pool
AddressingOne /30 block per client, with the server as the only peerOne pool mask shared by all clients
Effect of client-to-clientRequired for any peer trafficRequired for peer traffic, still no broadcast

په net30 کې سرور هر کليانټ ته کوچنی بلاک ورکوي, نو بل کليانټ ته د تونل پتې لار نشته پرته له دې چې سرور يې ولېږدوي. په subnet کې ټوله زېرمه يو شبکه ده، هر کليانټ هر بل ته اشاره کولی شي، او سرور د دوی تر منځ لېږدوي. له همدې کبله يو سرور ترتيب روغ ښکاري خو د همکارانو تر منځ ping ناکامېږي: هيڅ شی نه دی مات، کليانټونه يوازې په يوه شبکه کې نه دي. کليانټ کار کوونکې اړيکه او بې ځوابه همکار پته ويني، چې د firewall په څېر لوستل کېږي خو په رښتيا د پتې ورکولو ترتيب دی.

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

client-to-client جلا دروازه ده

حتی په يوه subnet کې هم سرور هغه پاکټونه غورځوي چې له يو کليانټ څخه راځي او بل ته استول شوي، پرته له دې چې client-to-client ټاکل شوی وي. هغه کليدي کلمه سرور د همکارانو د ترافيک لېږدوونکی جوړوي نه يوازې منونکی پای ټکی. دا دوهم شرط دی چې خلک يې د ټوپولوژي له سمولو وروسته هېروي.

دا broadcast ته نه غځېږي. ترتيب د کليانټونو تر منځ unicast لېږدوي؛ دا تونل شریکه برخه نه جوړوي، او د هغې هيڅ اندازه به د multicast پيداکولو پوښتنه هر همکار ته ونه رسوي.

TUN د TAP پر وړاندې، او هر يو څه وړلای شي

PropertyTUNTAP
LayerLayer 3, IP packetsLayer 2, Ethernet frames
Broadcast and multicastNot carriedCarried
Bridging to the LANNot applicableRequired for a shared segment
Client platform supportEverywhereMissing on Android and iOS, limited on macOS

د tap اله په LAN کې پل کول لېرې کليانټونه د دفتر broadcast سيمې ته راولي، چې پيداکول په بشپړه توګه حل کوي. بيه يې هغه پليټ فارمونه دي چې TAP نه پلي کوي، هغه پل چې بايد پر سرور وي، او د ناکامۍ سيمه چېرې چې د دفتر په کېبل broadcast توپان هر لېرې لاپ ټاپ ته رسېږي.

د دوو يا درې کاري سټېشنونو لپاره چې د نومونو حل ته اړتيا لري، hosts ننوتنه يا unicast پته له پله ډېره ارزانه ده. TAP ته هغه وخت ورشئ چې هغه پروتوکول چې بدلولی يې نه شئ د 2 طبقې پيداکولو پورې تړلی وي، او نه له هغه مخکې.

د يوې subnet کليانټونه پرته له پله

له LAN سيمې څخه پته ورکول کليانټ پر کېبل نه کېنوي. سرور د تونل او Ethernet تر منځ لارښونه کوي، نو د هغې پتې ARP د سرور پر انټرفېس ودرېږي او د LAN پاتې برخه هېڅکله نه پوهېږي چې هغه چېرې اوسېږي.

ip neigh add proxy 10.50.1.250 dev eth0

Proxy ARP هغه تشه بندوي، سرور د کليانټ له خوا ځواب ورکوي. د سيمې لپاره parpd ننوتنې سمبالوي کله چې کليانټونه راځي او ځي، خو sysctl net.ipv4.conf.eth0.proxy_arp=1 د هر هغه څه ځواب ورکوي چې بلې خوا ته لارښودل کېږي، کوم چې دومره پراخ دی چې په بوخت برخه کې خپل حيرانتیا پیدا کړي.

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

مخکې له دې چې څه بدل کړئ، پر سرور د tcpdump -ni tun0 سره يوه هڅه ونیسئ او تثبيت کړئ چې د همکار پاکټ اصلاً راځي که نه. راتلل او غورځول کېدل client-to-client ته اشاره کوي؛ هېڅکله نه راتلل ټوپولوژي يا لارښونې ته. د OpenVPN 2.6 لارښود دواړه کليدي کلمې او پخواني ټوپولوژي مستند کوي، او د فورم پوسټ څخه کرښه کاپي کولو مخکې له خپلې بڼې سره يې پرتله کول ښه دي.

  • tun انټرفېس د /30 همکار جوړه پر ځای د زېرمې ماسک ښيي.
  • پيداکول ازمويلو مخکې بلې تونل پتې ته سيمه ييز ping بريالی کېږي.
  • کله چې همکاران پاکټونه تبادله کړي، د سرور ترتيب client-to-client لري.
  • د اپليکېشن ناکامېدو ويلو پر ځای هغه پيداکولو پروتوکول ونوموئ چې ازموئ.
  • TAP يوازې هغه وخت وکاروئ چې په ډله کې هر کليانټ پليټ فارم يې ملاتړ کوي.
  • کله چې په يوه subnet کې رسېدنه مهمه وي، NAT د تونل او LAN تر منځ له لارې بهر وساتئ.

اړوندې مقالې