ٹنل قائم ہے، handshake ہر دو منٹ بعد ہوتا ہے، اور دوسری طرف ٹھیک ایک پتہ جواب دیتا ہے۔ ہم منصب کے ٹنل پتے پر پنگ کام کرتے ہیں؛ اس کے پیچھے کچھ کام نہیں کرتا۔ کوئی شخص انٹرفیس کی ترتیب پڑھتا ہے، میزبان سابقہ دیکھتا ہے اور نتیجہ نکالتا ہے کہ ماسک غلط ہے۔ اسے /24 تک بڑھانا پنگ کو کچھ دیر درست کرتا ہے اور پھر کچھ اور توڑ دیتا ہے۔ سابقہ کبھی وجہ نہیں تھا، اور غائب راستہ وہ نہیں جسے ماسک کنٹرول کرتا ہے۔

انٹرفیس کا سابقہ درحقیقت کیا بناتا ہے

لینکس میں کسی انٹرفیس کو پتہ دینے سے اس سابقے کے لیے ایک منسلک راستہ بنتا ہے۔ اگر میزبان سابقہ دیں تو منسلک راستہ ایک پتہ ڈھکتا ہے۔ اگر /24 دیں تو یہ 256 پتے ڈھکتا ہے، اور ان میں سے ہر ایک اب اس رابطے پر قابلِ رسائی سمجھا جاتا ہے۔

ip -4 addr show dev wg0
ip -4 route show dev wg0
ip route get 10.80.7.1

میزبان سابقہ نقطہ بہ نقطہ ٹنل کے لیے بالکل معمولی انتخاب ہے، کیونکہ دوسرے سرے پر ٹھیک ایک ہم منصب ہوتا ہے۔ تیسرا حکم وہ ہے جو صارف کے سوال کا جواب دیتا ہے: یہ بتاتا ہے کہ کرنل اس منزل کے لیے کون سا انٹرفیس استعمال کرے گا، اور اگر کوئی راستہ نہ ملے تو کچھ کارآمد نہیں دکھائے گا۔

یہی اس علامت کی پوری وضاحت ہے۔ ایک پتہ جواب دیتا ہے کیونکہ اس کے لیے منسلک راستہ موجود ہے، یا کیونکہ ہم منصب کی اجازت یافتہ فہرست اتفاقاً اسے شامل کرتی ہے۔ باقی سب کا کوئی راستہ نہیں اور WireGuard کے شامل ہونے سے پہلے ہی وہ ضائع ہو جاتا ہے۔ ٹنل ہر وقت صحت مند رہتا ہے، اسی لیے handshake کا شمار کنندہ بدستور تسلی بخش دکھائی دیتا ہے۔

AllowedIPs ایک ہی نام کے نیچے دو قاعدے ہیں

WireGuard کی فی ہم منصب اجازت یافتہ فہرست بیک وقت دو کام کرتی ہے، اور ترتیب کی نحو انہیں ایک جیسا دکھاتی ہے۔ داخل ہوتے وقت یہ اجازت دیتی ہے کہ ہم منصب کون سے ماخذ پتے پیش کر سکتا ہے۔ باہر جاتے وقت یہ چنتی ہے کہ پیکٹ کس ہم منصب کو بھیجا جائے، سب سے مخصوص مطابقت ڈھونڈ کر۔

ان دونوں کاموں میں سے کوئی بھی راستہ بندی نہیں ہے۔ کرنل کو پھر بھی فیصلہ کرنا ہوتا ہے کہ پیکٹ ٹنل انٹرفیس کا ہے، اس سے پہلے کہ WireGuard اسے دیکھے، اور یہ فیصلہ راستہ بندی کی جدول سے آتا ہے۔ وسیع اجازت یافتہ فہرست والا ہم منصب اندراج خود راستہ نصب نہیں کرتا۔

اسی لیے ترتیب مکمل دکھائی دے سکتی ہے اور غیر متوازن برتاؤ کر سکتی ہے۔ کلائنٹ دوسری طرف بھیجتا ہے کیونکہ راستہ موجود ہے، اور جوابات کبھی نہیں پہنچتے کیونکہ دوسری طرف کی اجازت یافتہ فہرست کلائنٹ کے ماخذ کی اجازت نہیں دیتی، یا کیونکہ دوسری طرف کا واپسی راستہ نہیں۔ دونوں سمتیں الگ فیصلے ہیں الگ ناکامی کے انداز کے ساتھ۔ یہ لکھنا کہ آپ کون سی جانچ رہے ہیں تشخیص کا آدھا حصہ ہے۔

راستہ کہاں سے آتا ہے

اگر آپ wg-quick استعمال کرتے ہیں تو راستے آپ کے لیے ہر ہم منصب کی اجازت یافتہ فہرست سے بنائے جاتے ہیں، الا یہ کہ آپ نے Table = off مقرر کیا ہو اور خود کنٹرول سنبھال لیا ہو۔ یہی اس اوزار کا دستاویزی برتاؤ ہے، اور یہی وجہ ہے کہ واضح راستہ ہدایات کے بغیر بھی ترتیب کام کرتی ہے۔

