Windows پر، OpenVPN اڈاپٹر جو کوئی پتہ لیتا ہے، اُسے گرا دیتا ہے اور ہر چند سیکنڈ بعد یہی دہراتا ہے، عام طور پر DHCP کی خرابی نہیں ہوتی۔ اڈاپٹر کو ایسا پتہ استعمال کرنے کو کہا جا رہا ہے جس کا جواب پہلے ہی کوئی اور دے رہا ہے، چنانچہ Windows اُسے ناقابلِ استعمال قرار دیتا ہے اور کلائنٹ دوبارہ شروع کرتا ہے۔ کلائنٹ کا لاگ خاموش رہتا ہے کیونکہ تصادم اُس سے نیچے، خود آپریٹنگ سسٹم کے نیٹ ورک اسٹیک میں حل ہو جاتا ہے۔

یہ فرق اہم ہے، کیونکہ ٹنل کی ترتیب پر مرکوز ہر ٹربل شوٹنگ قدم سرور کی طرف موجود دہرائے گئے پتے کو نظر انداز کر دے گا۔

کلائنٹ لاگ کی بجائے Windows کے ایونٹ لاگ سے شروع کریں

Windows پتوں کے تصادم کو System لاگ میں ایونٹ آئی ڈی 4198 اور 4199 کے ساتھ درج کرتا ہے۔ پہلا کسی پتے کے لیے تصادم کی نشاندہی بتاتا ہے، دوسرا بتاتا ہے کہ کوئی انٹرفیس اُس پتے کو استعمال نہیں کر سکا جس کے ساتھ اُسے ترتیب دیا گیا تھا۔ دونوں میں سے کوئی OpenVPN کا ذکر نہیں کرتا، اور یہی وجہ ہے کہ اِنہیں نظر انداز کرنا آسان ہے۔

حالیہ ایونٹس نکالیں اور اُن کے ٹائم اسٹیمپ کا موازنہ اڈاپٹر کے تجدید دور سے کریں: Get-WinEvent -FilterHashtable @{LogName='System'; Id=4198,4199} -MaxEvents 40 | Format-Table TimeCreated,Id,Message -Wrap۔ ہر پندرہ سیکنڈ بعد ایک تصادم اُس کلائنٹ سے مطابقت رکھتا ہے جو اُس مالک کے خلاف وہی پتہ دوبارہ آزما رہا ہے جو اُس کا جواب دیتا رہتا ہے۔ کنیکٹ کے وقت ایک ہی تصادم ایک بار ہونے والی ٹکر کی طرف اشارہ کرتا ہے۔ بہرحال، اگلا سوال یہ ہے کہ پتہ اور کس کے پاس ہے۔

تین ترتیبیں دو ہوسٹس کو ایک پتے پر بٹھا دیتی ہیں

سرور سے پوچھیں کہ اُس کے خیال میں پتہ کس کے پاس ہے، پھر نیٹ ورک سے پوچھیں کہ اُس کا جواب کون دیتا ہے۔ grep -H ifconfig-push /etc/openvpn/ccd/* ہر مقرر شدہ ٹنل پتہ اور اُس سرٹیفکیٹ کی فہرست دیتا ہے جس سے وہ تعلق رکھتا ہے۔ ip -4 neigh show dev tap0 دکھاتا ہے کہ برج نے دوسری پرت پر کیا سیکھا ہے۔ اِن دو فہرستوں کا موازنہ ایک منٹ سے کم میں زیادہ تر نقول تلاش کر لیتا ہے۔

تین ترتیبیں تقریباً اِن سب کی وضاحت کرتی ہیں: client-config-dir کا اندراج دو سرٹیفکیٹس کے لیے ایک ہی پتہ مقرر کر دیتا ہے، برج شدہ tap سیگمنٹ کسی مشین کو ایسا پتہ دے دیتا ہے جو پہلے ہی کسی اور ہوسٹ کے پاس مستقل ہے، یا کوئی پرانی لیز فائل ایسا پتہ واپس کر دیتی ہے جسے اب بھی جڑا ہوا کلائنٹ اپنا سمجھتا ہے۔ تیسرا معاملہ سب سے زیادہ دھوکے باز ہے، کیونکہ ifconfig-pool-persist جان بوجھ کر معروف کلائنٹس کے لیے پتے دوبارہ استعمال کرتا ہے۔

پتے کو منفرد بنائیں، اُس کے لیے دوڑ نہ لگائیں

بوٹ کی ترتیب صرف یہ طے کرتی ہے کہ آج کون جیتے گا، اس لیے ری اسٹارٹ کی ترتیب پر مبنی کوئی بھی حل عارضی سمجھیں۔ ہر کلائنٹ کو اُس کی اپنی ifconfig-push سطر دیں، یا ایسے رینج سے مستقل پتے مختص کریں جسے کوئی برج یا سرور انٹرفیس نہیں چھوتا۔ کلائنٹ فہرست میں مشترکہ ناموں کی نقول بھی جانچیں، کیونکہ duplicate-cn دو سیشنوں کو ایک ہی شناخت اور اسی لیے ایک ہی مقرر شدہ پتہ شیئر کرنے دیتا ہے۔ اگر برج شدہ ڈیوائس کو واقعی مقررہ پتہ درکار ہو تو اُسے اپنی ذیلی نیٹ میں لے جائیں یا پول سے ایسی جگہ مختص کریں جہاں سرور اُسے درج کرے۔

persist فائل کو تب ہی حذف کریں جب آپ جان لیں کہ اُس میں کون سی لیزیں ہیں، ورنہ اگلا دوبارہ کنیکٹ وہی پتے پھر دے دے گا۔

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

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

اگر کلائنٹ پھر بھی اپنا پتہ نہیں رکھ پاتا، تو جانچیں کہ کیا اسی ہوسٹ پر کوئی برج انٹرفیس اُسے اٹھائے ہوئے ہے۔ وہ برج جسے کسی وینڈر ڈیوائس سے پتہ ورثے میں ملا ہو، اُس کے لیے ARP کا جواب دے گا، چاہے VPN سرور وہ پتہ کسی کلائنٹ کے حوالے کر چکا ہو۔

ٹکٹ بند کرنے سے پہلے مکمل تجدید دور سے زیادہ دیر تک نظر رکھیں

ایک صاف قراءت کچھ ثابت نہیں کرتی۔ اڈاپٹر پر کم از کم دس منٹ نظر رکھیں اور درمیان میں زبردستی دوبارہ کنیکٹ کریں: Get-NetIPAddress -InterfaceAlias "OpenVPN*" | Select-Object IPAddress,AddressState۔ پتہ دوبارہ کنیکٹ کے بعد بھی قائم رہنا چاہیے اور ترجیحی حالت میں رہنا چاہیے۔

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

پول کی رینج، ہر مقرر شدہ پتہ اور اُس کا مالک ہوسٹ سرور کے نوٹس میں درج کریں۔ پھر اگلی ٹکر کو دیکھنے میں منٹ لگیں گے، دوپہر نہیں، دوبارہ دریافت کرنے میں۔

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