VPN وصل شي، او درې بې‌اړیکې وسیلې په درېو بېلو لارو ناکامې شي په هماغه ماسپښین۔ mitmproxy غوښتنې لیدل بندوي، Chrome د ډیبګر غوښتنه ردوي، او Gradle BindException د یو محلي ساکټ د تړلو پر مهال غورځوي۔ شریکه شک دا دی چې تونل localhost بندوي۔ دا نشي کولی: 127.0.0.1 د کرنل په داخل کې پروسس کیږي او هېڅکله ادپټر ته نه رسېږي، ګیټ‌وې ته به څه وایو۔

درې طبقې، درې بېلې خرابۍ

هغه څه چې له کلاینټ سره بدل شول د loopback لار نه ده۔ دا یو محلي پروکسي، د ماشین د باور ذخیره او د پاکټ فلټر دي، او هر یو یې د پراختیا کوونکي د کاري جریان بېله برخه ماتوي۔ علامه په سم قطار کې اچول د تشخیص ډېره برخه ده:

SymptomLayerFirst check
Proxy sees no trafficLocal proxy or listenerss -lntp, or netstat -ano on Windows
TLS error in one tool onlyTrust storeWhich CA bundle does that runtime read?
Local bind or connect refusedPacket filter or port ownerWho holds the port, and what rule drops it?

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

له تونل نه، له اورېدونکي پیل وکړئ

کله چې 127.0.0.1:8080 کې پروکسي ترافیک اخیستل بند کړي، له درېو یو پېښ شوی: هېڅکله پیل شوی نه دی، بل پورټ یې تړلی، یا فلټر د loopback اړیکه غورځولې ده۔ د اورېدونکو ساکټونو لیستول یې په یوه کمانډ ځواب ورکوي، او دا هم ښيي چې کله دوه وسیلې په دې کې سره نه جوړېږي چې لومړی څوک و، کومه پروسه د پورټ مالکه ده۔

په لار پلټنه کې محلي پته د بل اړخ څخه همدا خبره تاییدوي۔ ip route get د loopback منزل په لور د loopback وسیله راپور کوي، هېڅکله تونل نه، چې دا یوه ګټوره جمله ده چې چمتو یې وساتئ کله چې څوک د حل په توګه د لارې بدلون وړاندیز کوي۔

د پروکسي طبقه: چاپیریال کنفیګریشن نه دی

ډېر کارپوریټ کلاینټونه HTTP پروکسي چلوي او تمه لري چې اپلیکیشنونه یې وکاروي۔ ایښودل HTTPS_PROXY په شیل کې هغه کمانډ لاین وسیلې سمول چې درناوی یې کوي، او د هغې وسیلې لپاره هېڅ نه کوي چې خپله تنظیماتي فایل لولي۔ Gradle، Selenium او gRPC هر یو خپله کنفیګریشن سره مشوره کوي، او په یو ټرمینل کې صادر شوی پروکسي د IDE لخوا پیل شوي ډیمون لپاره نه لیدل کیږي۔

د کانټینر وسیلې هغه معمول ځای دی چې دا ښکاره کیږي۔ د کانټینر loopback خپل دی، نو 127.0.0.1 د کانټینر په داخل کې هېڅکله د کوربه پروکسي نه معنی کوي؛ د کوربه پته یا د کوربه شبکې تنظیم ته اړتیا ده۔ هغه سمون چې په شیل کې کار کوي او په جوړښت کې ناکامېږي معمولاً همدا قطار دی، تونل نه۔

د باور طبقه: وسیله بله ذخیره لولي

مداخله دوهم بدلون دی، او تر ټولو ګمراه کوونکي تېروتنې تولیدوي۔ کلاینټ د څیړل شویو اړیکو لپاره خپل سند وړاندې کوي، نو هغه براوزر چې د کارپوریټ ریښې باور لري بریالی کیږي، په داسې حال کې چې د ننوتلي CA ذخیرې لرونکې وسیله ناکامېږي۔ د certifi له لارې Python requests کلاسیک مثال دی: د عملیاتي سیستم ذخیره سمه کیدای شي او غوښتنه بیا هم ناکامه شي، ځکه چې هغه رنټایم هېڅکله نه لولي۔ د تېروتنې متن کې د مداخلې یادونه نادره ده، له همدې کبله دا قطار په غلطه توګه د مات شوي پای ټکي په توګه تشخیص کیږي۔

هغه څه چې پای ټکی واقعاً وړاندې کوي د هغو سره پرتله کړئ چې وسیلې تصدیق کړي۔ openssl s_client هغه ځنځیر ښيي چې سرور لېږلی؛ د وسیلې خپل تصدیق پایله ښيي چې څه یې پرېکړه وکړه۔ کله چې سره نه ځي، REQUESTS_CA_BUNDLE یا SSL_CERT_FILE د هغه رنټایم لپاره اهر دی، او کارپوریټ ریښه باید په هغه ذخیره کې وي چې هغه رنټایم لولي، نه په یو نړیوال ځای کې چې یوازې ځینې وسیلې درناوی یې کوي۔

د نسخې بدلون چې SSL تېروتنه سمول د باور او سایفر پالیسي ثبوت دی، د VPN نه۔ د Python نزول چې SOAP کلاینټ یې وکارول د ننوتلې CA ذخیره او د TLS اصلي تنظیمات یې بدل کړل؛ د شبکې لار ونه خوځېده۔

د فلټر طبقه: دا هم کولای شي loopback وغورځوي

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

د پورټ مالکیت د دې طبقې بله نیمه ده۔ BindException معنی لري چې ساکټ نشو کولای پرانیستل شي، چې دا د اړیکې له ردیدو څخه بېله ناکامي ده۔ د فلټر تورنولو دمخه وګورئ چې آیا بله پروسه پورټ نیولی، بیا هغه قاعده ولټوئ چې محلي ترافیک غورځوي او تر ټولو تنګ اجازه اضافه کړئ چې محصول یې ملاتړ کوي۔ دوه وسیلې چې د یوه ډیبګ پورټ لپاره سیالي کوي د پالیسۍ بند په څېر ورته پیغام ورکوي، او یوازې یوه یې د فایر وال بدلون سره سمېږي۔

د Chrome ډیبګ پورټ په همدې کورنۍ کې ناکامېږي۔ براوزر پیل کیږي، ډرایور نشي کولای د DevTools پای ټکي ته ورسیږي، او پیغام شبکه ته نه، DevTools ته نوم اخلي۔ اضافي پیل بیرغونه او بې اړتیا ډرایور مدیر بدلوي چې کومه پروسه د پورټ مالکه ده، له همدې کبله یې لرې کول کله کله د VPN سمون ښکاري۔

هغه طبقه چې ناکامه شوه ورغوئ

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

VPN بیا وصلول د دې طبقو له یوې هم ازموینه نه کوي۔ دا یوازې هغه بدلون بیا چلوي چې دا یې ماتې کړې وې، له همدې کبله هماغه درې ناکامۍ له هر بیا وصلیدو وروسته بیرته راځي او له هر بیا پیل وروسته چې کلاینټ غیر فعال پریږدي ورکېږي۔

اړوندې مقالې