څنګه کولی شو په هر پلیټفارم کې له کوډ څخه فعال VPN ټانل وپېژنو
ایا ټانل شته، ایا دا منزل د هغې له لارې تېرېږي، که لرې پای ځواب ورکوي؟ دا درې بېلابېلې کتنې او درې بېلابېلې اشارې دي.
«ایا VPN روښان دی؟» په حقیقت کې په یوه جمله کې درې پوښتنې دي. ستاسو کوډ ته له دوی کومه یوه ته اړتیا ده دا لومړی پرېکړه ده، او ډېری پلي کول همدا پرېږدي. ایا په دې وسیله کې ټانل شته، ایا دې منزل ته ترافیک د هغې له لارې وځي، که لرې پای ستاسو د تمې وړ هویت سره ځواب ورکوي. ځانګړنه وټاکئ، بیا هغه اشاره وټاکئ چې هغه اندازه کوي، او په پای کې په لاګ کې ولیکئ چې تاسو په رښتیا کومه اندازه کړه.
درې ځانګړنې، درې اشارې
هره یوه په یوه کرښه کې زېرمه کړو، درې پوښتنې درې بېلابېل ځوابونه لري. لاندې جدول پخپله پرېکړه ده، نه د هغې لنډیز.
| Property | Signal that answers it | What it still leaves open |
|---|---|---|
| Existence | The platform's own connection state: RAS on Windows, NetworkManager on D-Bus on Linux, scutil on macOS | Tunnels of a type the platform does not manage, which includes most third-party clients |
| Path | A route lookup for the one destination, or a scoped proxy or interface key that names the tunnel | Whether the far end is the peer you trust |
| Identity | An authenticated response from the far end, or a source-address policy applied on the server | Which local interface carried the packets |
وروستې کرښه ورو ولولئ. ځواب ورکوونکی شخصي کوربه ثابتوي چې یو څه ځواب ورکړ، نه دا چې ځواب د ټانل له لارې راغی، او د بل پای په اړه هیڅ نه وايي. که تاسو ته اړین ځانګړنه لاره وي، لاره اندازه کړئ.
شته والی: د پلیټفارم خپل حالت
Windows دا د اصلي پروفایلونو لپاره د Remote Access Service API له لارې ځوابوي. RasEnumConnections لیست کوي چې څه نښلول شوي، RasGetConnectStatus د یوې ننوتنې حالت راپور ورکوي، او RasGetLinkStatistics سرعت، د بایټ شمېرونکي او د نښلونې عمر ورزیاتوي. حدود همدا اصل دي: OpenVPN، WireGuard او د پلورونکو کلاینټونه هیڅکله د RAS نښلونه ثبت نه کوي، نو د دې ډول روغ ټانل خالي لیست ښيي او ساده کوډ هغه بند راپور ورکوي.
د Linux ډیسکټاپونه هماغه ځانګړنه د D-Bus پر NetworkManager له لارې ښیي، چېرې چې د VPN نښلونې شيان باندې PropertiesChanged کتنه په پېښه بدلوي او State ځانګړنه راپور ورکوي چې کله لینک نښلول شوي حالت ته رسېږي. له شیل څخه nmcli connection show --active هماغه معلومات لولي، او د ډیبګ پر مهال همدا غواړئ. macOS هغه لیست په System Configuration چوکاټ کې ساتي، او scutil د هغې د کمانډ کرښې لید دی. درېواړه د پلیټفارم لخوا اداره شوې نښلونه بیانوي، او درېواړه د هغه ټانل په اړه چوپ پاتې کېږي چې هغه یې نه اداره کوي.
لاره: بسته په رښتیا چېرته ځي
د نومونو سره سمون هغه لنډه لاره ده چې ټول لومړی ورته لاس وهي: انټرفیسونه لیست کړئ، تار د tun، tap، ppp یا ipsec سره وازموئ، او سمون د ثبوت په توګه ونیسئ. دا یوه اټکلي طریقه ده، او د انټرفیسونو ټولګه کېدای شي یو ډول ښکاره شي که څه ترې تېرېږي یا نه. زاړه iOS جوړښتونه همداسې ځواب ورکول او بیا وروستیو بند کړل، ځکه چې ښکاره انټرفیسونه نور دوه حالتونه نه جلا کول.
هغه څه چې هلته یې ځای ونیو د سیستم د پراکسي قاموس دی. تر هغه چې VPN نښلول شوی وي، د پراکسي تنظیماتو غوښتنه د ټانل سره تړلو انټرفیسونو ته محدودې کیلي بېرته راولي، او کله چې هیڅ نښلول شوی نه وي قاموس خالي بېرته راځي. دا د اورېدلو په پرتله کمزورې خبره ده، ځکه چې د ټانل د شتون په اړه د سیستم باور ثبتوي، نه دا چې کوم منزل یې کاروي.
Android دې تله خپله بڼه لري: vpn.connectivity خپرېدنه په ځینو جوړښتونو کې د مانیفست کې اعلان شوو ترلاسه کوونکو ته رسېږي او په نورو کې د اجرا پر مهال ثبت شوو ترلاسه کوونکو ته. دا د غوره هڅې په توګه وګڼئ، او تر شا یې مستقیمه کتنه وساتئ.
کله چې منزل مهم وي، د اډاپټر لیست پر ځای د لارښوونې جدول وپوښتئ. د پخواني ګېټوې اټکلونه په څو شبکه لرونکو ماشینونو او په هغو ټانلونو کې ماتېږي چې خپله ګېټوې نصبوي.
هویت: لرې پای وګورئ
هغه حلقه چې هره څو ثانیې لرې پای ته ICMP انګازه لېږي د دې ډول ترټولو ارزانه کتنه ده، او په ګټور لوري ناکامېږي. هغه دې هغه پتې ته ونیسئ چې یوازې د شخصي شبکې دننه شته، ځکه چې عامه پته له هرې کار کوونکې پورتنۍ اړیکې څخه ځواب ورکوي او هیڅ ثابتوي نه. چېرې چې ICMP فلټر وي، هلته د خدماتو پورټ ته لنډه TCP نښلونه هماغه کار کوي.
د سرور خوا کتنه یوازې یوه اشاره لري: د نښلونې سرچینه پته. د ساحو لیست ساتل د ساتنې کار دی، او نشي کولی ټانل له هرې بلې شبکې څخه جلا کړي چې ناڅاپه هماغه بلاک کاروي.
سخت دریځه تګلاره کولی شي ورسره ژوند وکړي. هویت نشي کولی، نو کلاینټ تصدیق کړئ، نه دا چې په دې باور وکړئ چې د هغه بستې چېرې څخه راځي.
کټګوري ثبت کړئ، نه پرېکړه
د ناکامۍ کټګورۍ په لاګ کې جلا وساتئ: هیڅ انټرفیس نشته، انټرفیس شته خو منزل ته نه رسېږي، منزل ته رسېدل کېږي خو تصدیق رد شو. دا درې بېلابېل مالکین دي، او هر یو بېلا بېلې څېړنې پرانیزي.
د دوی یو ځای کول په یوه «VPN بند» کې راپور هغه ټیم ته لېږي چې نشي یې سمولای. کټګوري ګټوره پایله ده؛ پرېکړه هماغه ده چې هغه غلطه کوي.