IPsec کی چائلڈ SA قائم ہے، لیکن پیکٹ کاؤنٹر صفر ہی رہتے ہیں
نصب شدہ چائلڈ SA پر صفر پیکٹ کاؤنٹر عام طور پر یہ معنی رکھتے ہیں کہ اس سے کچھ بھی نہیں ملا۔ ایک پن شدہ بہاؤ کو کاؤنٹر، راستے، منتخب کنندگان اور اصل سے گزاریں۔
آپ نے ٹنل اوپر اٹھایا، ری کی ٹائمر گنتی کر رہا ہے، اور دونوں سمتوں میں اب بھی صفر پیکٹ پڑھے جا رہے ہیں۔ ان دو نمبروں میں کچھ بھی یہ نہیں کہتا کہ ساتھی نے آپ کی ٹنل مسترد کی: نصب شدہ CHILD SA جس کے کاؤنٹر خالی ہوں، ایسی ایسوسی ایشن کی معمول کی حالت ہے جس سے ابھی کچھ نہیں ملا۔ کام یہ ہے کہ ثابت کریں کہ کسی پیکٹ کو ملنا چاہیے تھا، پھر وہ مقام تلاش کریں جہاں اس نے وہ راستہ چھوڑا جو منتخب کنندگان بیان کرتے ہیں۔ یہ ایک بار، ترتیب سے کریں اور رنز کے درمیان درخواست یکساں رکھیں۔
صفر کاؤنٹر دراصل کیا ثابت کرتا ہے
CHILD SA ایک منتخب کنندہ جوڑی اور وہ کلیدیں اور SPI جو ان حدود میں آنے والے ٹریفک کو خفیہ کرتے ہیں ہے۔ اسے نصب کرنے کا مطلب صرف یہ ہے کہ دونوں ساتھی ان حدود اور اخذ کردہ کلیدوں پر متفق ہوئے؛ کرنل اسے گھنٹوں رکھے گا بغیر کسی ایک پیکٹ کے آئے۔ چنانچہ سوال کبھی یہ نہیں کہ ٹنل موجود ہے یا نہیں، بلکہ یہ کہ آپ کے ٹیسٹ نے بھیجا کوئی پیکٹ دونوں ساتھیوں کے طے کردہ حدود میں پڑا یا نہیں۔ اگر کوئی نہیں پڑا، کاؤنٹر صفر ہی رہتے ہیں اور ایسوسی ایشن اپنی زندگی کے اختتام پر بغیر استعمال کے ختم ہو جاتی ہے۔
یہ فرق بدلتا ہے کہ آپ پہلے کیا دیکھتے ہیں۔ مسترد شدہ تجویز، توثیق کی ناکامی یا مرتی ہوئی IKE SA سب لاگ میں یا SA کی فہرست میں ظاہر ہوتے ہیں، خاموش صفر کے طور پر نہیں۔ صاف طور پر بات چیت کر کے پھر خالی رہنے والی ٹنل اس کے بجائے ملاپ، راستہ یا ٹیسٹ ٹریفک کی اصل کی طرف اشارہ کرتی ہے۔
بھیجنے سے پہلے بیان کرنے کے قابل بہاؤ بھیجیں
محفوظ سب نیٹ کے اندر کوئی منزل چنیں اور اس کی طرف نیا کنکشن کھولیں؛ ایک گھنٹہ پہلے لوڈ کیا صفحہ کیشے سے آ سکتا ہے، اور کیش شدہ جواب کبھی ٹنل کو نہیں چھوتا۔ پھر جب درخواست ابھی فرضی ہو چار قدریں لکھیں: وہ ماخذ پتہ جو ایپلیکیشن باندھے گی، منزل، پتہ خاندان اور اس چائلڈ کا نام یا منتخب کنندہ جوڑی جس کی آپ نگرانی کر رہے ہیں۔ وہی ریکارڈ سپاٹ کاؤنٹر کو قابل آزمائش دعوے میں بدلتا ہے۔
ماخذ پتہ وہ قدر ہے جسے لوگ چھوڑ دیتے ہیں، اور یہی ٹیسٹ سب سے زیادہ توڑتا ہے۔ تار والا پتہ، Wi-Fi پتہ اور ٹنل پتہ رکھنے والا لیپ ٹاپ راستے کی تلاش کے مطابق ان میں سے کوئی بھی باندھ سکتا ہے، اور ان میں سے صرف ایک ہی طے شدہ حد میں ہو سکتا ہے۔ ایسا اوزار استعمال کریں جو ماخذ پن کرنے دے، جیسے ping -I 10.1.0.5 10.2.0.9 یا curl --interface 10.1.0.5، تاکہ پیکٹ خاموشی سے کوئی دوسرا پتہ نہ چن سکے۔ جب پن شدہ رن کاؤنٹر ہلائے اور بغیر پن والی نہ ہلائے، تو آپ نے IPsec کا نہیں بلکہ راستے کا مسئلہ پایا ہے۔
کون سے نمبر پڑھیں، اور وہ کہاں رہتے ہیں
Linux پر ip -s xfrm state ہر ایسوسی ایشن کو lifetime current: لائن کے ساتھ چھاپتا ہے جس کا بائٹ اور پیکٹ مجموعہ صرف اسی SA کا ہوتا ہے، پھر ری پلے اور غلطیوں کی گنتی کے لیے stats: لائن آتی ہے۔ strongSwan ساتھی پر swanctl --list-sas ہر نصب شدہ چائلڈ کے لیے ایک in لائن اور ایک out لائن چھاپتا ہے، ہر ایک بائٹ گنتی اور پیکٹ گنتی پر ختم ہوتی ہے؛ پرانے stroke اوزار اسی جوڑی کو bytes_i اور bytes_o کہتے ہیں۔ دونوں سمتیں الگ الگ پڑھیں، کیونکہ جو سپاٹ رہی وہی دریافت ہے۔ انہیں اکٹھا کرنا ٹھیک وہی عدم توازن چھپاتا ہے جو آپ ڈھونڈ رہے ہیں۔
دونوں منظرنامے فی ایسوسی ایشن ہیں، اس لیے ری کی نئی SPI جوڑی نصب کرتا ہے اور آپ کی بنیاد کچھ ٹوٹے بغیر صفر پر واپس آ جاتی ہے۔ ری کی ٹائمر چلنے سے پہلے وہ SPI لکھ لیں جس کی آپ نگرانی کر رہے ہیں، ورنہ آپ نئی SA کا پرانے نمبر سے موازنہ کریں گے۔ اگر باہر جانے والی سمت بڑھے جبکہ اندر آنے والی سپاٹ رہے، تو منتخب کنندہ ملا لیکن جواب کبھی واپس نہیں آیا، جو تحقیق کو ساتھی کی فارورڈنگ اور اس کی اپنی پالیسی کی طرف لے جاتا ہے۔ strongSwan کی IKEv2 کنفیگریشن دستاویزات چائلڈ SA کے زندگی کے چکر اور ان نمبروں کے پیچھے ری کی وقت کا احاطہ کرتی ہیں۔
مشاہدے کا مقام پیکٹ کی اصل سے الگ متغیر ہے۔ ہارڈویئر آف لوڈ ایسوسی ایشن کے کاؤنٹر بڑھا سکتا ہے جبکہ انٹرفیس پر سافٹ ویئر کیپچر کچھ نہیں دکھاتا، کیونکہ آف لوڈ شدہ پیکٹ اس ہک کو چھوڑ جاتے ہیں جہاں کیپچر بیٹھا ہے، اور اندر آنے والا بہاؤ بھی اسی طرح ہٹ سکتا ہے۔ جب دونوں متفق نہ ہوں، تو یہ جواب دینے کے لیے کہ کچھ ملا یا نہیں کاؤنٹر اور یہ جواب دینے کے لیے کہ پیکٹ کیسا دکھتا تھا کیپچر استعمال کریں۔
راستہ، منتخب کنندگان اور پیکٹ کہاں پیدا ہوا
تین چیزوں کا شانہ بشانہ موازنہ کریں: وہ راستہ جو کرنل آپ کی منزل کے لیے چنتا ہے، وہ پالیسی جو ٹریفک کو ٹنل میں لے جاتی ہے، اور وہ منتخب کنندہ جوڑی جو چائلڈ نے طے کی۔ ip route get 10.2.0.9 from 10.1.0.5 اس انٹرفیس اور ماخذ کا نام دیتا ہے جو کرنل استعمال کرتا، جو اکثر وہی جوڑی نہیں ہوتی جو آپ نے فرض کی۔ ip xfrm policy مقامی طور پر نصب سانچے اور منتخب کنندگان دکھاتا ہے، جبکہ swanctl --list-sas دکھاتا ہے کہ ساتھی کس بات پر متفق ہوا۔ پیکٹ کو جسمانی انٹرفیس سے باہر بھیجنے والی تلاش پالیسی تک پہنچتی ہی نہیں، اس لیے کاؤنٹر ہل نہیں سکتے۔
عدم مطابقت کئی شکلوں میں آتی ہے جو کاؤنٹر سے ایک جیسی دکھتی ہیں۔ IPv4 منتخب کنندہ سے باہر IPv6 منزل، غلط سب نیٹ سے ماخذ پتہ اور چائلڈ سے تنگ پالیسی سب وہی صفر پیدا کرتے ہیں۔ سب سے تنگ وجہ پہلے درست کریں، کیونکہ صرف نمبر ہلانے کے لیے منتخب کنندہ کو چوڑا کرنا یہ بدل دیتا ہے کہ ٹنل کس چیز کی حفاظت کرتی ہے۔
پھر پیکٹ کی اصل ہے، وہ جال جو گیٹ وے اپنے ہی آپریٹر کے لیے بچھاتا ہے۔ گیٹ وے خود جو ٹریفک پیدا کرتا ہے وہ آؤٹ پٹ پالیسی سے ملایا جاتا ہے، جبکہ گاہک کے لیے وہ جو پیکٹ آگے بھیجتا ہے وہ فارورڈ پالیسی سے ملایا جاتا ہے، اس لیے باکس سے گیا ping ایسے راستے پر کامیاب ہو سکتا ہے جس پر کوئی گاہک کبھی نہیں جاتا۔
ایک واپس لینے کے قابل تبدیلی اور جائزے سے گزرنے والی رپورٹ
ایک ہی عنصر بدلیں، وہی درخواست دہرائیں اور وہی کاؤنٹر پڑھیں۔ تمام فائر وال قواعد صاف کرنا یا سارے منتخب کنندگان ایک ساتھ بدلنا نمبر ہلائے گا اور وہ شواہد تباہ کرے گا جو آپ کو بتاتے تھے کہ کیوں۔ اگر دوسری رن اب بھی صفر دکھائے، تو آپ نے دوپہر ضائع کرنے کے بجائے ایک مفروضہ خارج کر دیا۔
دریافت کو ایسی شکل میں لکھیں جسے کوئی اور دہرا سکے: چائلڈ کا نام، قبول شدہ حدود، وہ ماخذ جو آپ نے پن کیا، وہ منزل جسے آپ نے آزمایا، وہ سمت جو صفر پر رہی، اور وہ SPI جو آپ پڑھ رہے تھے۔ وہ جملہ کسی کے استعمال نہ کردہ ایسوسی ایشن کو اس دور کی ایپلیکیشن سے الگ کرتا ہے جس نے ٹریفک وصول کیا اور مسترد کر دیا۔ جب تبدیلی نے کاؤنٹر نہ ہلائے تو اسے واپس کریں اور ریکارڈ رکھیں؛ اگلا شخص وہیں سے شروع کرے گا جہاں آپ رکے۔ ان سب کے لیے ٹنل میں کچھ دوبارہ بنانا نہیں پڑا، اور کنفیگریشن چھونے سے پہلے ملاپ جانچنے کا مطلب بھی یہی ہے۔