اپنی WireGuard سرنگ سے باہر ایک ویب سائٹ کو کیسے روٹ کریں
LAN گیٹ وے کے ذریعے ایک /32 روٹ ایک سائٹ کو آپ کے معمول کے کنکشن پر رکھتا ہے، بشرطیکہ فائر وال اجازت دے اور DNS پتے پر متفق ہو۔
میزبان کا نام خارج کرنا ایسی چیز ہے جو سرنگ نہیں کر سکتی۔ تاہم ایک روٹ ایک ہی پتے کو سرنگ سے باہر اور گھر کے گیٹ وے سے باہر بھیج سکتا ہے، اور ایک سائٹ کے لیے عام طور پر یہی کافی ہوتا ہے۔ مشکل یہ ہے کہ روٹ کے بعد کی ہر چیز کو متفق ہونا پڑتا ہے: فائر وال کو پیکٹ باہر جانے دینا ہوگا، DNS کو وہی پتہ واپس دینا ہوگا جو آپ نے روٹ کیا، اور سائٹ کو اس پتے کا استعمال جاری رکھنا ہوگا۔ جب تینوں میں سے کوئی ایک بھی پھسل جائے تو استثنا اپنا اعلان کیے بغیر کام کرنا بند کر دیتا ہے۔
سرنگ کو چھونے سے پہلے منزل کا پتہ پڑھیں
سرنگ کے چلنے کے دوران سائٹ ایک بار لوڈ کریں، پھر وہ ہم منصب پتہ دیکھیں جس سے براؤزر نے واقعی کنکٹ کیا۔ Linux پر، ss -tunp ہر کھلے ساکٹ کا دور دراز پتہ فہرست کرتا ہے، اور dig +short اسی نام پر دکھاتا ہے کہ حل کنندہ نے کیا واپس کیا۔ دونوں اعداد اپنے سامنے رکھیں۔
دونوں جواب اکثر مماثل نہیں ہوتے، اور یہی فرق پوری مشکل ہے۔ بڑی سائٹیں اپنی اصل کے سامنے مواد کا نیٹ ورک رکھتی ہیں، اس لیے جو پتہ اب آپ کا حل کنندہ واپس کرتا ہے وہ شاید وہ نہ ہو جو براؤزر نے ایک منٹ پہلے استعمال کیا تھا۔ جو آپ نے ساکٹ پر دیکھا اسے روٹ کریں، کسی پرانی گائیڈ میں درج بات کو نہیں۔ اگر جواب علاقوں کے درمیان گھومتے رہیں تو اس مخصوص سائٹ کے لیے پتے کا استثنا غلط اوزار ہے۔
دوسرے نیٹ ورک سے تلاش دوبارہ چلائیں، اور IPv4 جواب کے ساتھ IPv6 جواب بھی درج کریں۔ دونوں خاندانوں کو لے جانے والی سرنگ کو دونوں میں استثنا درکار ہے، ورنہ براؤزر خاموشی سے اس IPv6 راستے پر لوٹ جاتا ہے جسے آپ نے کبھی نہیں چھوا۔ پتے اور تاریخ کہیں لکھیں جہاں آپ دوبارہ دیکھیں گے۔
کلائنٹ پر ایک میزبان روٹ رکھیں
فرض کریں کہ انٹرفیس کا نام home-wg ہے اور LAN روٹر 192.168.1.1 پر ہے۔ NetworkManager ایسا روٹ لیتا ہے جس کا گیٹ وے وہی روٹر ہو اور جس کی سابقہ لمبائی پورے 32 بٹس کو محیط ہو، اور کرنل اسے ترجیح دیتا ہے کیونکہ سب سے لمبی سابقہ جیتتی ہے۔
nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20
گیٹ وے سرنگ کے بغیر قابل رسائی ہونا چاہیے؛ اگلی چھلانگ کو سرنگ کے پتے کی طرف موڑنا مقصد ہی برباد کر دیتا ہے، کیونکہ پیکٹ دوبارہ اسی انٹرفیس میں داخل ہوگا جس سے آپ بچنا چاہتے ہیں۔ کنکشن دوبارہ اٹھنے کے بعد، ip route get استثنا کے لیے LAN گیٹ وے پرنٹ ہونا چاہیے، اور عوامی حل کنندہ کے لیے وہی کمانڈ اب بھی سرنگ کا آلہ پرنٹ کرنی چاہیے۔
wg-quick پروفائل میں روٹ کا فیلڈ نہیں ہے، اس لیے وہی استثنا ایک PostUp لائن میں رہتا ہے جو میزبان روٹ کو LAN انٹرفیس کو اس کا آلہ بنا کر مرکزی جدول میں شامل کرتی ہے۔ ترمیم کے بعد انٹرفیس نیچے اور دوبارہ اوپر کریں، کیونکہ چلنے والا انٹرفیس کبھی اپنی فائل دوبارہ نہیں پڑھتا۔ wg-quick جو fwmark قواعد نصب کرتا ہے وہ صرف اپنے encapsulated پیکٹوں کی رہنمائی کرتے ہیں، اس لیے عام براؤزر ٹریفک اب بھی مرکزی جدول کی پیروی کرتا ہے اور آپ کا /32 ڈھونڈ لیتا ہے۔
کِل سوئچ اگلی چیز ہے جو اسے روکتی ہے
ایسی فائر وال پالیسی جو صرف سرنگ انٹرفیس پر ٹریفک قبول کرتی ہے، روٹ بالکل درست ہونے پر بھی استثنا کو گرا دے گی۔ سوئچ پر بھروسا کرنے کی بجائے سوئچ کے پیچھے کے قواعد پڑھیں، کیونکہ کِل سوئچ نافذ کرنے والے قواعد عام طور پر انٹرفیس کے نام تک محدود ہوتے ہیں۔
آپ کو چاہیے جسمانی انٹرفیس اور اسی ایک منزل کے لیے تنگ اجازت، ڈراپ سے پہلے رکھی گئی، جبکہ ڈیفالٹ پالیسی اچھوتی رہے۔ کِل سوئچ کو مکمل طور پر روک دینا بات ثابت کرتا ہے، لیکن جب تک آپ اسے دوبارہ چالو کرنا بھولیں مشین کو کھلا بھی چھوڑ دیتا ہے۔
دونوں سمتوں کو الگ الگ جانچیں۔ استثنا کے پتے پر درخواست کامیاب ہونی چاہیے، جبکہ غیر متعلقہ سائٹ پر درخواست اب بھی سرنگ سے باہر جانی چاہیے۔ اگر دونوں کامیاب ہوں مگر دوسری گھر کا پتہ بتائے، تو فائر وال قواعد کی ترتیب غلط ہے، روٹ نہیں۔
براؤزر کس پتے پر ڈائل کرے گا یہ DNS طے کرتا ہے
جب نام سرنگ کے اندر حل ہوتا ہے، تو فراہم کنندہ کا حل کنندہ مقامی حل کنندہ کے دیے ہوئے پتے سے مختلف پتے کے ساتھ جواب دے سکتا ہے۔ تب آپ کا روٹ ایسے پتے پر لاگو ہوتا ہے جس سے براؤزر کبھی رابطہ نہیں کرتا، اور صفحہ کچھ نہ بدلنے کی طرح سرنگ کے ذریعے لوڈ ہوتا ہے۔ روٹنگ جدول درست ہونے پر بھی یہ ناکامی ٹوٹے استثنا جیسی لگتی ہے۔
اس نام کے استفسارات مقامی حل کنندہ کے ذریعے بھی بھیجیں، یا نام بالکل چھوڑ کر پتہ براہ راست جانچیں۔ DNS کو سرنگ کے اندر رکھتے ہوئے پتے کو تقسیم کرنا اس سیٹ اپ کی سب سے عام ادھوری شکل ہے، اور اسے نوٹس کرنا بھی سب سے مشکل ہے، کیونکہ سائٹ کام کرتی رہتی ہے، صرف ویسے نہیں جیسے آپ نے چاہا تھا۔
روٹر پر وہی استثنا، ایک بار، ہر ڈیوائس کے لیے
جب سرنگ روٹر پر چل رہی ہو، تو میزبان روٹ روٹر کے پالیسی روٹنگ جدول سے تعلق رکھتا ہے اور LAN گیٹ وے کی بجائے WAN گیٹ وے کی طرف اشارہ کرتا ہے۔ اس کے پیچھے ہر ڈیوائس استثنا وراثت میں پاتی ہے، جو اسٹریمنگ باکس یا کام کے لیپ ٹاپ کے لیے اہم ہے جس کی نیٹ ورک سیٹنگز آپ تبدیل نہیں کر سکتے۔
باقی ہر کلائنٹ کے لیے سرنگ کو ڈیفالٹ اخراج رکھیں، پھر روٹر کنسول کی بجائے کلائنٹ مشین سے تصدیق کریں۔ اسی براؤزر سیشن میں استثنا سائٹ اور دوسری سائٹ لوڈ کریں اور اخراج کے پتوں کا موازنہ کریں؛ اگر دوسری اب بھی سرنگ دکھاتی ہے، تو پالیسی جدول آپ کی مانگ کے مطابق کام کر رہا ہے۔
روٹر کے نوٹس میں پتہ، تاریخ اور وجہ لکھیں۔ بعد میں ہٹنے والے پتے کے گرد بنایا گیا استثنا ایک سال بعد ایسی خرابی بن جاتا ہے جسے کوئی بیان نہیں کر سکتا، اور جب تک کوئی پرانا نوٹ نہ ملے، حل ہمیشہ معمہ ہی لگتا ہے۔