ایک معاونت تھریڈ “سمیٹرک NAT، یہاں VPN کام نہیں کرے گا” کی رائے پر ختم ہوتا ہے، اور پھر کلائنٹ بلا وجہ تین بار دوبارہ انسٹال کیا جاتا ہے۔ لیبل نقصان پہنچاتا ہے کیونکہ یہ ایسے سوال کا جواب دیتا ہے جو کسی نے نہیں پوچھا۔ جو کلائنٹ باہر کی طرف مستقل سرور سے جڑتا ہے وہ پہلا پیکٹ بھیجتے ہی میپنگ بناتا ہے، اور جواب کو واپس آنے کی اجازت ایسے قواعد کے تحت ملتی ہے جو تقریباً ہر نیٹ ورک نافذ کرتا ہے۔ اینڈ پوائنٹ پر منحصر میپنگ واقعی جس چیز کو پیچیدہ بناتی ہے وہ دو ہم منصبوں کی ایک ہی وقت میں ایک دوسرے تک پہنچنے کی کوشش ہے، اور وہ الگ امتحان ہے۔

ایک لیبل کے پیچھے دو سوال چھپے ہیں

پہلا سوال یہ ہے کہ کیا اس نیٹ ورک کے پیچھے کوئی ہوسٹ کسی معلوم عوامی پتے اور پورٹ پر سیشن کھول سکتا ہے۔ ٹنل کلائنٹ کے لیے یہ عام صورت ہے، اور جواب تقریباً ہمیشہ ہاں ہوتا ہے۔ راؤٹر اندرونی ماخذ درج کرتا ہے، بیرونی پورٹ مختص کرتا ہے، اور جواب کو گزرنے دیتا ہے کیونکہ وہ اندر سے شروع ہونے والے سیشن کا حصہ ہے۔

دوسرا سوال یہ ہے کہ کیا مختلف نیٹ ورکس کے پیچھے دو ہوسٹ درمیان میں سرور کے بغیر مشترکہ راستہ ڈھونڈ کر ایک دوسرے کو بھیج سکتے ہیں۔ یہ اس بات پر منحصر ہے کہ ہر نیٹ ورک وہ بیرونی پورٹس کیسے مختص کرتا ہے، اور میپنگ کے رویے کی اہمیت صرف وہیں ہے۔

دونوں کو ملا دینا وہی پرانی غلط تشخیص پیدا کرتا ہے: ہم منصبوں کی خصوصیت ناکام ہوتی ہے، کوئی NAT قسم کا امتحان چلاتا ہے، بدترین زمرہ دیکھتا ہے، اور نتیجہ اخذ کرتا ہے کہ عام ٹنل بھی کام نہیں کر سکتا۔ ناکام ہونے والی چیز کبھی ٹنل نہیں تھی۔

میپنگ اور فلٹرنگ دو الگ خصوصیات ہیں

RFC کی اصطلاحات فروشوں کے استعمال کردہ ناموں سے زیادہ درست ہیں، اور انہیں ٹکٹ میں لانا مناسب ہے کیونکہ یہ بحثوں کا فیصلہ کرتی ہیں۔ میپنگ یہ ہے کہ بیرونی پورٹ کیسے مختص ہوتی ہے۔ فلٹرنگ یہ ہے کہ کون سے آنے والے پیکٹ گزرنے دیے جاتے ہیں۔ ایک نیٹ ورک ایک میں سخت اور دوسرے میں نرم ہو سکتا ہے، اور یہی امتزاج وہ چیز ہے جسے ہم منصب پروٹوکول کو برداشت کرنا ہوتا ہے۔

BehaviourWhat it meansEffect on a direct peer path
Endpoint-independent mappingOne external port for every destinationDiscovery works if the port is advertised
Address-dependent mappingNew port per remote addressWorks only if both sides probe the same pair
Address-and-port-dependentNew port per remote address and portUsually needs a relay

تیسری قطار وہ ہے جسے زیادہ تر صارفی راؤٹر اور موبائل آپریٹر سمیٹرک کہتے ہیں۔ غور کریں کہ لیبل صرف مختص کرنے کی وضاحت کرتا ہے۔ ایسی میپنگ اور نرم فلٹرنگ والا نیٹ ورک پھر بھی ابھی مختص کی گئی پورٹ پر آنے والے پیکٹ قبول کر سکتا ہے، اسی لیے سوراخ کرنا کچھ پر کامیاب ہوتا ہے اور کچھ پر ناکام۔

فلٹرنگ کے اپنے تین معاملات اور ہر ایک کے لیے اپنا نام ہے۔ ٹکٹ میں “سمیٹرک NAT” لکھنا جب کہ مطلب “پتے اور پورٹ پر منحصر فلٹرنگ” ہو، اگلے شخص کو دستی کے غلط باب میں بھیجتا ہے۔ دونوں امتحان میں مختلف رویہ رکھتے ہیں، اس لیے غلطی محض نظری نہیں۔

نام دینے کے بجائے میپنگ ناپیں

