ایک ٹیسٹ LAN کو اس کا اپنا WireGuard اخراج کیسے دیں
ایک LAN کو مخصوص روٹنگ جدول اور ناقابل رسائی محافظ کے ساتھ WireGuard اخراج تک محدود کریں، جبکہ گیٹ وے اپنا معمول کا WAN ڈیفالٹ راستہ برقرار رکھتا ہے۔
تین ڈیزائن ایک ہی لیب مسئلہ حل کرتے ہیں: ایک چھوٹی LAN کو WireGuard ساتھی کے ذریعے باہر نکلنا ہے، جبکہ گیٹ وے خود اپنا معمول کا اوپر کا رابطہ برقرار رکھتا ہے۔ لالچ دینے والا شارٹ کٹ یہ ہے کہ راؤٹر کا ڈیفالٹ راستہ سرنگ کے اندر منتقل کر دیا جائے، لیکن اس سے باکس کا اپنا انتظامی راستہ اور وہ سب کچھ ٹوٹ جاتا ہے جو یہ آگے بھیجتا ہے۔ دلچسپ آپشن ایک انٹرفیس اور ایک سابقے تک محدود پالیسی روٹنگ ہے۔ اپنے پاس موجود اصل مشین کے بارے میں تین سوالوں کے جواب دے کر ان میں سے چنیں۔
فیصلہ کریں کہ اخراج کہاں رہتا ہے
پہلا سوال: کیا یہ میزبان کسی اور چیز کے لیے بھی آگے بھیجتا ہے؟ ایک مخصوص لیب گیٹ وے ڈیفالٹ طور پر سب کچھ رد کرنے والی فارورڈنگ پالیسی کے ساتھ رہ سکتا ہے۔ پروڈکشن کے فرائض والا راؤٹر ایسا نہیں کر سکتا، اور منظم فائر وال کے اوپر حریف قواعد کا مجموعہ رکھنا ہی وہ طریقہ ہے جس سے بندش کا شیڈول بنتا ہے۔ دوسرا: کیا آپ دو پالیسی اشیاء اور ری بوٹ کے دوران ان کی ترتیب رکھ سکتے ہیں؟ تیسرا: کیا آپ کا ساتھی آپ کے سرنگ کے ماخذ پتے کی اجازت دیتا ہے اور انٹرنیٹ اخراج پیش کرتا ہے؟ وہ ساتھی جو صرف نجی نیٹ ورک ظاہر کرتا ہے دوسری مصنوعات ہے، اور کوئی مقامی روٹنگ تبدیلی اسے درست نہیں کرتی۔ اگر کوئی جواب نہیں ہے، تو اخراج کو اس کے بجائے نام کی جگہ یا ایک بار استعمال ہونے والی مجازی مشین میں رکھیں۔
نام کی جگہ یا VM یادداشت خرچ کرتی ہے اور آپ کو صاف دھماکے کا دائرہ دیتی ہے۔ پالیسی روٹنگ دو قواعد خرچ کرتی ہے اور غلطی دور کرنے کے لیے ایک ہی باکس چھوڑتی ہے۔
وہ اخراج چنیں جو آپ کے ماخذ کی اجازت دیتا ہے
اس لیب میں زیادہ تر ناکامیاں ایک بھی فائر وال قاعده بننے سے پہلے ہی ہوتی ہیں۔ اخراج کا آپریٹر وہ ماخذ پتہ قبول کرے جسے ترجمے کے بعد آپ کے پیکٹ لے کر جاتے ہیں، اور اس ڈیزائن میں وہ سرنگ کا پتہ ہے، LAN کا سابقہ نہیں۔ اسی لیے ماسکریڈنگ شروع سے ہی ڈیزائن کا حصہ ہے، بعد کی اضافہ نہیں۔
آپریٹر کے ساتھ تین چیزیں یقینی بنائیں: ساتھی آپ کے سرنگ کے پتے کی اجازت دیتا ہے، وہ اپنے آپ پر ختم ہونے کے بجائے IPv4 آگے بھیجتا ہے، اور وہ اخراجی NAT لاگو کرتا ہے۔ پہلی کے بغیر آپ کے پیکٹ پہنچتے ہیں اور غائب ہو جاتے ہیں۔ تیسری کے بغیر وہ نجی ماخذ کے ساتھ نکلتے ہیں اور اگلے قدم پر مر جاتے ہیں۔ پھر جانچیں کہ wg-quick اپنا ڈیفالٹ راستہ نصب نہیں کر رہا، جسے Table = off روکتا ہے؛ وہ ترتیب راستے بننے کو دباتی ہے، ساتھی کی AllowedIPs جانچ یا اس کی DNS کارروائی نہیں۔
دو پالیسی اشیاء رہنمائی کرتی ہیں
رہنمائی کے لیے ایک جدول اور ایک قاعده درکار ہے۔ جدول دو راستے رکھتا ہے: LAN انٹرفیس سے باہر جانے والا LAN سابقہ اور سرنگ سے باہر جانے والا ڈیفالٹ۔ قاعده LAN انٹرفیس پر آنے والی اور وہ سابقہ لے جانے والی ٹریفک کو جدول میں بھیجتی ہے۔ ماخذ کے میلان کے ساتھ iif چنندہ استعمال کریں، کیونکہ گیٹ وے کے اپنے WireGuard پیکٹ مقامی طور پر پیدا ہوتے ہیں اور کبھی آنے والے انٹرفیس سے نہیں ملتے۔
محافظ تلاش سے پہلے آتا ہے، بعد میں نہیں۔ وہی ترتیب ڈیزائن کی پوری حفاظتی خصوصیت ہے۔
محافظ اسی چنندہ پر دوسرا قاعدہ ہے جس کا فیصلہ unreachable ہے۔ اسے زیادہ عددی ترجیح دیں تاکہ سرنگ اوپر رہنے تک تلاش جیتتی رہے۔ جب سرنگ کا راستہ غائب ہو جاتا ہے تو تلاش کچھ واپس نہیں کرتی اور محافظ تلاش روک دیتا ہے، اسے مرکزی جدول کے WAN ڈیفالٹ تک گرنے نہیں دیتا۔
ip rule add from 192.168.50.0/24 iif lan0 lookup 51861 pref 1000
ip rule add from 192.168.50.0/24 iif lan0 unreachable pref 1001
ip route add table 51861 default dev wg0
پیچھے ہٹنے کی خلا کھولنے سے پہلے بند کریں
پہلے محافظ اور بعد میں تلاش نصب کریں۔ الٹا کرنے سے چند سیکنڈ کی کھڑکی رہ جاتی ہے جس میں ٹیسٹ کلائنٹ کی ٹریفک اوپر کے رابطے تک پہنچ سکتی ہے۔
فلٹر تصویر مکمل کرتا ہے۔ forward ہک میں ٹیسٹ سابقے کے لیے LAN سے سرنگ کی سمت اور قائم شدہ واپسی کی سمت قبول کریں، پھر باقی سب رد کر دیں؛ اس سابقے کا سرنگ انٹرفیس پر NAT postrouting میں جاتا ہے۔ فارورڈ چین پر policy drop چھوڑنا ہی غائب راستے کو رساؤ کے بجائے خاموشی میں بدلتا ہے۔ الٹے راستے کی فلٹرنگ کے لیے سرنگ انٹرفیس پر ڈھیلا موڈ درکار ہے، کیونکہ ڈیکیپسولیشن کے بعد آنے والے عوامی ماخذ کا بہترین الٹا راستہ WAN کی طرف ہوتا ہے۔ Linux all اور فی انٹرفیس اقدار میں سے بلند لیتا ہے، اس لیے سرنگ انٹرفیس مقرر کرنا ہر جگہ توثیق کمزور کرنے کے برابر نہیں۔
ناکامی کے واقعے سے اسے ثابت کریں
کرنل سے درست سوال پوچھیں: کلائنٹ کا ماخذ پتہ اور وہ انٹرفیس جس پر یہ آتا ہے نام لیں۔ دونوں کے بغیر تلاش کسی اور سوال کا جواب دیتی ہے اور دونوں حالتوں میں درست دکھائی دیتی ہے۔ پھر فائر وال کے شمارندے، ساتھی کی منتقلی کی حالت اور کلائنٹ کی اپنی سروس دیکھیں۔
ہٹانے کی جانچ ٹھیک سے کریں۔ قاعده اور فلٹر اپنی جگہ رکھ کر سرنگ بند کریں: کلائنٹ کو رکنا چاہیے اور گیٹ وے کی اپنی ٹریفک کام کرتی رہنی چاہیے۔ پھر مقامی انٹرفیس کو چھوئے بغیر ساتھی بند کریں، اور یہی وہ واقعہ ہے جو صرف راستے کی موجودگی پر بھروسا کرنے والے ڈیزائن پکڑتا ہے۔ آخر میں ری بوٹ کریں اور قواعد کی ترتیب دوبارہ جانچیں، کیونکہ محافظ ہٹانے والا ٹیئر ڈاؤن ہک پورا ڈیزائن مرکزی جدول کو واپس دے دیتا ہے۔ جدول کا نمبر، ترجیحات اور انٹرفیس کے نام تبدیلی ٹکٹ پر لکھیں، کیونکہ اگلا قاعده شامل کرنے والا شخص ہی اسے توڑے گا۔