WireGuard ڈیٹا بھیجتا ہے مگر کچھ واپس نہیں ملتا: کون سا رخ؟
بڑھتا ہوا ٹرانسمٹ کاؤنٹر ایک سمت ہے، تشخیص نہیں۔ کچھ بھی بدلنے سے پہلے طے کریں کہ درخواست کبھی ٹنل سے باہر نہیں گئی یا جواب کبھی واپس نہیں آیا۔
ریسیو کاؤنٹر صفر پر رہتے ہوئے ٹرانسمٹ کاؤنٹر بڑھنا سمت بتاتا ہے، تشخیص نہیں۔ یہی پڑھائی تب دکھائی دیتی ہے جب پیر نے کبھی ہینڈ شیک مکمل نہ کیا، جب منزل نے غلط پیر چنا، جب دور والے رخ کے پاس واپسی کا راستہ نہ ہو، اور جب کوئی فلٹر گھر واپسی کے راستے میں جواب گرا دے۔ ان میں سے ہر ایک الگ جگہ ٹھیک ہوتا ہے۔
کام مختصر کرنے والا موازنہ اُس درخواست اور اُس جواب کے درمیان ہے جو بالترتیب کبھی ٹنل سے باہر نہیں نکلی اور کبھی واپس نہیں آیا۔ درست انٹرفیس پر ایک کیپچر دونوں کے درمیان فیصلہ کر دیتا ہے۔
کاؤنٹر مقدار بتاتے ہیں، خرابی کی سمت نہیں
WireGuard کے کاؤنٹر درج کرتے ہیں کہ انٹرفیس نے پیر کو کیا دیا اور اُس سے کیا لیا۔ وہ نہیں بتاتے کہ کون سی منزل، کون سا پیر یا تبادلے کا کون سا آدھا حصہ ناکام ہوا۔ پس منظر کی ٹریفک مجموعی اعداد کو مزید بے معلومات بناتی ہے، کیونکہ کچھ بائٹس کنکشن برقرار رکھنے والے پیغامات یا غیر متعلقہ بہاؤ ہو سکتے ہیں۔ انہیں اس اشارے کے طور پر پڑھیں کہ انٹرفیس فعال ہے، پھر انہیں ثبوت سمجھنا چھوڑ دیں۔
پہلی کارآمد بات یہ ہے کہ ہینڈ شیک موجودہ ہے یا نہیں۔ اس کے بغیر اس پیر کے لیے کچھ بھی انکرپٹ نہیں ہوا اور ریسیو کاؤنٹر کے ہلنے کی کوئی وجہ نہیں۔
پیر کا انتخاب یا جواب کا راستہ: دو وضاحتیں
پہلی وضاحت یہ ہے کہ پیکٹ کبھی مطلوبہ پیر تک نہیں پہنچا، کیونکہ راستہ کہیں اور اشارہ کر رہا تھا یا پیر کے اجازت یافتہ سابقے منزل کو نہیں ڈھانپتے تھے۔ دوسری یہ ہے کہ پیکٹ پہنچ گیا مگر جواب واپس نہیں آ سکا، جو دور والے سرے پر روٹنگ کا مسئلہ ہے۔ جدول دونوں کو اس بنیاد پر الگ کرتا ہے کہ آپ ہر مقام پر کیا دیکھیں گے۔
| Observation | Points to |
|---|---|
| No handshake while transmit climbs | Peer selection or endpoint |
| Handshake current, request visible on the server | Reply path or far-side route |
| Request never visible on the server | Allowed prefixes or local route |
| Both packets visible, nothing reaches the client | Return filter or translation |
جدول اوپر سے پڑھیں۔ ہینڈ شیک نہ ہو تو یہ آپ کو چابیوں، اینڈ پوائنٹس اور بیرونی راستے کی طرف بھیجتا ہے، کیونکہ ابھی جانچنے کے لیے اور کچھ نہیں۔ سرور پر درخواست نظر آنے کے ساتھ موجودہ ہینڈ شیک مسئلہ کو واپسی کی سمت منتقل کرتا ہے، جہاں منزل کی اپنی روٹنگ جدول فیصلہ کرتی ہے۔ جو درخواست سرور پر کبھی ظاہر نہیں ہوتی وہ انتخاب کا مسئلہ ہے، اور دونوں پیروں کے اجازت یافتہ سابقے سب سے پہلے موازنے کی چیز ہیں۔
ان چار قطاروں میں سے دو کلائنٹ پر اور دو سرور پر ٹھیک ہوتی ہیں۔ یہ جاننا کہ آپ کس جوڑی میں ہیں، کام کا بڑا حصہ ہے۔
جواب کہاں غائب ہوتے ہیں
جواب منزل چھوڑتا ہے، سرور کے ٹنل انٹرفیس تک پہنچتا ہے اور اُس پیر کے لیے انکرپٹ ہوتا ہے جس کے اجازت یافتہ پتے کلائنٹ کے اندرونی پتے سے میل کھاتے ہیں۔ اگر یہ میل ناکام ہو تو جواب خاموشی سے گرا دیا جاتا ہے، جو کلائنٹ کی طرف سے بالکل نیٹ ورک خرابی جیسا دکھتا ہے۔ اگر جواب انکرپٹ ہو اور کلائنٹ کا اپنا فلٹر اسے مسترد کر دے تو علامت پھر وہی رہتی ہے۔ دونوں صورتوں میں کاؤنٹر نہیں، کیپچر چاہیے۔
اس خرابی کی سب سے مضبوط شکل وہ سرور ہے جو کلائنٹ کے لیے پیکٹ آگے بھیجتا ہے مگر کلائنٹ کی اندرونی حد تک واپسی کا راستہ نہیں رکھتا۔ وہ درخواست قبول کرتا ہے، جواب اپنے ڈیفالٹ گیٹ وے کی طرف بھیجتا ہے، اور ٹنل اسے کبھی نہیں دیکھتا۔ سرور پر شامل کوئی وسیع ترجمے کا قاعدہ راستہ ٹھیک کرنے کے بجائے اس خرابی کو چھپا دیتا ہے۔
ایک منزل کو شروع سے آخر تک جانچیں
پیر کی حد کے اندر ایک ہی منزل چنیں، اور اسے تب جانچیں جب ہینڈ شیک واضح طور پر موجودہ ہو۔ نیچے دیے گئے احکام پیر کی حالت، منتخب راستہ اور تبادلے کے دونوں رخ پڑھتے ہیں۔ کیپچر اُس انٹرفیس پر چلائیں جو انکرپٹ پیکٹ واقعی استعمال کرتے ہیں۔
wg show wg0 latest-handshakes
wg show wg0 transfer
ip route get 10.60.9.5
sudo tcpdump -ni wg0 host 10.60.9.5
ٹنل انٹرفیس پر درخواست دکھا کر کچھ بھی واپس نہ آنے والا کیپچر سرور کی طرف سے جواب ہے، اور منزل کی روٹنگ جدول اگلی دیکھنے کی جگہ ہے۔ اگر بالکل کچھ نظر نہ آئے تو پیکٹ نے دوسرا راستہ لیا ہے، اس لیے مقامی راستہ مشتبہ ہے۔ دونوں کیپچر میں نظر آنے والا مگر ایپلیکیشن میں پیش رفت کے بغیر تبادلہ سوال کو پیکٹ کے حجم یا ایسے فلٹر کی طرف لے جاتا ہے جو انٹرفیس کے اعداد و شمار کبھی نہیں دکھاتے۔ جانچ میں ایک منزل اور ایک کلائنٹ رکھیں، کیونکہ دوسرا متغیر ثبوت کو پھر اندازے میں بدل دیتا ہے۔
اگر نام ناکام ہوں جبکہ اجازت یافتہ پتہ کام کر رہا ہو، تو جواب ٹنل میں نہیں، DNS میں ہے۔ اگر صرف بڑی منتقلیاں رکیں، تو پیکٹ کا حجم الگ سے جانچیں۔