تاسو یوه پالیسي لاره اضافه کړه چې د VPN کلینټ ترافیک هغه هوسټ ته لیږي چې د 1080 پورټ په سر SOCKS اورېدونکی چلوي۔ پاکټونه رسیږي، اورېدونکی هېڅ نه ثبتوي، او اړیکه ځړېدلې پاتې کیږي۔ په لاره کې هېڅ غلطي نشته: بله ټوپ ټاکي چې پاکټ چېرته ځي، او SOCKS هغه خبرې اترې ده چې کلینټ باید پیل کړي۔ هغه درې معمارۍ پرتله کړئ چې خلک معمولاً یې مانا لري کله چې ترافیک د پروکسي له لارې لیږي، او څرګندیږي چې ستاسو په ترتیباتو کې کومه برخه نسته۔

لارښوونه، DNAT او SOCKS بېلابېل شیان بدلوي

پالیسي لاره د 3 پوړ پریکړه بیا لیکي۔ یو کلینټ ترافیک ټاکل شوې بلې ټوپ ته لیږلو لپاره دوه کرښې کافي دي:

ip route add default via 10.50.0.2 table 101
ip rule add from 10.77.0.2 lookup 101

له هغې وروسته کرنل پاکټ 10.50.0.2 ته سپاري، او اصلي منزل لا تر اوسه د IP په سرلیک کې دی۔ که 10.50.0.2 روټر وي، پاکټ لیږدوي۔ که هغه هوسټ وي چې په 1080 کې SOCKS ډیمون لري، پاکټ هغه څه ته نه دی استول شوی چې منلی یې شي، او 1080 پورټ ته DNAT هم مرسته نه کوي، ځکه ژباړل شوی پاکټ لا هم د SOCKS سلام پر ځای د اپلیکیشن اصلي بار وړي۔

SOCKS5 د نسخې بایټ، د میتودونو لیست، د تصدیق تبادلې او هغې غوښتنې سره پیل کیږي چې منزل نوموي۔ هغه د اپلیکیشن ډاټا ده۔ هېڅ لارښوونې ننوتنه او هېڅ netfilter هدف هغه نه جوړوي، او په یوه کرښه کې پرتله دا ده: لارښوونه لاره ټاکي، SOCKS له سرور غواړي دویمه اړیکه جوړه کړي۔

لومړی حالت: اپلیکیشن پخپله SOCKS ویلای شي

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

curl --socks5 10.50.0.2:1080 https://docs.example.com
curl --socks5-hostname 10.50.0.2:1080 https://internal.example.com

هغه اپلیکیشنونه چې د پروکسي چاپیریال بدلونکي له پامه غورځوي، یا خام ساکټونه پرانیزي، په دې توګه نه شي مرسته کېدای۔ براوزرونه او ډېری HTTP وسایل ښه دي؛ د لوبې کلینټ، د برېښنالیک ډیمون یا د پلورونکي خپل سری باینري معمولاً نه دي۔ پوله د هر اپلیکیشن او هر پروتوکول لپاره ده، ځکه دا انتخاب د ازموینې لپاره عالي او د ټول VPN لپاره د ځواب په توګه کمزوری دی۔

دویم حالت: هغه اډاپټر چې IP بهیرونه پروکسي ناستو ته بدلوي

هغو پروګرامونو لپاره چې SOCKS نه شي ویلای، بدلون باید په هغه څه کې وشي چې IP ترافیک پای ته رسوي او د دوی په نامه پروکسي ناستې پرانیزي۔ هغه برخه د تونل انټرفېس لري، هغه بهیرونه مني چې پالیسي لارښوونې ټاکلي، د هر یوه لپاره SOCKS لاس ورکول ترسره کوي او ځوابونه بیا جوړوي۔ لاره ترافیک هغې ته استوي؛ اډاپټر هغه څه دی چې ناسته جوړوي۔

