ٹنل عارضی ہوتے ہیں؛ پالیسی ایسی نہیں ہونی چاہیے۔ Linux گیٹ وے پر ٹنل انٹرفیس کو نام سے ملانے والا nftables قاعدہ ایک بار لوڈ کیا جا سکتا ہے اور وہ انٹرفیس ہر بار آنے پر لاگو رہتا ہے۔ انٹرفیس کا پھر بھی ایک زندگی کا چکر ہے: یہ بنتا ہے، چلا جاتا ہے، اور اس کے اردگرد کے راستے اور تراجم اپنا الگ شیڈول رکھتے ہیں۔ ان مالکان کو الگ کرنا ہی دوبارہ جڑنے کے دوران رسائی مستحکم رکھتا ہے۔

نام کی مطابقت انٹرفیس سے زیادہ دیر رہتی ہے

nftables عددی انٹرفیس انڈیکس مطابقتیں اور متحرک نامی مطابقتیں iifname اور oifname فراہم کرتا ہے۔ یہ نام استعمال کرنے والے قواعد ٹنل ڈیوائس کے ابھی نہ بننے پر بھی صاف لوڈ ہوتے ہیں، جس کی بوٹ کے وقت قواعد کے مجموعے کو بالکل ضرورت ہوتی ہے۔ انٹرفیس کا نام بدلنے پر مطابقت رک جاتی ہے اور نیا انٹرفیس وہ نام لینے پر پھر شروع ہو جاتی ہے۔ عددی انڈیکس میں یہ خاصیت نہیں، اسی لیے ٹنل کے لیے نام والی شکل عام انتخاب ہے۔

نام مطابقت کی کنجی ہے، یہ ثبوت نہیں کہ دوسرے سرے پر کون ہے۔ ساتھی کی توثیق VPN کا کام ہی رہتی ہے۔

قواعد شامل کرنے سے پہلے زنجیر پڑھیں

دیکھیں کہ قواعد کے مجموعے میں ابھی کیا ہے اور نیا قاعدہ کہاں بیٹھے گا، کیونکہ ترتیب ہی نتیجہ طے کرتی ہے۔

nft list ruleset
nft -c -f /etc/nftables.conf

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

راستوں، ترجمے اور بہاؤ کے دوسرے مالکان ہیں

انٹرفیس کی موجودگی کوئی راستہ نہیں بناتی اور ساتھی کی توثیق نہیں کرتی۔ وہ VPN منتظم کے ہیں، جبکہ ترجمے کا تیسرا زندگی کا چکر ہے۔

conntrack -L -s 10.20.0.0/24 | head
ip route show dev vpn0

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

ٹھنڈا آغاز، نقصان اور بحالی قبول کریں

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

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

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