ونڈوز میں VPN کی غلطی کے کوڈز: کون سا مرحلہ ناکام ہوا اور کیا ریکارڈ کریں
829, 703, 720, 691, 649: ہر نمبر ایک مرحلے کا نام دیتا ہے، اور ہر مرحلے کے اپنے ثبوت ہیں۔ ایک کوشش ریکارڈ کریں، گیٹ وے کا لاگ موازنہ کریں، ایک تہہ بدلیں۔
ناکامی کے بعد Windows VPN کا ڈائیلاگ کھولیں اور یہ آپ کو ایک نمبر اور ایک جملہ دیتا ہے، جس میں جملہ عام طور پر کم مفید آدھا ہوتا ہے۔ نمبر بتاتا ہے کہ کنکشن کا کون سا مرحلہ ناکام ہوا، اور مرحلہ طے کرتا ہے کہ آگے کون سا لاگ، کون سی سیٹنگ اور کون سی ٹیم دیکھنی ہے۔ مرحلوں کو ترتیب سے طے کرنے میں تقریباً دس منٹ لگتے ہیں اور یہ اُس جانی پہچانی ترتیب کو روکتا ہے جس میں ایڈاپٹر دوبارہ انسٹال کرنے، پروٹوکول بدلنے اور اسٹیک ری سیٹ کرنے سے ایسا اکاؤنٹ درست کیا جاتا ہے جسے کبھی ڈائل کرنے کی اجازت ہی نہیں دی گئی تھی۔
نمبر کو ایک مرحلے کے طور پر پڑھیں
اصل کنکشن چار سنگ میل طے کرتا ہے۔ یہ سرور تک پہنچ کر لنک قائم کرتا ہے، سیکیورٹی پر بات چیت کرتا ہے، صارف کی تصدیق کرتا ہے، اور پتہ اور روٹنگ لاگو کرتا ہے۔ ان میں سے ہر ایک میں ناکامی الگ ثبوت چھوڑتی ہے، اور ایک مرحلے کا کوڈ باقی کے بارے میں کچھ مفید نہیں کہتا۔
جس غلطی سے بچنا ہے وہ کوڈ کو شدت کا درجہ سمجھنا ہے۔ لنک کی ناکامی اور اجازت کی ناکامی دونوں "کنیکٹ نہیں ہو سکا" کے طور پر پڑھی جاتی ہیں، اور اس کے علاوہ ان میں کچھ مشترک نہیں۔ شدت بتاتی ہے کہ کتنا فوری ہے؛ مرحلہ بتاتا ہے کہ کیا کھولنا ہے۔
| Code family | Stage | Where the evidence lives |
|---|---|---|
| 829, 703 | Link or dial completion | Client event log, remote listener reachability |
| 720 | PPP negotiation and miniport binding | Adapter state, bindings, client log detail |
| 691, 649, 812 | Identity and authorization | Gateway or authentication server decision |
| Connected, no traffic | Addressing, routing and resolution | Route table and resolver configuration |
پہلا مرحلہ: لنک اور ڈائل کی کوشش
829 کا مطلب ہے کہ بنیادی لنک ٹوٹ گیا۔ یہ نہیں بتاتا کہ دور والا فریق جواب دینا چھوڑ گیا، بیچ کے آلے نے سیشن ختم کیا، یا کلائنٹ کی پالیسی نے اسے بند کیا۔ 703 جیسا ڈائل مکمل ہونے کا کوڈ اس سے بھی پہلے کا ہے: کوشش لنک تک بھی نہیں پہنچی، جو عام طور پر پروفائل، سروس کی حالت یا مقامی پالیسی کی طرف اشارہ کرتا ہے۔
Get-VpnConnection -Name 'Corp' | Select-Object Name,ServerAddress,TunnelType,AuthenticationMethod,ConnectionStatus
Test-NetConnection -ComputerName vpn.example.net -Port 443
Get-WinEvent -LogName Application -MaxEvents 200 | Where-Object ProviderName -match 'RasClient' | Select-Object -First 15 TimeCreated,Id,Message
ایونٹ کی استفسار وہ حصہ ہے جسے لوگ چھوڑ دیتے ہیں۔ وقت کی مہر اور انٹرفیس کے نام کے ساتھ کلائنٹ کی طرف کا ریکارڈ ڈائیلاگ سے زیادہ قیمتی ہے، کیونکہ یہ بتاتا ہے کہ کوشش مشین سے نکلی بھی یا نہیں۔ ریکارڈ نہ ہو اور سننے والے کی طرف سے جواب نہ ہو تو یہ رسائی کا مسئلہ ہے، اور کلائنٹ میں کوئی ترمیم اسے نہیں بدلتی۔
اگر وہی پروفائل کسی دوسرے نیٹ ورک پر کام کرتا ہے، تو یہیں رک جائیں۔ کوڈ کنفیگریشن کی غلطی نہیں بلکہ راستے کی حالت بیان کر رہا ہے، اور اگلا مفید موازنہ دوسری دوبارہ تنصیب نہیں بلکہ دو کیپچر ہیں۔
دوسرا مرحلہ: PPP اور منی پورٹ بائنڈنگ
720 لنک اور صارف کے درمیان ہے۔ ٹنل اوپر آیا اور پھر PPP پرت کسی پتے یا کنٹرول پروٹوکول پر بات چیت نہ کر سکی، جو اکثر کلائنٹ پر بائنڈنگ کا مسئلہ ہے، مسترد شدہ اسناد نہیں۔ یہی فرق کوڈ کی پوری قدر ہے: یہ کہتا ہے کہ اسناد تک کبھی پہنچا ہی نہیں گیا، اس لیے اکاؤنٹ مشتبہ نہیں۔
Get-NetAdapter -IncludeHidden | Where-Object InterfaceDescription -match 'WAN Miniport' | Select-Object Name,Status,ifIndex
Get-NetAdapterBinding | Where-Object ComponentID -match 'ms_pptp|ms_l2tp|ms_sstp|ms_agile' | Select-Object Name,ComponentID,Enabled
ان دونوں آؤٹ پٹ کو پڑھنا کچھ بھی ری سیٹ کرنے سے زیادہ معلوماتی ہے۔ موجود مگر شروع نہ ہونے والا منی پورٹ، یا کسی دوسرے سافٹ ویئر کی طرف سے غیر فعال شدہ پروٹوکول بائنڈنگ، ٹھیک اسی مرحلے کی ناکامی پیدا کرتے ہیں۔ دونوں کو اسٹیک کے باقی حصے کو چھوئے بغیر ٹھیک کیا جا سکتا ہے۔ اس کے برعکس، مکمل ری سیٹ وہ پتہ اور فلٹر حالت ہٹا دیتا ہے جس کا خرابی سے کوئی تعلق نہیں تھا۔
تیسرا مرحلہ: شناخت اور اجازت
691 کا مطلب ہے کہ اسناد مسترد ہوئیں۔ 649 کا مطلب ہے کہ اکاؤنٹ کو ڈائل کرنے کی اجازت نہیں، اور 812 کا مطلب ہے کہ دور رسائی کی پالیسی نے کنکشن مسترد کیا۔ یہ فیصلے ہیں، نقل و حمل کی خرابیاں نہیں، اور کلائنٹ صرف ان کی رپورٹ کر سکتا ہے۔
ثبوت دوسری طرف ہے۔ گیٹ وے آپریٹر سے اُس وقت کی مہر کی کوشش اور موافق پالیسی مانگیں؛ ڈائریکٹری کے مالک سے پوچھیں کہ اکاؤنٹ کو ڈائل اِن کی اجازت ہے یا نہیں اور یہ پالیسی کے مطلوبہ گروپ میں ہے یا نہیں۔ ٹنل کی قسم بدلنا یا کلائنٹ دوبارہ انسٹال کرنا شناخت کے بارے میں لیے گئے فیصلے کو نہیں بدل سکتا۔
اس مرحلے میں مفید عادت یہ ہے کہ ٹکٹ میں اکاؤنٹ کی درست سٹرنگ لکھیں، کسی بھی ڈومین سابقے کے ساتھ۔ حیران کن طور پر بہت سے 691 کیسز غلط ڈومین کے لیے محفوظ اسناد ہوتے ہیں، اور یہ پروٹوکول سیٹنگز میں نہیں بلکہ اکاؤنٹ سٹرنگ میں نظر آتا ہے۔
چوتھا مرحلہ: جڑا ہوا، اور کچھ کام نہیں کرتا
کنکشن مکمل ہو سکتا ہے اور پھر بھی بیکار رہ سکتا ہے۔ اس کے پاس پتہ ہوتا ہے، کلائنٹ کامیابی کی اطلاع دیتا ہے، اور ایپلیکیشن کی ہر درخواست وقت سے تجاوز کر جاتی ہے۔ ڈائیلاگ میں کچھ بھی اس کی عکاسی نہیں کرتا، اور دیکھنے کے لیے کوئی کوڈ نہیں۔ اُس لمحے ڈائیلاگ ختم ہو چکا ہے اور مفید ثبوت کہیں اور ہے۔
Get-NetRoute -DestinationPrefix 10.24.0.0/16 | Select-Object DestinationPrefix,NextHop,InterfaceAlias
Resolve-DnsName files.corp.example.internal
Test-NetConnection -ComputerName 10.24.6.15 -Port 445
اگر راستہ نہیں ہے، تو سرور نے اسے دھکیلا نہیں یا کلائنٹ نے اسے گرا دیا۔ اگر راستہ ہے اور نام ناکام ہوتا ہے، تو مسئلہ نام حل کرنے میں ہے۔ اگر دونوں کام کرتے ہیں اور ایپلیکیشن پھر بھی ناکام ہوتی ہے، تو آپ ٹنل سے آگے ایپلیکیشن کی اپنی کنفیگریشن میں ہیں۔
ہر ٹیسٹ کے لیے تبدیلیاں ایک ہی تہہ میں رکھیں۔ اگلی کوشش سے پہلے کیا گیا ہر ترمیم اگلے کوڈ کے سیاق کا حصہ بن جاتا ہے، اور آپ کی آخری ترمیم بیان کرنے والا کوڈ کوڈ نہ ہونے سے بھی بدتر ہے۔
ایک کوشش، ایک تبدیلی، ایک ریکارڈ
مرحلہ جو بھی ہو، ریکارڈ میں کوڈ، پیغام، پروفائل کا نام، وقت کی مہر اور وہ نیٹ ورک ہونا چاہیے جس پر آپ تھے۔ پانچ فیلڈز، اور ان میں سے ہر ایک پہلے سے ڈائیلاگ یا کلائنٹ لاگ میں آپ کے سامنے ہے۔ یہ مجموعہ ٹکٹ میں چپکانے کے لیے کافی چھوٹا اور کسی اور کے دوبارہ بنانے کے لیے کافی مخصوص ہے۔
پھر وہ وقت کی مہر دوسری طرف کے ریکارڈ کے پاس رکھیں۔ اس صفحے کے اوپری حصے کے قریب جدول بتاتا ہے کہ ہر عدم مطابقت کس مرحلے کی ہے۔ دوسرے ریکارڈ کے بغیر کوڈ صرف تلاش کو محدود کرتا ہے؛ اس کے ساتھ مرحلہ طے ہو جاتا ہے۔ موازنہ ہی نمبر کو اندازے کی بجائے تشخیص میں بدلتا ہے۔
یہ عادت Windows کی تقریباً ہر اصل VPN خرابی کو محیط ہے، اور کسی بھی شاخ میں کچھ بھی دوبارہ انسٹال کرنے کی ضرورت نہیں۔ ڈائیلاگ ہمیشہ بتاتا رہا کہ آپ کے پاس کون سا ہے؛ کام یہ ہے کہ ان سب کو ایک ہی مسئلہ سمجھنے سے انکار کیا جائے۔