AllowedIPs روٹنگ کی فہرست ہے، فائر وال اصول نہیں
یہ باہر جانے والی ٹریفک کے لیے ہم منصب منتخب کرتا ہے اور اندر آنے والے ذرائع کی تصدیق کرتا ہے۔ یہ رسائی فہرست نہیں ہے، اور روٹ کے انتظام کو بند کرنے سے منقسم سرنگ ٹھیک نہیں ہوتی۔
زیادہ تر لوگ AllowedIPs کو اجازت کی فہرست کے طور پر پڑھتے ہیں، یعنی ان پتوں کا مجموعہ جو کسی ہم منصب سے جڑ سکتے ہیں، تقریباً ایسے جیسے سرنگ کے لیے لکھا گیا فائر وال اصول۔ ایسا نہیں ہے۔ یہ فیلڈ دونوں سمتوں میں کام کرنے والا روٹنگ جدول ہے: یہ باہر جانے والے پیکٹ کے لیے ہم منصب منتخب کرتا ہے اور اندر آنے والے پیکٹ کے ماخذ کی تصدیق کرتا ہے۔ اسے رسائی فہرست کے طور پر پڑھنا ایسی ترتیبات بناتا ہے جو ایسی ٹریفک روٹ کرتی ہیں جو کسی نے نہیں مانگی۔
ایک فیلڈ، دو قاری: باہر جانے کا انتخاب اور ماخذ کی جانچ
کلائنٹ پر، سابقے طے کرتے ہیں کہ کون سی منزلیں اُس ہم منصب کی طرف جاتی ہیں اور کون سی عام نیٹ ورک پر رہتی ہیں۔ اس لیے 0.0.0.0/0 کے لیے اندراج ہر IPv4 منزل کو پکڑ لیتا ہے، اور اسی لیے مکمل سرنگ پروفائل درآمد کرنے پر عام براؤزنگ دور کی مشین سے ہو کر جاتی ہے۔ تنگ اندراجات اُلٹا کرتے ہیں: صرف وہ نیٹ ورک روٹ کرتے ہیں جو آپ نے فہرست کیے اور باقی سب جہاں تھا وہیں چھوڑ دیتے ہیں۔ WireGuard دستاویزات کا کرپٹو کلید روٹنگ کا حصہ دونوں کام ایک ہی جگہ بیان کرتا ہے: باہر جانے والے ہم منصب کا انتخاب اور اندر آنے والے ماخذ کی تصدیق۔
سرور پر، وہی فیلڈ بیان کرتا ہے کہ ہر ہم منصب کون سے ماخذ پتے استعمال کر سکتا ہے۔ یہ پیکٹ فلٹر نہیں بلکہ کرپٹوگرافک جانچ ہے: جس پیکٹ کا اندرونی ماخذ ہم منصب کی فہرست سے میل نہیں کھاتا، وہ میزبان کے کسی بھی فائر وال کے دیکھنے سے پہلے WireGuard کے اندر ہی خارج کر دیا جاتا ہے۔ دونوں کام ایک ہی فہرست بانٹتے ہیں، اور اسی لیے کہیں اور سے نقل کی گئی فہرست اُس جگہ غلط برتاؤ کرتی ہے جس کا آپ نے خیال نہیں کیا۔
کلائنٹ بلاک وہ جگہ ہے جہاں سے یہ بیشتر الجھن شروع ہوتی ہے۔ منقسم سرنگ دور کے نیٹ ورک بتاتی ہے، اور مکمل سرنگ وہی فیلڈ ہے جس میں طے شدہ سابقہ ہوتا ہے:
[Peer]
# split tunnel: only these networks
AllowedIPs = 10.77.0.0/24, 192.168.30.0/24
[Peer]
# full tunnel: everything, both families
AllowedIPs = 0.0.0.0/0, ::/0
دونوں شکلیں بذات خود مکمل ہیں، اور وہ قدم نہیں بلکہ متبادل ہیں۔ پہلی صرف وہ دو نیٹ ورک سرنگ سے بھیجتی ہے؛ دوسری ہر منزل بھیجتی ہے، اور ::/0 اندراج IPv4 طے شدہ میں IPv6 شامل کرتا ہے۔ آپ جو بھی چنیں، wg-quick کے روٹ نصب کرنا شروع کرتے ہی وہ سابقے اُس ہم منصب کے لیے پورا روٹنگ فیصلہ ہیں۔
مرکز کو مختلف فہرست درکار ہے
مرکز ہر کلائنٹ کا سرنگ پتہ میزبان سابقے کے طور پر فہرست کرتا ہے، نیز کوئی بھی نیٹ ورک جو واقعی اُس کلائنٹ کے پیچھے ہو۔ کسی کلائنٹ کی وسیع فہرست ہر مرکز ہم منصب پر نقل کرنا مرکز کو بتاتا ہے کہ بہت سے ہم منصب ایک ہی پتے ماخذ کے طور پر استعمال کر سکتے ہیں، اور یہ پتوں کا منصوبہ نہیں ہے۔ Endpoint فیلڈ بالکل الگ تہہ کا ہے: یہ ہم منصب کا بیرونی پتہ اور پورٹ بتاتا ہے، کبھی سرنگ کے اندر کی منزل نہیں۔
[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24
میزبان سابقہ سرنگ کا پتہ اٹھاتا ہے اور نیٹ ورک سابقہ وہ اٹھاتا ہے جو کلائنٹ کے پیچھے ہے، اور دونوں ضروری ہیں۔ میزبان سابقے کے بغیر مرکز کلائنٹ کی اپنی ٹریفک واپس نہیں بھیج سکتا، اور نیٹ ورک سابقے کے بغیر اس کے پیچھے کا LAN ناقابل رسائی رہتا ہے؛ جس ہم منصب کے پیچھے کچھ نہیں اُسے صرف میزبان سابقہ ملتا ہے۔
روٹ نصب کرنا چھوڑنے سے خلا رہ جاتا ہے
wg-quick، وہ معاون جو ترتیب فائل سے انٹرفیس اٹھاتا ہے، اُس کام کے حصے کے طور پر انٹرفیس پتے اور روٹ نصب کرتا ہے۔ Table = off مقرر کرنا معاون کو روٹ کا کام چھوڑنے کو کہتا ہے، جو متبادل نصب نہیں کرتا اور نجی نیٹ ورک کو قابل رسائی نہیں بناتا۔ جب خودکار روٹ پہلے ہی کام کر رہے ہوں تو مطلوبہ سابقوں کے نام بتانا زیادہ واضح ترتیب ہے۔ روٹ کا انتظام بند کر کے متبادل نہ لکھنا ڈیزائن نہیں، یہ ایک کوتاہی ہے۔
بنیادی wg اوزار مختلف برتاؤ کرتا ہے: یہ انٹرفیس ترتیب دیتا ہے اور روٹ کو کبھی نہیں چھوتا، اس لیے اسی پر براہ راست بنایا گیا سیٹ اپ اپنے روٹ حکمات کا محتاج ہوتا ہے۔ ایک اوزار کے لیے لکھی ہدایات دوسرے کے ساتھ چلانے پر غلط لگ سکتی ہیں۔ کامیاب ping بھی کمزور ثبوت ہے، کیونکہ یہ آپ کو درکار ہر ایپلیکیشن راستے کے بجائے صرف ایک راستہ جانچتا ہے۔
DNS اور IPv6 الگ الگ طے ہوتے ہیں
سرنگ جو DNS سرور پتہ اعلان کرتی ہے اُسے جانچیں، اور تصدیق کریں کہ آپ کے منتخب سابقوں کے ذریعے اُس پتے تک روٹ موجود ہے۔ حل کنندہ کی ترتیب حل کنندہ کو قابل رسائی نہیں بناتی، اور سرنگ کو تنگ کرنا وہاں جانے والا روٹ خاموشی سے ہٹا سکتا ہے۔ IPv6 بھی الگ سے دیکھیں، کیونکہ درست IPv4 تقسیم اُس IPv6 طے شدہ روٹ کے بارے میں کچھ نہیں کہتی جو اب بھی طبیعی لنک کی طرف اشارہ کرتا ہے۔ ایک ہم منصب بلاک میں ترمیم کرتے وقت تین الگ فیصلے بیک وقت بدل سکتے ہیں۔
پھر کسی معلوم ابتدائی ترتیب سے ایک نجی وسیلہ اور ایک عام ویب سائٹ کھولیں۔ اگر وسیلہ جواب دے اور براؤزنگ اب بھی مقامی کنکشن سے باہر جائے تو تقسیم وہی کرتی ہے جو آپ نے مانگا۔ اگر اُسی لمحے براؤزنگ ٹوٹ جائے تو سرنگ نے طے شدہ روٹ لے لیا ہے اور سابقوں کی فہرست ہی دیکھنے کی جگہ ہے۔