127.0.0.1 پر DNAT کو خصوصی احتیاط کی ضرورت کیوں ہے
بیرونی ٹریفک کو لوپ بیک سے بندھے پراکسی جزو کی طرف ری ڈائریکٹ کرتے وقت route_localnet کو سمجھیں۔
ایک سروس 127.0.0.1:1080 پر سن رہی ہے۔ DNAT قاعدہ آنے والی ٹریفک کو اسی پتے کی طرف بھیجتا ہے، پھر بھی کنکشن ناکام ہو جاتا ہے۔ سروس صحت مند ہو سکتی ہے اور NAT قاعدہ بھی میل کھا سکتا ہے: IPv4 لوپ بیک پتوں کو روٹنگ میں خاص سلوک ملتا ہے۔
لینکس کا route_localnet طے کرتا ہے کہ روٹنگ کے دوران 127/8 پتوں کو مریخ کے پتے سمجھا جائے یا نہیں۔ اس کی طے شدہ قدر معمول کی لوپ بیک حد برقرار رکھتی ہے۔ کسی مخصوص انٹرفیس کے لیے استثنا دانستہ مقامی ری ڈائریکشن کے ڈیزائن کے لیے متعلقہ ہو سکتا ہے۔
اسی لیے کسی دوسری مشین کا کام کرنے والا قاعدہ اس sysctl پر منحصر ہو سکتا ہے جو آپ نے نقل نہیں کیا۔ لیکن یہ اس آپشن کو ہر جگہ فعال کرنے کا جواز نہیں بنتا۔
سیکیورٹی مفروضہ راستے کے ساتھ بدلتا ہے
لوپ بیک بائنڈنگ اکثر اس لیے استعمال ہوتی ہے کہ کسی معاون جزو کے پاس آزاد کلائنٹ توثیق نہیں ہوتی۔ اگر کسی دوسرے انٹرفیس سے آنے والی ٹریفک وہاں روٹ ہو سکتی ہے تو صرف بائنڈ پتہ اب قابل رسائی سامعین کی وضاحت نہیں کرتا۔ اصل قواعد کے مجموعے میں داخلے کے ذرائع، منزل اور پورٹ محدود کریں، اور جہاں متعلقہ ہو وہاں لوپ بیک ماخذ یا منزل کے پتوں کا دعویٰ کرنے والی ٹریفک بھی شامل کریں۔
سروس والے نیٹ ورک نیم اسپیس کا جائزہ لیں۔ کنٹینر کا لوپ بیک میزبان کا لوپ بیک نہیں ہے، اور میزبان انٹرفیس کی ترتیب بدلنے سے کنٹینر میں خود بخود سننے والا پیدا نہیں ہوتا۔
rp_filter ماخذ راستے کی توثیق کے بارے میں ایک الگ سوال کا جواب دیتا ہے۔ اسے عالمی سطح پر بند کرنا لوپ بیک روٹنگ سمجھنے کا عام متبادل نہیں ہے۔ اسی طرح ip_nonlocal_bind ساکٹس کو غیر مقامی پتوں سے باندھنے کے بارے میں ہے، اس DNAT راستے کو درست بنانے کے بارے میں نہیں۔
آخر میں، ری ڈائریکٹ شدہ پروٹوکول سننے والے سے مطابقت رکھنا چاہیے۔ SOCKS پورٹ پر خام HTTP یا TLS ٹریفک بھیجنے کے لیے اب بھی مترجم درکار ہے؛ روٹنگ استثنا غائب گفت و شنید فراہم نہیں کر سکتا۔