آپ جس بھی UDP سروس کو کنٹرول کرتے ہیں اس کے سرور کی طرف سے مختص پورٹ براہِ راست دیکھ سکتے ہیں۔ عوامی ہوسٹ پر کیپچر شروع کریں، کلائنٹ سے بھیجیں، اور وہ ماخذ پورٹ پڑھیں جس کے ساتھ پیکٹ آیا:

sudo tcpdump -ni eth0 -c 10 'udp port 51820'
sudo wg show wg0 endpoints
sudo conntrack -L -p udp --dport 51820

اینڈ پوائنٹ قطار تینوں میں سب سے زیادہ مفید ہے، کیونکہ WireGuard ہر ہم منصب سے موصول آخری پتہ اور پورٹ درج کرتا ہے۔ اس پورٹ کا موازنہ اس پورٹ سے کریں جسے کلائنٹ اپنے استعمال میں سمجھتا ہے۔ جب بھی کوئی ترجمہ ہو دونوں مختلف ہوں گے، اور اہم سوال یہ ہے کہ کیا قدر مستحکم رہتی ہے۔

دوسری منزل پورٹ یا دوسرے سرور کے سامنے مشاہدہ دہرائیں اور پھر موازنہ کریں۔ اگر بیرونی پورٹ منزل کے مطابق بدلتی ہے تو میپنگ پتے اور پورٹ پر منحصر ہے۔ اگر وہ ویسی ہی رہتی ہے تو نیٹ ورک ایک ہی میپنگ دیتا ہے اور دریافت کو موقع ہے۔

STUN پر مبنی اوزار ایک ہی مرحلے میں وہی درجہ بندی بتاتے ہیں، اور جب نیٹ ورک عوامی STUN سرور تک جانے والی UDP کی اجازت دے تو انہیں استعمال کرنا مناسب ہے۔ جب اجازت نہ دے، اوپر والا کیپچر طریقہ پھر بھی کام کرتا ہے اور آپ کے کنٹرول میں پہلے سے موجود ہوسٹ کے سوا کچھ نہیں چاہتا۔

ناکامی سے مطابقت رکھنے والا حل چنیں

اگر ناکام ہونے والی خصوصیت ہم منصبوں کی ہو تو معاون جوابات ریلے، ایسی ملاقات خدمت جہاں دونوں ہم منصب پہنچ سکیں، یا مختلف ٹوپولوجی ہیں۔ TURN بالکل اسی لیے موجود ہے، اور جو مصنوعات اپنا ریلے لاتی ہیں وہ آپ کو بتاتی ہیں کہ وہ کچھ نیٹ ورکس کے مخالفانہ ہونے کی توقع رکھتی ہیں۔

اگر ناکام ہونے والی خصوصیت عام ٹنل ہو تو میپنگ کا رویہ آپ کا مسئلہ نہیں اور اوپر کا کوئی بھی لاگو نہیں ہوتا۔ جانچیں کہ کلائنٹ واقعی بھیج رہا ہے، سرور پیکٹ دیکھ رہا ہے، اور جواب واپس آ رہا ہے۔ وہ ترتیب تین مشاہدے ہیں اور اسے راؤٹر کے NAT زمرے کے بارے میں کچھ جاننے کی ضرورت نہیں۔

جو کام نہیں کرتا وہ ہے کچھ جڑنے تک مقامی پورٹ کی تبدیلیاں بکھیرنا۔ کلائنٹ کا ماخذ پورٹ بدلنا اس بات کو نہیں بدلتا کہ نیٹ ورک میپنگ کیسے مختص کرتا ہے۔ پانچویں کوشش میں اتفاقی کامیابی ایک جھوٹی مثبت ہے، اور مہینوں تک اسے حل کے طور پر نقل کیا جائے گا۔

فیصلہ نہیں، ساخت درج کریں

مفید نوٹ بتاتا ہے کہ کون سا پروٹوکول، سیشن کس سمت شروع ہوتا ہے، راستے میں ریلے ہے یا نہیں، اور تار پر کیا مشاہدہ ہوا۔ “سمیٹرک NAT، کام نہیں کرتا” بیکار ہے، کیونکہ یہ ایک ہی وقت میں ٹنل کے بارے میں غلط ہے اور ہم منصب کے راستے کے بارے میں معلومات نہیں دیتا۔

اگر آپ نے انہیں جانچا ہے تو ناپی گئی پورٹ استحکام اور فلٹرنگ کا رویہ شامل کریں۔ یہ دو حقائق کسی اور کو پوری تحقیق دہرائے بغیر اندازہ لگانے دیتے ہیں کہ نئی خصوصیت اس نیٹ ورک پر کام کرے گی یا نہیں۔ ہر معاونت صفحے پر تھوڑا مختلف معنی رکھنے والے فروش زمرے سے یہ زیادہ دیر تک قائم رہتے ہیں۔

آخر میں، یہ لکھتے وقت RFC 4787 کی اصطلاحات ہاتھ میں رکھیں۔ درست اصطلاحات استعمال کرنے کی قیمت ایک جملہ ہے اور یہ اگلے قاری کو وہی غلط تشخیص دہرانے سے روکتا ہے، اور نوٹ لکھنے کا پورا مقصد یہی ہے۔

متعلقہ مضامین