انٹرنیٹ صرف VPN ایپ کے ساتھ چلتا ہے؟ چار تہوں کو جانچیں
ونڈوز پر VPN ایپ اپنے پیچھے پراکسی، ورچوئل اڈاپٹر، روٹس اور DNS چھوڑ جاتی ہے۔ چار تہوں کو اوپر سے نیچے تک چلیں، ہر ایک کے لیے لینکس اور میک او ایس کی کمانڈز کے ساتھ۔
آپ ایک ہفتے تک مفت VPN کلائنٹ یا براؤزر ایکسٹینشن استعمال کرتے ہیں، اسے بند کرتے ہیں، اور انٹرنیٹ رک جاتا ہے۔ Wi-Fi کا نشان اب بھی کنکشن دکھاتا ہے، اسی راؤٹر پر موجود دیگر ڈیوائسز ٹھیک چلتی ہیں، اور براؤزنگ صرف ایپ کو دوبارہ فعال کرنے یا اسے ان انسٹال کرنے سے واپس آتی ہے۔ یہ نمونہ انکرپشن کا پیدا کردہ انحصار نہیں ہے۔ یہ وہ کنفیگریشن ہے جو ایپ نے کہیں ایسی جگہ لکھی جہاں ٹنل کا کوئی اختیار نہیں۔
کلائنٹ ایسی سیٹنگز بدلتا ہے جو ٹنل کی ملکیت نہیں
ونڈوز یا میک او ایس پر پرائیویسی کلائنٹ عموماً ایک ساتھ تین جگہوں کو چھوتا ہے۔ یہ سسٹم HTTP پراکسی مقرر کرتا ہے، جو وہی فیلڈ ہے جو انٹرنیٹ آپشنز دکھاتا ہے۔ یہ ایک ورچوئل اڈاپٹر انسٹال کرتا ہے، اکثر TAP ڈرائیور، تاکہ پیکٹ پکڑ سکے۔ اور یہ ریزولور فہرست دوبارہ لکھ دیتا ہے، جبکہ ڈس کنیکٹ دبانے پر صرف ٹنل غائب ہوتا ہے۔
براؤزر ایکسٹینشن ایک محدود چیز ہے۔ یہ عموماً اپنا پروفائل یا وہ پراکسی بدلتا ہے جس کی ایک براؤزر پیروی کرتا ہے۔ اسی لیے ایک براؤزر ناکام ہو سکتا ہے جبکہ کمانڈ لائن ٹولز چلتے رہیں، یا اس کے برعکس: ایکسٹینشن کو کبھی دوسری تہوں کو چھونے کا اختیار ہی نہیں تھا۔ یہ طے کرتا ہے کہ کون سی تہہ بدلی گئی، اور اسی سے طے ہوتا ہے کون سے ٹولز ٹوٹیں گے۔
دونوں صورتوں میں، یہ پرانا فیصلہ ایسے سافٹ ویئر نے کیا جس کے پاس اسے واپس لینے کی کوئی وجہ نہیں تھی۔ ٹنل نظر آنے والا حصہ تھا، اور صاف طریقے سے بند ہونے والا واحد حصہ بھی وہی تھا۔ باقی سب ایسے اسٹور میں رکھی سیٹنگز ہیں جو پروسیس سے زیادہ زندہ رہتی ہیں، اس لیے ایپ ہٹانا ہی واحد قدم ہے جو تینوں کو ایک ساتھ واپس کرتا ہے۔ کسی بھی دوبارہ انسٹال سے پہلے ان اسٹورز کو پڑھنا ہی علامت کو تشخیص میں بدل دیتا ہے۔
تین باقیات، تین مختلف ناکامیاں
پہلی باقیات وہ پراکسی ہے جو کسی چیز کی طرف اشارہ نہیں کرتی: LAN پراکسی کا خانہ اب بھی نشان زد ہے، یا کنفیگریشن اسکرپٹ کا URL کسی localhost پورٹ کی طرف ہے جہاں اب کوئی پروسیس سن نہیں رہا۔ براؤزر ہر درخواست اسی مردہ پورٹ پر بھیجتا ہے اور ٹائم آؤٹ تک اٹکا رہتا ہے، جو مردہ نیٹ ورک جیسا لگتا ہے۔ دوسری وہ اڈاپٹر ہے جو اب بھی ڈیفالٹ روٹ کا مالک ہے، کیونکہ TAP-Windows ڈیوائس یا وینڈر کا روٹنگ ڈرائیور ان انسٹال کے بعد بھی حقیقی انٹرفیس رہتا ہے۔ یہ اپنا دیا گیا روٹ برقرار رکھتا ہے، اور ٹریفک ایسی ٹنل میں غائب ہو جاتی ہے جو موجود نہیں۔ کوئی بھی باقیات اپنا اعلان نہیں کرتی؛ دونوں بالکل آؤٹیج جیسی لگتی ہیں۔
تیسری DNS ہے، اور یہ باقی دو سے پہلے ناکام ہوتی ہے۔ اگر ریزولور فہرست میں صرف وہ سرورز ہوں جو ٹنل سے قابل رسائی ہیں، تو ایک صفحہ طلب کرنے سے پہلے ہر لوک اپ ٹائم آؤٹ ہو جاتا ہے، اس لیے براؤزر مردہ پراکسی کے بجائے ناقابل رسائی سائٹ بتاتا ہے۔ آپ کے پاس کوئی بھی ہو، ان میں سے کوئی بھی نیٹ ورک کے معنی میں آؤٹیج نہیں ہے۔ ہر ایک ایسی باقیات ہے جسے کسی نے منسوخ نہیں کیا، اور ہر ایک مختلف جگہ ٹھیک ہوتی ہے۔
چار تہوں کو نیچے کی طرف چلیں
ایپلیکیشن کے سب سے قریب سے شروع کریں اور نیچے کی طرف چلیں، کیونکہ تہیں اسی ترتیبِ نظر میں ناکام ہوتی ہیں۔ ایک ٹیسٹ میں صرف ایک تہہ بدلیں، اور ہر ایک کے بعد دوبارہ جانچیں۔ سب کچھ ایک ساتھ ری سیٹ کرنا عموماً براؤزنگ واپس لے آتا ہے اور آپ کو یہ بتانے کے قابل نہیں چھوڑتا کہ کون سی باقیات سبب تھی، اس لیے اگلی انسٹال وہی معمہ دوبارہ بنا دیتی ہے۔ ترتیب یہ ہے: پراکسی، اڈاپٹرز، روٹس، ریزولورز۔
ونڈوز پر ہر جانچ ایک ہی کمانڈ ہے جو آپریٹنگ سسٹم کے ساتھ آتی ہے، اس لیے کچھ انسٹال کرنے کی ضرورت نہیں۔ انہیں ترتیب سے چلائیں اور آؤٹ پٹ ساتھ رکھیں، کیونکہ چاروں جواب صرف ساتھ ساتھ معنی رکھتے ہیں۔ وہ اسی ترتیب سے پراکسی، اڈاپٹرز، IPv4 روٹس اور ریزولور فہرست بتاتے ہیں:
netsh winhttp show proxy
Get-NetAdapter
route print -4
Get-DnsClientServerAddress
لینکس اور میک او ایس کی اپنی کمانڈز ہیں، اور وہ ایک دوسرے کے متبادل نہیں۔ لینکس پر روٹس ip route سے آتے ہیں اور ریزولور resolvectl status سے، جہاں systemd-resolved اس کا مالک ہو، اور fallback کے طور پر cat /etc/resolv.conf۔ میک او ایس پر روٹس netstat -rn سے، ریزولورز scutil --dns سے، اور سسٹم پراکسی scutil --proxy سے آتی ہے۔ میک او ایس کا کوئی قاری جو ip route چلائے، command not found پائے گا، اور وہاں /etc/resolv.conf ایک تیار شدہ اسٹب ہے، مستند کنفیگریشن نہیں۔ تہہ جانچنے سے پہلے پلیٹ فارم جانچیں، ورنہ پہلی کمانڈ ہی نتیجہ بن جائے گی۔
ہر تہہ کے لیے ایک سوال پوچھیں: جب ایپ بند ہو تو کیا یہ قدر اب بھی کسی ایسی چیز کی طرف اشارہ کرتی ہے جو موجود ہے؟ مردہ پورٹ پر پراکسی، بغیر ٹنل والا اڈاپٹر، بند انٹرفیس سے گزرنے والا ڈیفالٹ روٹ، اور ٹنل کے اندر ریزولور — سب کا جواب نہیں ہے۔ کوئی ایک نہیں بھی علامت کی وضاحت کے لیے کافی ہے، اسی لیے ایک ٹیسٹ میں ایک تبدیلی اہم ہے۔
پراکسی ٹنل نہیں ہوتی
پراکسی درخواست قبول کرتی ہے، اسے کہیں اور سے لاتی ہے اور جواب واپس دیتی ہے، یعنی یہ منزل جانتی ہے اور وہ سب دیکھتی ہے جو سائٹ نے خود انکرپٹ نہیں کیا۔ یہ دوسرے پروٹوکول نہیں اٹھاتی۔ یہ راستے کی حفاظت نہیں کرتی جب تک منزل پہلے سے TLS استعمال نہ کرے۔ اور اسے وہ بھی بدل سکتا ہے جس نے اسے انسٹال کیا، آپ کی شرکت کے بغیر۔
یہ فرق اس سوال کو بدل دیتا ہے جو پوچھنے کے قابل ہے۔ جب پراکسی پیچھے رہ جائے تو یہ معلوم کریں کہ کون سا پروگرام اب بھی آپ کا براؤزر چلا رہا ہے، نہ کہ یہ کہ ٹنل اٹھی ہوئی ہے یا نہیں۔ ٹنل بالکل صحت مند اور ناکامی سے مکمل غیر متعلق ہو سکتی ہے۔
اگر آپ جاننا چاہتے ہیں کہ ایسے کلائنٹ نے واقعی کیا کیا، تو اس کے ڈیش بورڈ کے بجائے اس کا مشاہدہ کریں۔ Process Monitor ریکارڈ کرتا ہے کہ یہ کن رجسٹری کیز اور فائلوں کو چھوتا ہے، جبکہ پیکٹ کیپچر بتاتا ہے کہ اس کی ٹریفک کہاں گئی۔ دونوں عام ٹولز ہیں، اور دونوں کسی بھی اسٹیٹس لائٹ سے بہتر طریقے سے باقیات والے سوال کا جواب دیتے ہیں۔ کسی کے لیے ایپ کا اب بھی چلنا ضروری نہیں۔
کمپوننٹ ہٹائیں، ثبوت نہیں
پائیدار حل یہ ہے کہ جو چیز سیٹنگ لکھتی ہے اسے ہٹا دیں۔ ایپ ان انسٹال کریں، اس کا شامل کردہ ورچوئل اڈاپٹر حذف کریں، پراکسی اور ریزولور فہرست صاف کریں، پھر ریبوٹ کریں اور ایپ کے اب بھی غیر نصب ہونے کی حالت میں جانچیں۔ اگر اس وقت براؤزنگ چلتی ہے تو آپ نے وجہ پا لی ہے، کوئی عارضی حل نہیں۔ نوٹ رکھیں کہ کون سی تہہ پرانی تھی، کیونکہ وہی وینڈر عموماً وہی غلطی دو بار بھیجتا ہے۔
اگر اگلا کلائنٹ انسٹال کرنے کے بعد علامت واپس آ جائے تو یہ فیصلہ کرنے سے پہلے کہ سروس نے کچھ توڑا ہے، دوبارہ چاروں تہوں پر چلیں۔ ثبوت عموماً اب بھی وہیں، چار میں سے کسی ایک جگہ موجود ہوتا ہے۔ دوسری ایپ پانچویں تہہ نہیں بناتی؛ وہ چار میں سے کسی ایک کو بدلتی ہے۔
دوبارہ انسٹال پراکسی ری سیٹ کرتا ہے لیکن پرانا اڈاپٹر نہیں، اور ہو سکتا ہے فہرست میں دو ریزولور چھوڑ دے۔ یہی عدم توازن ہے جس کی وجہ سے ان انسٹال کے بعد جانچنا ری سیٹ آل کے بٹن سے بہتر ہے۔ یہ آپ کو اگلی بار کنکشن گرنے پر موازنے کے لیے بنیاد بھی دے دیتا ہے۔