د یوې بشپړې فرعي شبکې د سپارلو دمخه د هغې اسناد ولولئ۔ ډېری اډاپټران TCP ښه وړي او UDP یوازې د SOCKS5 UDP اتحادیې له لارې سمبالوي، او هېڅ یو یې ICMP پروکسي ترافیک ته نه بدلوي، نو یو بریالی ping د پروکسي لارې په اړه هېڅ نه وایي۔ DNS بل تله ده: که اډاپټر نومونه په سیمه کې حل کړي، یوازې داخلي ریکارډونه غلط ځواب ته، یا په بشپړ ډول هېڅ ته حل کیږي۔

د حلقو مخنیوی هغه عملیاتي تفصیل دی چې چیچي۔ د اډاپټر خپلې اړیکې SOCKS سرور ته باید بیا اډاپټر ته لارښوونه نه شي، نو د هغې ترافیک په قاعده کې استثنا یا ځانګړې سرچینه پته غواړي۔ دا غلط کړئ او پروکسي ناسته به هڅه وکړي ځان پروکسي کړي۔

دریم حالت: هوسټ په رښتیا لارښوونې شوې دروازه ده

کله ناکله کار کوونکې ترتیبات هېڅ SOCKS نه لري۔ لرې هوسټ پاکټونه لیږدوي یا پرې NAT کوي، او د سرچینې پر بنسټ قاعده یوازې هغه د وتلو په توګه ټاکي۔ هغه ډیزاین قانوني دی، او څرګندوي چې ولې یو کاپي شوی ترتیب په یوه شبکه کار کوي او په بله ناکام کیږي: قاعده یو شان ده، نیمګړې برخه د بلې خوا لیږدونکې خدمت دی۔

درې حالتونه ژر جلا کیږي۔ وګورئ چې په رښتیا څه اورېدل کیږي، بیا هغه لومړني بایټونه وګورئ چې هوسټ ته رسیږي:

ss -ltnp 'sport = :1080'
tcpdump -ni eth0 -X 'tcp port 1080'

د ریښتیني SOCKS کلینټ لومړنی بار بایټ 0x05 دی، په سلام کې نسخه۔ که نیول په ځای کې د اپلیکیشن اصلي ډاټا وښیي، هېڅ SOCKS ډیمون به ځواب نه ووایي، ځکه خبرې اترې هېڅکله پیل شوې نه وې۔ که په 1080 کې هېڅ نه اورېدل کیږي، هوسټ دروازه ده، او پوښتنه دا کیږي چې ایا لیږدوي او ایا د بېرته راتلو لاره شته۔

پوړ په څلورو پوښتنو وټاکئ

ایا پروګرام پروکسي تنظیم لري؟ هغه وکاروئ او هماغه ځای ودرېږئ۔ ایا ترافیک کې UDP یا ICMP دی چې باید ژوندی پاتې شي؟ ICMP یوازې لارښوونې شوې یا NAT دروازه وړي، او UDP ته د SOCKS5 اتحادیې اړتیا ده چې دواړه خواوې یې ملاتړ وکړي۔ ایا د ماشین هر پروسه، په شمول هغه چې تاسو نه شی تنظیمولای، باید پوښل شي؟ نو تاسو ته اډاپټر ته اړتیا ده چې انټرفېس لري او بهیرونه پای ته رسوي۔ ایا تاسو کولای شئ د هغې لارښوونه، DNS او د حلقو مخنیوي استثناوې هم په غاړه واخلئ؟ که نه، ساده دروازه به لږ لګښت ولري۔

یو توپیر د ساتلو ارزښت لري۔ د VPN کلینټ خپل socks-proxy انتخاب تشریح کوي چې باندنۍ تونل اړیکه خپل سرور ته څنګه رسیږي، او د داخلي کلینټ بهیرونو د بدلون په اړه هېڅ نه وایي۔ دواړه په یوه ټیکټ کې تل ګډوډ کیږي۔ لارې ته د لاس وهلو دمخه پریکړه وکړئ چې تاسو ته کومه اړیکه پکار ده۔

اړوندې مقالې