WireGuard AllowedIPs: وہ راستہ جو NetworkManager نے کبھی شامل نہیں کیا
ایک درست WireGuard پروفائل مصافحہ مکمل کر کے بھی کچھ نہیں بھیج سکتا۔ کرنل جدول کا AllowedIPs سے موازنہ کریں، پھر راستے کو ایک ہی مالک دیں۔
مصافحے کا شمار کنندہ تازہ ہوتا ہے، انٹرفیس اپنا پتہ برقرار رکھتا ہے، اور دوسری طرف جاتا ping کہیں نہیں پہنچتا۔ یہ امتزاج لوگوں کو الجھا دیتا ہے، کیونکہ کامیاب مصافحہ سرنگ کے تیار ہونے کا ثبوت لگتا ہے۔ ایسا نہیں ہے: سرنگ مکمل طور پر طے شدہ ہو سکتی ہے اور پھر بھی اس میں ٹریفک بھیجنے والا کوئی راستہ نہ ہو، اور یہ دو الگ کام ہیں جو حالت کے دو الگ حصے کرتے ہیں۔ اصلاح کا انحصار مکمل طور پر اس پر ہے کہ ان دونوں میں سے کون سا غائب ہے، اس لیے پہلا قدم وہی معلوم کرنا ہے۔
wg-quick دونوں کام بغیر کہے کرتا ہے۔ NetworkManager کی بلٹ اِن WireGuard معاونت بھی بطور طے شدہ peer راستے نصب کرتی ہے، جو مشتبہ افراد کو غیر فعال اختیار، کسی دوسرے روٹنگ جدول یا کسی اور چیز سے درآمد شدہ ترتیب تک محدود کر دیتی ہے۔
راستے کے پیچھے پڑنے سے پہلے سرنگ کی تصدیق کریں
wg show انٹرفیس، peer، آخری مقام اور آخری مصافحے کی عمر چھاپتا ہے، اور ip addr show پتے کی موجودگی کی تصدیق کرتا ہے۔ حالیہ مصافحہ یعنی کلیدیں، آخری مقام اور UDP راستہ کام کر رہے ہیں۔ جو بھی خراب ہے وہ ان کے نیچے بیٹھا ہے: روٹنگ، فلٹرنگ یا نام کا حل۔
پھر کرنل سے پوچھیں کہ وہ فرضی نہیں بلکہ حقیقی منزل کے ساتھ کیا کرے گا: ip route get 10.42.7.9۔ جواب باہر جانے والا انٹرفیس اور وہ ماخذ پتہ بتاتا ہے جو پیکٹ لے جائے گا۔ جب وہ طبعی اڈاپٹر بتاتا ہے تو پیکٹ کبھی سرنگ میں داخل نہیں ہوتا، چاہے مصافحہ کتنا ہی صحت مند لگے۔
AllowedIPs ایک فلٹر اور راستوں کی فہرست ہے
AllowedIPs کے سابقے دو کام کرتے ہیں۔ وہ طے کرتے ہیں کہ کون سا peer باہر جانے والی منزل لے جائے گا، اور وہ آنے والے پیکٹوں کے ماخذ پتے کی تصدیق کرتے ہیں، جو خفیہ کلید روٹنگ کی حد ہے۔ wg-quick میں وہ خودکار راستہ تنصیب بھی چلاتے ہیں، اور یہی اضافی رویہ اس بات کی وجہ ہے کہ وہی ترتیب ٹرمینل سے چلتی ہے اور ڈیسک ٹاپ کلائنٹ سے نہیں۔
اس مضمون کے پیچھے والے معاملے میں پروفائل بلٹ اِن معاونت کے بجائے کسی تیسرے فریق کے پلگ اِن سے درآمد ہوا تھا، اور انٹرفیس سابقے والے راستے کے بغیر اٹھا۔ جدول کی فہرست فوراً یہ دکھا دیتی ہے: ip route show میں صرف انٹرفیس کے پتے کا جڑا ہوا راستہ ہے، دور کی حد کے لیے کچھ نہیں۔
پوچھیں کہ peer راستے بالکل فعال ہیں یا نہیں
کچھ بھی بدلنے سے پہلے ترتیب پڑھیں: nmcli -f wireguard.peer-routes,ipv4.route-table connection show work-wg۔ جب peer-routes no دکھاتا ہے تو معاون مرمت nmcli connection modify work-wg wireguard.peer-routes yes ہے، اور اس کے بعد دوبارہ جڑنا۔ اس کے بجائے مستقل راستہ شامل کرنا اگلی فعالیت تک چلتا ہے اور پھر خاموشی سے غائب ہو جاتا ہے۔ وہی غیبت اشارہ ہے: ہر صبح معمہ بن کر لوٹنے والا راستہ پروفائل نصب نہیں کرتی۔
اگر اختیار پہلے ہی فعال ہے تو ip route show table all | grep 10 سے دیکھیں کہ سابقہ کسی دوسرے جدول میں رہتا ہے یا نہیں۔ غیر مرکزی جدول کا راستہ غائب نہیں ہے، وہ صرف ایسی تلاش کے لیے نظر نہیں آتا جو صرف مرکزی جدول دیکھتی ہے۔ اوپر نقلی اندراج تہہ کرنے کے بجائے پالیسی روٹنگ درست کریں۔
سابقہ چلتی ہوئی نظام میں نہیں، کنکشن میں شامل کریں
کنکشن ایڈیٹر میں WireGuard صفحہ peer اور اس کی AllowedIPs رکھتا ہے، اور IPv4 صفحہ اضافی راستے رکھتا ہے۔ وہاں شامل کیا گیا راستہ دوبارہ جڑنے پر بھی قائم رہتا ہے کیونکہ وہ پروفائل کا حصہ ہے۔ کمانڈ لائن پر مساوی یہ ہے کہ خالی گیٹ وے کی شکل میں کنکشن میں راستہ شامل کریں، پھر تبدیلی لاگو ہونے کے لیے کنکشن کو نیچے اور اوپر کریں۔
وہ سب سے تنگ سابقہ چنیں جو آپ کے مطلوبہ میزبانوں کو ڈھانپے۔ فراہم کنندہ کی /8 مثال نقل کرنے سے وہ مقامی حدود نگل سکتی ہیں جو اتفاقاً اس کے اندر ہوں، اور اس سے پیدا ہونے والی ناکامیاں زیادہ چوڑے راستے کے بجائے ٹوٹی سرنگ جیسی لگتی ہیں۔
منقسم سرنگ کا فیصلہ سابقوں کی فہرست کرتی ہے
منقسم سرنگ کے لیے کوئی سوئچ نہیں؛ سابقوں کی فہرست ہی فیصلہ ہے۔ دفتر کے LAN کے لیے ایک حد اور لیب نیٹ ورک کے لیے دوسری حد رکھنے والا peer ٹھیک وہی منزلیں سرنگ سے بھیجتا ہے اور باقی سب کو اکیلا چھوڑ دیتا ہے۔ ایک میزبان کو /32 درکار ہے، اور دو جگہوں پر متداخل حدود کو میزبان سابقے درکار ہیں جب تک کوئی ذیلی نیٹ کی دوبارہ نمبر شماری نہ کرے۔
سرنگ سے کچھ نہ بھیجنے کا انتخاب اسی فیصلے کو اس کی حد تک لے جاتا ہے: کم سے کم فہرست لنک کو اوپر رکھتی ہے جبکہ عام ٹریفک اپنے معمول کے راستے پر چلتا رہتا ہے۔ نیت لکھ لیں، ورنہ اگلا قاری مختصر فہرست کو کوتاہی سمجھ کر مدد کے طور پر اسے بڑھا دے گا۔
راستوں کے جدول کے لیے ایک مالک
wg-quick اور NetworkManager دونوں مانتے ہیں کہ انٹرفیس کے راستے ان کے ہیں۔ wg-quick کے لیے لکھی ترتیب درآمد کریں اور پھر wg-quick سروس بھی شروع کریں، تو آپ کو نقلی یا متضاد اندراجات ملیں گے جن کا رویہ اس پر منحصر ہے کہ کون آخر میں چلا۔ ایک مالک چنیں اور دوسرا ہٹا دیں: اگر NetworkManager کنکشن سنبھالتا ہے تو اس انٹرفیس کے لیے wg-quick یونٹ بند کریں، اور اسی ڈیوائس کے لیے کبھی دوسری پروفائل شامل نہ کریں۔
جب تقسیم کو منزل کے بجائے طبعی اڈاپٹر کی پیروی کرنی ہو تو آپ پالیسی روٹنگ میں آ گئے ہیں، اور پالیسی روٹنگ کو بھی ایک ہی مصنف درکار ہے۔ ip route get دہرا کر تصدیق کریں، پھر دور کے سابقے کے اندر موجود میزبان تک کسی ایسی چیز سے پہنچیں جو اس کا چنا ہوا ماخذ پتہ چھاپے۔ اگر پروفائل میں ہو تو IPv6 اور DNS الگ الگ جانچیں۔