nftables: VPN اجازت کا قاعدہ drop ہینڈل سے پہلے داخل کریں
nftables میں، insert اور add قاعدہ کو ہینڈل کے مخالف اطراف میں رکھتے ہیں۔ drop تلاش کریں، طرف منتخب کریں، پھر قواعد کا مجموعہ بدلنے سے پہلے فائل جانچیں۔
اجازت کا قاعدہ غلط جگہ رکھیں تو یہ ایسے برتاؤ کرتا ہے جیسے قاعدہ ہی نہ ہو۔ nftables میں insert اور add کے درمیان انتخاب طے کرتا ہے کہ نیا بیان کس طرف اشارہ شدہ قاعدہ کے ہوگا، اور ہینڈل زندہ قواعد کے مجموعے میں قاعدہ کو نام دیتا ہے، اس کی سطر نمبر کو نہیں۔ جگہ غلط ہو تو پیکٹ پہلے drop تک پہنچتا ہے۔
نیچے دیا گیا موازنہ ایک مقررہ ساتھی اور ایک بیرونی سامع کی تبدیلی استعمال کرتا ہے۔ یہ جان بوجھ کر تنگ ہے؛ پوری زنجیر بدلنا مختلف خطرے کے پروفائل والی دوسری تبدیلی ہے۔
دو جگہیں، دو مختلف نتائج
insert اشارہ شدہ قاعدے سے پہلے قاعدہ رکھتا ہے۔ add اسے بعد میں رکھتا ہے۔ اگر اشارہ شدہ قاعدہ بہاؤ کے لیے آخری drop ہے، تو قاعدے کا متن یکساں ہونے کے باوجود یہ دو حکم الٹ نتائج دیتے ہیں۔
جگہ چھوڑ دینے کا اپنا طے شدہ رویہ ہے، جو فورم سے حکم نقل نہ کرنے کی ایک اور وجہ ہے—بغیر پڑھے کہ وہ کس سے منسلک ہے۔ اینکر ہی پورا فیصلہ ہے۔ حکم لکھنے سے پہلے مطلوبہ طرف لکھ لیں۔ فائل میں insert اور add ایک لفظ کے فرق پر ہیں۔
جگہ کسی مخصوص زنجیر کے قاعدے کے حوالے سے ہے۔ وہی بیان دوسری زنجیر یا دوسری hook ترجیح میں منتقل کرنے سے بدلتا ہے کہ وہ کون سے پیکٹ دیکھتا ہے، قاعدے کی نحو درست لگنے پر بھی۔
ہینڈل قاعدے کی شناخت کرتا ہے، سطر نمبر کی نہیں
42 جیسا ہینڈل موجودہ قواعد کے مجموعے کی حالت میں ایک شناخت کنندہ ہے۔ یہ بیالیسواں قاعدہ نہیں ہے، اور میزبانوں، دوبارہ تعمیرات یا اپنی ترتیب دوبارہ لوڈ کرنے والے منتظم کے درمیان یہ مستحکم نہیں ہے۔
اینکر منتخب کرنے سے پہلے زنجیر اور حقیقی آخری drop تلاش کریں۔ پھر drop دکھانے والی اسی فہرست میں اس قاعدے پر ہینڈل کی تصدیق کریں، تاکہ نمبر اور قاعدہ ساتھ پڑھے جائیں۔ پرانی فہرست سے پڑھا گیا ہینڈل پہلے ہی کسی دوسرے قاعدے کا ہو سکتا ہے۔ اسے اس سیشن میں دوبارہ پڑھیں جو تبدیلی لاگو کرے گا۔
iptables --version
nft -a list ruleset
iptables کا ورژن بتاتا ہے کہ کون سا backend استعمال ہو رہا ہے۔ iptables-nft قواعد کا مجموعہ اور آزادانہ طور پر منظم مقامی جدول ساتھ رہ سکتے ہیں، اس لیے ایک frontend کی فہرست خود بخود مکمل فلٹرنگ تصویر نہیں ہے۔ زنجیر منتخب کرنے سے پہلے دونوں منظر جانچیں۔
وہ زنجیر اور قاعدہ تلاش کریں جو واقعی drop کرتا ہے
input hook، زنجیر کی ترجیح اور اس سامع بہاؤ کو مسترد کرنے والا قاعدہ پڑھیں۔ inet جدول دونوں پتہ خاندان رکھ سکتا ہے، مگر ایک قاعدہ اب بھی صرف IPv4 سے میل کھا سکتا ہے۔
ایک منظور شدہ ساتھی لیں، مثال کے طور پر دستاویزی حد سے 198.51.100.25 استعمال کرتے ہوئے۔ جائزہ شدہ مقامی فائل ہینڈل 42 سے پہلے بیرونی اجازت رکھ سکتی ہے:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
جانچ کے بعد خاندان، جدول، زنجیر، ہینڈل، داخلہ انٹرفیس اور ساتھی بدلیں۔ مثال nft 1.0.9 کے لیے دستاویز شدہ ہینڈل-جگہ شکل استعمال کرتی ہے، اور وہ input فائل میں آتی ہے؛ حکم انٹرایکٹو لکھے جانے پر بریکٹ کا حوالہ الگ معاملہ ہے۔
ترتیب کا مالک واضح رکھیں۔ اپنے قواعد دوبارہ بنانے والا منتظم رن ٹائم ترمیم پر لکھ سکتا ہے، اور پرانا ہینڈل ہارڈ کوڈ کرنے والی بوٹ اسکرپٹ یا ناکام ہوگی یا غلط قاعدے سے جڑ جائے گی۔
اجازت محدود ہے، drop آخری ہے
اجازت کا فیصلہ اپنے موجودہ راستے میں جانچ ختم کرتا ہے، مگر بعد میں لاگو ہونے والی بنیادی زنجیر اب بھی پیکٹ drop کر سکتی ہے۔ drop کا فیصلہ آخری ہے۔ اسی لیے بڑھتا ہوا اجازت کا شمار بہاؤ کی کامیابی کا ثبوت نہیں ہے۔
ایک زنجیر کو الگ جانچنے کے بجائے تمام متعلقہ hook ترجیحات جانچیں۔ پیکٹ input فلٹر پار کر کے بھی دوسرے جدول کے hook سے مختلف ترجیح پر مسترد ہو سکتا ہے۔ ہر بنیادی زنجیر کی فہرست بنائیں جو بہاؤ دیکھ سکتی ہے۔
وہ قاعدہ صرف بیرونی سامع کی تبدیلی کا احاطہ کرتا ہے۔ ٹرانسپورٹ میں لپٹا ESP، مقامی ESP، IPv6 ساتھی اور سرنگ کے اندر ڈکرپٹ شدہ ٹریفک سب کو اپنی پالیسیوں کی ضرورت ہے۔ یہ مکمل سائٹ VPN فائر وال نہیں ہے۔
فائل جانچیں، پھر زندہ نتیجہ تصدیق کریں
لاگو کرنے سے پہلے جائزہ شدہ فائل پر نحو اور لین دین کی جانچ چلائیں۔ جانچ موڈ بتاتا ہے کہ nft تبدیلی کو پارس اور تیار کر سکتا ہے یا نہیں؛ وہ اسے لاگو نہیں کرتا اور یہ ثابت نہیں کرتا کہ کوئی دوسرا hook پیکٹ کی اجازت دے گا۔ فائل مالک کے لاگو کرنے تک تجویز رہتی ہے:
nft -c -f reviewed-vpn-rule.nft
مالک کے کنٹرول شدہ عمل سے لاگو کریں اور بازیابی رسائی برقرار رکھیں۔ اگر قاعدہ غلط ہے، تو جس drop سے پہلے آپ آنا چاہتے تھے وہ آپ کی اصلاح کے راستے کو بھی کاٹ سکتا ہے۔
تبدیلی کے بعد نئی منظور شدہ ساتھی کوشش کا مشاہدہ کریں اور جانچیں کہ منظور شدہ ساتھی سے باہر کے ذرائع اب بھی مسترد ہو رہے ہیں۔ پائیدار قاعدہ اس منتظم کے پاس منتقل کریں جس کے پاس قواعد کا مجموعہ ہے، کیونکہ رن ٹائم ہینڈل موجودہ اشیاء کا محل وقوع تلاش کرتے ہیں، بوٹ کے درمیان ان کی شناخت نہیں کرتے۔