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

له فایر وال مخکې د SOCKS نسخه سره سمون وکړئ

ټولنیز OpenVPN د socks-proxy لپاره SOCKS5 وایي۔ هغه پراکسي ته یې ونیسئ چې یوازې SOCKS4 وړاندې کوي؛ TCP اړیکه پرانیستل کېږي او بیا ودرېږي، ځکه کلاینټ د هغې سلام ځواب ته انتظار کوي چې بل سر یې هېڅکله نه شي لوستلای۔ له دېرې بهر دا درېدل په ټول ډول د فلټر شوي پورټ په څېر ښکاري، او همدا لامل دی چې د نسخې پوښتنه له هر فایر وال قاعده مخکې راځي۔ د SOCKS پوهه لرونکی یو ګېل یې په یوه کمانډ کې حل کوي۔

curl --socks5-hostname 127.0.0.1:9050 gw.lab.example

بشپړه غوښتنه په یو وخت دوه شیان ثابتوي: پراکسي د SOCKS غوښتنه ومنله او نوم یې تحلیل کړ۔ د URL سکیم ته اړتیا نشته، ځکه curl خالي کوربه HTTP ګڼي، او دا د دې ازموینې لپاره بسنه کوي۔

هغه ګېل هغه ناکامي هم لیرې کوي چې د کلاینټ لاګ یې پټوي۔ پراکسي کولای شي براوزر ته اجازه ورکړي او بیا هم د VPN منزل رد کړي، چې بیا رد د CONNECT په مرحله کې کېږي، له هر VPN تصدیق مخکې۔ OpenVPN یوازې د مهلت خبر ورکوي، نو د پراکسي خپل ځواب هغه شاهد دی چې تاسو ته ورته اړتیا ده۔

ټرانسپورټ باید په دواړو خواوو TCP وي

SOCKS5 دلته TCP جریان لېږدوي، نو تونل خپله proto tcp-client ته اړتیا لري۔ هغه پروفایل چې لا هم UDP ته ټاکل شوی د دې لارې کار نه کوي، ځکه کلاینټ د پروتوکول د UDP ملګرتیا حالت نه کاروي۔ د پروفایل اړول ریښتینې بدلون دی نه رسمي: لرې سر باید پر همدې پورټ TCP ته غوږ ونیسي۔ بیا بار TCP په TCP کې وي، چې هلته ورکه شوې برخه دوه ځله بیا لېږل کېږي او تېزوالی کموي، او متقابلې ناستې دا له لویو لېږدونو ډېر ډېر احساسوي۔

proto tcp-client
remote gw.lab.example 8443
socks-proxy 127.0.0.1 9050

دا لارښوونه د پراکسي کوربه، اختیاري پورټ او اختیاري اعتبارنامې فایل اخلي۔ هغه په خپل پروفایل کې کېږدئ تر څو بله کاپي بل ځای ورته چلند وکړي۔

ټول زنځیر یوه کانټینر ته محدود کړئ

زنځیر کوربه کې کول یعنې د هغه ډیفالټ لار نیول او resolver په داسې حال کې پرېښودل چې وروسته یې هیڅوک نه شي تشریح کولای۔ نوم فضا یا کانټینر یې محدودوي، نو کوربه خپله لار ساتي پداسې حال کې چې SOCKS قدم او تونل یو ځای ژوند کوي۔ په هغې کې هېڅ شی د تونل وسیلې، د هغې وسیلې د تنظیم حقونو او رسېدونکي پراکسي پرته نه راځي۔ Compose خدمت دا د cap_add: NET_ADMIN او bind شوې /dev/net/tun سره ترلاسه کوي۔

cap_add:
  - NET_ADMIN
devices:
  - /dev/net/tun:/dev/net/tun

دا جوړه له privileged کانټینر څخه تنګتره ده او د وسیلې لاسرسي ټول اړین برخه ده۔ Tor کلاینټ یا بېل پراکسي کانټینر اورېدونکی برابروي۔ په دواړو حالتونو کې یې loopback ته وتړئ، او له نوم فضا څخه د کوربه له لارې ورته ورسېږئ، نه د پراکسي شبکې ته ښکاره کولو سره۔

نوم تحلیل هغه ځای دی چې جلاوالی ناکامېږي

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

docker compose exec vpn cat /etc/resolv.conf
docker compose exec vpn getent hosts internal.lab.example

که لرې خوا نوم تحلیل شي او عمومي نه، زنځیر ټاکونکی دی نه مات، او توپیر درته وایي چې هر پوښتنه کومه لار نیولې ده۔ که دواړه د کوربه څخه تحلیل شي خو په کانټینر کې هېڅ هم نه، کانټینر لا هم د کوربه resolver پور اخیستونکی دی۔ هغه resolver فایل ثبت کړئ چې وموندل شو، ځکه هماغه تنظیم دی چې باید بدل شي۔

هر قدم په ترتیب ثابت کړئ

لیست لنډ دی۔ SOCKS5 غوښتنه ځواب اخلي، تونل د پراکسي له لارې خپل اورېدونکي ته رسېږي، او له نوم فضا وتونکي پاکټونه هغه پته لېږدوي چې لرې خوا یې تمه لري۔ د لا ډېر تنظیم پر ځای هر یو یو ځل تایید کړئ۔ کله چې کلاینټ ووایي نښل شوی دی او هېڅ شی نه خوځېږي، ماتېدل نږدې تل په دویم یا دریم حقیقت کې وي۔

curl --socks5-hostname 127.0.0.1:9050 gw.lab.example
docker compose exec vpn ip route get 203.0.113.10
docker compose exec vpn getent hosts internal.lab.example

هغه ترکیب چې کار وکړ ولیکئ: SOCKS نسخه، ټرانسپورټ، resolver او د نوم فضا تنظیمات۔ دا زنځیر دویم ځل له حافظې حل کول له یادښت ډېر لګښت لري۔ هغه څلور حقیقتونه په ټکټ کې وساتئ، نه په چیټ تار کې۔

هغه زنځیر چې نښلېدل ښیي او هېڅ نه لېږدوي، معمولاً په هغه قدم کې ناکام شوی چې لا یې نه دی ثابت کړی۔ له بلې طبقې مخکې هماغه قدم وازموئ۔

اړوندې مقالې