sudo wg show wg0 allowed-ips
ip route show | grep wg0
sudo wg-quick strip wg0

اجازت یافتہ فہرست کا موازنہ ان راستوں سے کریں جو واقعی موجود ہیں۔ ایسا ہم منصب جو پوری ذیلی نیٹ کی اجازت دیتا ہے مگر صرف ایک میزبان راستہ بنا سکا، اس کا مطلب ہے کہ مددگار کبھی چلا ہی نہیں، یا آپ انٹرفیس کو براہِ راست wg اور ip سے چلا رہے ہیں، اور پھر کوئی چیز آپ کے لیے راستے نہیں بناتی۔

جب آپ اسے ہاتھ سے چلاتے ہیں تو راستہ ایک سطر ہے اور اس کی شکل واضح: منزل انٹرفیس کے ذریعے، بغیر گیٹ وے کیونکہ رابطہ نقطہ بہ نقطہ ہے۔ اسے شامل کرنا خراب سابقے کے لیے کوئی بچاؤ نہیں؛ یہ ایسے ڈیزائن کا گمشدہ نصف ہے جس نے راستہ بندی خود سنبھالی۔

وسیع سابقہ ہم منصب کا اندراج شامل نہیں کرتا

لحاظ کرنے والی درستی یہ ہے کہ پتہ /24 کر دیا جائے تاکہ منسلک راستہ سرور کے مقامی نیٹ ورک کو ڈھک لے۔ یہ کام کرتا دکھائی دیتا ہے، اور اس کے کام کرتے دکھائی دینے کی وجہ یہ ہے کہ منسلک راستہ اب مطابقت رکھتا ہے، نہ کہ WireGuard نے کچھ نیا سیکھا ہو۔

آپ نے یہ بھی کیا کہ پوری حد کو اس رابطے پر براہِ راست قابلِ رسائی قرار دیا، جن میں وہ پتے بھی شامل ہیں جو دوسرے ہم منصبوں یا ایسے مقامی نیٹ ورک کے ہیں جو درحقیقت سرور کے پیچھے ہے۔ ان پتوں کی آمدورفت اب ٹنل میں داخل ہوتی ہے، اور یہ دوسری طرف سے نکلتی ہے یا نہیں یہ خود سرور کی راستہ بندی اور اجازت یافتہ فہرستوں پر منحصر ہے۔

خفیہ نگاری کا پہلو کسی بھی صورت متاثر نہیں ہوتا۔ WireGuard کو ہم منصب چننے کے لیے اجازت یافتہ فہرست میں ایسا اندراج درکار ہے جو منزل کو ڈھکے، اور دوسری طرف کو آپ کے ماخذ کو قبول کرنے کے لیے ایسا اندراج چاہیے جو اسے ڈھکے۔ وسیع تر انٹرفیس سابقہ ان میں سے کوئی بھی فراہم نہیں کر سکتا۔

کچھ بدلنے سے پہلے دونوں سمتوں کی تصدیق کریں

دونوں سروں کو الگ الگ لیں اور لکھیں کہ ہر ایک کیا کہتا ہے۔ کلائنٹ پر راستہ اور ہم منصب کا اندراج؛ سرور پر آئینہ تصویر اور اس کا اپنا واپسی راستہ:

ip route get 192.168.70.20
sudo wg show wg0 allowed-ips
sudo wg show wg0 latest-handshakes
sudo tcpdump -ni wg0 -c 10

قبضہ ہی وہ چیز ہے جو سمت کے بارے میں جھگڑے طے کرتی ہے۔ اگر خارج ہونے والے پیکٹ ٹنل انٹرفیس پر نمودار ہوں اور سرور کچھ درج نہ کرے تو دور کا سرا انہیں مسترد کر رہا ہے، عام طور پر اس لیے کہ آپ کا ماخذ اس کی اجازت یافتہ فہرست سے باہر ہے۔ اگر بالکل کچھ نمودار نہ ہو تو راستہ غائب ہے یا کسی اور جگہ اشارہ کرتا ہے۔

پھر تنگ ترین سرا درست کریں۔ سرور کی طرف آپ کے کلائنٹ پتے کے لیے اجازت یافتہ فہرست میں اندراج اور کلائنٹ کی طرف منزل کے ذیلی نیٹ کے لیے اندراج معمول کی شکل ہے، اور یہ انٹرفیس سابقے کو چھیڑتا نہیں۔ سابقہ صرف اس صورت میں وسیع کریں جب پتہ منصوبہ واقعی اس رابطے پر مشترکہ ذیلی نیٹ چاہتا ہو، اور اسے خرابی دور کرنے کے مرحلے کی بجائے منصوبہ کی تبدیلی کے طور پر کریں۔

متعلقہ مضامین