ڈبل NAT اور آپ کا VPN: کلائنٹ چلتا ہے، سرور نہیں
پتوں کا ترجمہ کرنے والے دو راؤٹر باہر جانے والے VPN کلائنٹ کو شاذ و نادر ہی روکتے ہیں۔ ان کے پیچھے سرور کی میزبانی زیادہ مشکل ہے، خاص طور پر جب بیرونی تہہ کیریئر گریڈ NAT ہو۔
آپ کا راؤٹر دوسرے راؤٹر کے پیچھے ہے، WAN پتہ نجی ہے، اور VPN کلائنٹ پھر بھی جڑ جاتا ہے۔ یہ امتزاج اُن لوگوں کو حیران کرتا ہے جو سمجھتے ہیں کہ ڈبل NAT سرنگیں توڑ دے گا، لیکن ترجمہ سب سے بہتر باہر جانے والے کنکشنز ہی سنبھالتا ہے۔ اِنہی دو تہوں کے پیچھے VPN سرور کی میزبانی ہی وہ صورت ہے جو عام طور پر ناکام ہوتی ہے۔ کچھ بھی بدلنے سے پہلے کنکشن کی سمت لکھیں۔
پہلے کنکشن کی سمت لکھیں
اندرونی راؤٹر کا اسٹیٹس صفحہ کھولیں اور اُس کا WAN پتہ لکھیں، پھر اُس پتے سے موازنہ کریں جو کوئی عوامی سروس آپ کو بتاتی ہے۔ اگر دونوں مختلف ہوں تو آپ کے راؤٹر اور انٹرنیٹ کے درمیان کم از کم ایک مترجم ہے۔ اگر WAN پتہ 100.64.0.0/10 کی حد میں آتا ہے تو بیرونی مترجم غالباً آپ کے فراہم کنندہ کا ہے، اور آپ اُسے کنٹرول نہیں کرتے۔ یہ دو حقائق طے کرتے ہیں کہ آگے کے قدموں میں سے کون سا بالکل کام کر سکتا ہے۔
curl -s https://ifconfig.me
ip -brief address
traceroute -n 1.1.1.1
ڈبل NAT کا مطلب ڈبل VPN نہیں۔ ترجمہ پتے اور پورٹس دوبارہ لکھتا ہے؛ یہ دوسری خفیہ کردہ سرنگ نہیں جوڑتا، اور کچھ بھی خفیہ نہیں کرتا۔ اِن دو تصورات کو الگ رکھنا ضروری ہے، کیونکہ حل بالکل مختلف ہیں، اور اِن میں سے ایک کے لیے سیٹنگز صفحے کی بجائے آپ کے فراہم کنندہ سے بات چاہیے۔
باہر جانا: کلائنٹ پوچھتا ہے، مترجم نقشہ بناتے ہیں
باہر جانے والی سرنگ آپ کی مشین سے ایک پیکٹ سے شروع ہوتی ہے، اس لیے ہر مترجم ایک نقشہ بنا کر جواب کو واپس اندر آنے دے سکتا ہے۔ پروٹوکول، پورٹ اور بیکاری کے ٹائمر طے کرتے ہیں کہ وہ نقشہ فائدہ مند ہونے کے لیے کافی دیر رہے گا یا نہیں۔ زیادہ تر صارفی راؤٹر یہ بغیر کسی کنفیگریشن کے سنبھال لیتے ہیں۔
جو ناکامیاں واقعی نظر آتی ہیں وہ عام طور پر وقت کی حد اور پروٹوکول سپورٹ سے متعلق ہوتی ہیں، راؤٹرز کی تعداد سے نہیں۔ چند منٹ کی خاموشی کے بعد گرنے والی سرنگ ایک ختم ہوتا نقشہ ہے، اور keepalive عام جواب ہے۔ IPsec میں معیاری NAT-traversal توسیعات ہیں، اس لیے یہ کہنا کہ یہ ترجمہ عبور نہیں کر سکتا سراسر غلط ہے۔ اگر سرنگ بالکل قائم نہ ہو تو ٹوپولوجی کو قصوروار ٹھہرانے سے پہلے اینڈ پوائنٹ اور اسناد دیکھیں۔
wg show
ping -c3 10.8.0.1
اگر باہر جانے والی سرنگ ایک نیٹ ورک سے چلے اور دوسرے سے نہ چلے تو رک جائیں۔ وہ موازنہ نیٹ ورکس کے بارے میں ہے، راؤٹرز کی تعداد کے بارے میں نہیں۔
اندر آنا: فارورڈنگ صرف آپ کی ملکیت کے آلات کو محیط ہے
سرور کی میزبانی اُلٹی سمت ہے: نیا کنکشن انٹرنیٹ سے آتا ہے اور ہر تہہ سے گزر کر آپ کی مشین تک پہنچنا چاہیے۔ اندرونی راؤٹر پر پورٹ فارورڈنگ قاعدہ صرف اُس وقت مدد کرتا ہے جب بیرونی مترجم بھی وہ ٹریفک آپ تک پہنچائے۔ مقامی قاعدے کو دہرانے سے فراہم کنندہ کے آلات پر کنٹرول نہیں ملتا۔
nc -vz 203.0.113.10 51820
ss -lunp 'sport = :51820'
اندرونی راؤٹر کے WAN پتے کا موازنہ اُس عوامی پتے سے کریں جو آپ نے دیکھا، اور لکھیں کہ ہر قدر کہاں سے آئی۔ اگر WAN پتہ نجی ہے یا مشترکہ رینج میں ہے تو بیرونی تہہ ایسا ترجمہ کر رہی ہے جو آپ کنفیگر نہیں کر سکتے۔ اُن قواعد پر پوری شام صرف کرنے سے پہلے فراہم کنندہ سے پوچھیں کہ وہ کون سی اندر آنے والی رسائی کی حمایت کرتا ہے جو نافذ نہیں ہو سکتے۔ راؤٹر ہٹانا یا فائر وال کو وسیع پیمانے پر بند کرنا تشخیص نہیں ہے، اور ایک کھلے پورٹ کے لیے یہ برا سودا ہے۔
اگر بیرونی تہہ فراہم کنندہ کی ہے اور وہ فارورڈ نہیں کرتی تو رک جائیں۔ تب حمایت یافتہ جواب کوئی دوسرا رسائی طریقہ یا ریلے ہے، آپ کی طرف سے کوئی دوسرا قاعدہ نہیں۔
ایک وقت میں ایک متغیر جانچیں
ہر آزمائش میں ایک چیز بدلیں اور نتیجہ لکھیں، کیونکہ ڈبل NAT راستے میں ایک راؤٹر والے راستے سے زیادہ متغیرات ہوتے ہیں۔ پروفائل اور ڈیوائس کو مستقل رکھیں، پھر کسی دوسرے رسائی نیٹ ورک سے موازنہ کریں۔ نوٹ کریں کہ گفت و شنید ناکام ہوتی ہے یا نہیں، بیکاری کے بعد سیشن گرتا ہے یا نہیں، یا صرف نجی منزلیں ناکام ہوتی ہیں۔ وہ تین مشاہدات تین مختلف تہوں کی طرف اشارہ کرتے ہیں۔
journalctl -u wg-quick@wg0 -n 30 --no-pager
ip route get 10.20.30.40
ایک دوسرے پر چڑھنے والے نجی ذیلی نیٹ ورک الگ جال ہیں جنہیں کسی بھی مقدار کا ترجمہ درست نہیں کرتا۔ اگر آپ کا گھریلو نیٹ ورک اور دور دراز نیٹ ورک ایک ہی رینج استعمال کریں تو درمیان میں جتنے بھی مترجم ہوں، راستے کا تصادم ظاہر ہوتا ہے۔ ایک طرف کو دوبارہ نمبر دینا ہی واحد پائیدار جواب ہے۔
دور دراز گیٹ وے بھی اُتنی ہی توجہ کا حقدار ہے، کیونکہ اُس کے فارورڈنگ قواعد اور واپسی راستے گمشدہ حصہ ہو سکتے ہیں۔ جو سرنگ توثیق پاس کرتی ہے اُس کے پاس بھی کوئی قابل استعمال ایپلیکیشن راستہ نہیں ہو سکتا، اور وہ ناکامی کلائنٹ کی طرف سے یکساں دکھائی دیتی ہے۔ یہ سفر اُس وقت ختم ہوتا ہے جب آپ بتا سکیں کہ کون سی سمت ناکام ہوتی ہے اور کون سی تہہ اُس کی مالک ہے۔