ایک WireGuard پیر ناقابل رسائی جبکہ دوسرا کام کرتا ہے: جانچ فہرست
کام کرنے والا پیر صرف اپنی کلید، اینڈ پوائنٹ اور راستے ثابت کرتا ہے۔ کسی بھی قاعدے کو بڑھانے سے پہلے ناکام پیر کے AllowedIPs، حب کی فارورڈنگ اور اندرونی ماخذ کا موازنہ کریں۔
ایک WireGuard پیر ٹریفک گزرتا ہے اور دوسرا مصافحہ مکمل کرتا ہے مگر سرنگ کے پیچھے کسی چیز تک کبھی نہیں پہنچتا۔ کام کرنے والا پیر آپ کو بتاتا ہے کہ انٹرفیس، UDP پورٹ اور سرور کی کلید غالباً ٹھیک ہیں۔ یہ دوسرے پیر کے AllowedIPs، اس کے اندرونی ماخذ پتے یا ان کے درمیان فارورڈنگ قواعد کے بارے میں کچھ نہیں بتاتا۔ فہرست ترتیب سے مکمل کریں اور پہلے ایسے مرحلے پر رکیں جس کی شرط پوری نہ ہو۔
مرحلہ 1: وہ راستہ لکھیں جس سے پیکٹ کو گزرنا چاہیے
ایک ہی حب پر دو کلائنٹ خودبخود ایک دوسرے تک نہیں پہنچتے۔ حب اور شعاعوں کے ڈیزائن میں سرور پیکٹ wg0 پر وصول کرتا ہے اور اسے دوبارہ wg0 سے دوسرے پیر کی طرف فارورڈ کرنا ہوتا ہے، جس کے لیے IP فارورڈنگ اور فارورڈ قاعدہ درکار ہے۔ براہ راست پیر-ٹو-پیر ڈیزائن میں ہر فریق کو دوسرے کا اینڈ پوائنٹ اور دوسرے کا سرنگ پتہ AllowedIPs کے اندر چاہیے۔ کوئی بھی کنفیگریشن پڑھنے سے پہلے فیصلہ کریں کہ آپ کون سا ڈیزائن ٹھیک کر رہے ہیں۔
متوقع راستہ یہ بھی بتاتا ہے کہ کہاں دیکھنا ہے۔ اگر پیکٹ کو حب سے گزرنا ہے تو ناکام ہاپ یا تو بھیجنے والے کا AllowedIPs ہے، یا حب کی فارورڈنگ، یا وصول کرنے والے کا AllowedIPs۔ اگر اسے سیدھا جانا ہے تو حب غیر متعلق ہے اور دونوں پیروں کے اینڈ پوائنٹ خانے اہم ہیں۔
مرحلہ 2: AllowedIPs کا موازنہ دونوں طرف کریں، صرف ایک طرف نہیں
WireGuard AllowedIPs کو بیک وقت روٹنگ ٹیبل اور رسائی فہرست کے طور پر استعمال کرتا ہے۔ بھیجتے وقت سرنگ چننے کے لیے منزل کا پتہ پیر کے AllowedIPs میں تلاش کیا جاتا ہے؛ وصول کرتے وقت اندرونی ماخذ پتہ بھیجنے والے پیر کے AllowedIPs کے اندر آنا چاہیے ورنہ پیکٹ خارج کر دیا جاتا ہے۔ کسی بھی طرف رینج غائب ہو تو وہی علامت ملتی ہے: ترسیل کام کرتی ہے، پے لوڈ غائب ہو جاتا ہے۔
فائل کی بجائے زندہ حالت پڑھیں، کیونکہ دوبارہ لوڈ کرنا خاموشی سے ناکام ہو سکتا ہے: sudo wg show wg0 allowed-ips۔ سرور پر ناکام پیر کے اندراج میں اس کا سرنگ پتہ ہونا چاہیے، مثلاً 10.90.0.3/32۔ کلائنٹ پر سرور پیر کے اندراج میں وہ منزل ہونی چاہیے جسے آپ جانچ رہے ہیں، چاہے وہ حب کا سرنگ پتہ ہو یا دور کی سب نیٹ۔ ایک دوسرے پر چڑھنے والی رینجیں تلاش کو مبہم کر دیتی ہیں اور وہ پیر چن سکتی ہیں جو آپ کا مقصود نہ تھا، اس لیے انہیں الگ رکھیں۔
مرحلہ 3: اندرونی ماخذ پتہ جانچیں
جو کلائنٹ 10.90.0.3 کو wg0 کے ذریعے روٹ کرتا ہے مگر پیکٹ اپنے Wi-Fi پتے سے بھیجتا ہے، وصول کرنے والا اسے مسترد کر دے گا، کیونکہ ماخذ پیر کے AllowedIPs سے میل نہیں کھاتا۔ تصدیق کریں کہ کرنل درحقیقت کیا چنتا ہے ip route get 10.90.0.3 from 10.90.0.2 سے، اور سرنگ انٹرفیس کو دیا گیا پتہ ip -brief addr show wg0 سے تصدیق کریں۔
وصول کرنے والے Linux ہوسٹ پر الٹا راستہ چھاننا دوسرا دروازہ ہے۔ جس انٹرفیس کے پاس واپسی راستہ ہے اس پر سخت rp_filter ایسی سرنگ ٹریفک خارج کر سکتا ہے جس کا واپسی راستہ اس انٹرفیس سے میل نہیں کھاتا جہاں سے وہ آیا۔ بند کرنے سے پہلے موثر قدر جانچیں؛ بہت سی ٹوپولوجیوں میں درست اصلاح ایک روٹ ہے، ڈھیلا فلٹر نہیں۔
مرحلہ 4: حب کی فارورڈنگ اور واپسی راستے کا جائزہ لیں
اگر حب کو پیروں کے درمیان فارورڈ کرنا ہے تو کرنل کو net.ipv4.ip_forward=1 درکار ہے، اور فائر وال کو فارورڈ شدہ بہاؤ قبول کرنا چاہیے: wg0 پر اندر، wg0 سے باہر، بھیجنے والے کے سرنگ پتے سے وصول کرنے والے کے پتے تک۔ عام ناکامی یہ ہے کہ ان پٹ قاعدہ UDP 51820 قبول کرتا ہے مگر کوئی فارورڈ قاعدہ نہیں]، چنانچہ مصافحہ کامیاب ہوتا ہے اور پے لوڈ مر جاتا ہے۔ موثر قواعد sudo nft list ruleset یا اپنے فائر وال مینیجر کے مساوی سے فہرست کریں۔
پھر جواب جانچیں۔ منزل ہوسٹ کے پاس بھیجنے والے تک واپسی روٹ ہونا چاہیے، یا حب کے ذریعے یا اپنے گیٹ وے کے ذریعے۔ اگر حب سرنگ سب نیٹ پر NAT بھی کرتا ہے تو تصدیق کریں کہ ترجمہ فارورڈ شدہ بہاؤ پر لاگو ہوتا ہے اور جواب حالت ختم ہونے سے پہلے حب تک پہنچتا ہے۔ کلید کے مسئلے جیسی دکھنے والی یک طرفہ ناکامی اکثر یہی واپسی روٹ ہوتی ہے۔
آخر میں، مصافحے کو ڈیٹا سے الگ کریں۔ جو پیر مصافحہ مکمل کرتا ہے مگر بڑی منتقلیوں پر رک جاتا ہے اس کے پاس عام طور پر اسی راستے پر MTU یا MSS کا مسئلہ ہوتا ہے، AllowedIPs کا نہیں۔ پہلے چھوٹے پنگ سے، پھر پورے سائز کے پنگ سے جانچیں اور دونوں پیروں کا موازنہ کریں۔
مرحلہ 5: ایک چیز بدلیں اور کام کرنے والے پیر کو محفوظ رکھیں
ناکام راستے پر صرف ایک تبدیلی کریں اور دونوں پیر دوبارہ جانچیں۔ ہر پیر کے AllowedIPs کو 0.0.0.0/0 سے بدلنا پہلے سے کام کرنے والے پیر کو توڑنے کا تیز ترین طریقہ ہے، کیونکہ یہ اس انٹرفیس کی تمام ٹریفک کے لیے روٹنگ فیصلہ بدل دیتا ہے۔ وہی ایک اندراج میں ترمیم کریں، دوبارہ لوڈ کریں اور زندہ حالت پھر پڑھیں۔
کون سا راستہ کامیاب ہوا، کون سا ناکام، اور ہر ایک کا درست کمانڈ آؤٹ پٹ لکھیں۔ وہ موازنہ VPN کے خراب ہونے کی عمومی رپورٹ سے زیادہ قیمتی ہے، اور اگلا شخص سب سے پہلے وہی پوچھے گا۔