Windows کے عوامی فائر وال پروفائل کی وجہ سے VPN کلائنٹس مسدود
Windows VPN اڈاپٹر کو عوامی کے طور پر درجہ بندی کرتا ہے، اس لیے آپ کے LAN قواعد کبھی لاگو نہیں ہوتے۔ پروفائل جانچیں، ایک اندرونی قاعدہ کو پول تک محدود کریں، پھر پورٹ کی تصدیق کریں۔
آپ کا ٹنل چل رہا ہے، گیٹ وے ping کا جواب دیتا ہے، اور فائل شیئرنگ پھر بھی وقت ختم پر ختم ہوتی ہے۔ یہ امتزاج شاذ و نادر ہی روٹنگ کا مسئلہ ہوتا ہے: Windows نے VPN اڈاپٹر کا سب نیٹ عوامی پروفائل میں رکھا ہے، اور نجی یا ڈومین کے لیے لکھا گیا ہر اجازت قاعدہ کبھی لاگو نہیں ہوا۔ میں نے یہ ان لیپ ٹاپس پر دیکھا ہے جو دفتر بخوبی پہنچتے ہیں اور ان RRAS سرورز پر بھی جو باقی تمام کلائنٹس کی خدمت کرتے ہیں، اور متعلقہ پروفائل کا نام لیتے ہی مرمت مختصر ہو جاتی ہے۔ یہ میرا کام کا ترتیب ہے، ساتھ وہ جانچ جو بتاتی ہے کہ اگلے قدم سے پہلے کب رکنا ہے۔
معلوم کریں کہ ٹریفک واقعی کس پروفائل پر آتی ہے
Windows فائر وال میں کوئی ایک عالمی موڈ نہیں ہے۔ ہر منسلک انٹرفیس ایک زمرہ رکھتا ہے، اور اندرونی پیکٹ اسی انٹرفیس کے زمرے کے مطابق فلٹر ہوتے ہیں جس پر وہ آتے ہیں، اس لیے ٹنل میں بیٹھے کلائنٹ تک کیا پہنچ سکتا ہے یہ VPN اڈاپٹر کا پروفائل طے کرتا ہے، پاس کا Wi-Fi یا ایتھرنیٹ اڈاپٹر نہیں۔ کچھ بھی بدلنے سے پہلے دونوں حقائق پڑھیں:
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory, IPv4Connectivity
Get-NetFirewallProfile -Name Public | Select-Object Name, Enabled, DefaultInboundAction
عام OpenVPN یا WireGuard انسٹالیشن میں VPN اڈاپٹر نامعلوم نیٹ ورک کے طور پر ظاہر ہو کر عوامی پروفائل میں گر جاتا ہے، جو Windows کے درجہ بندی نہ کر سکنے والے ہر نیٹ ورک کے لیے طے شدہ ہے: اس پر کسی ڈومین کنٹرولر نے جواب نہیں دیا اور کوئی گیٹ وے پروفائل مطابقت نہیں رکھتا۔ انٹرفیس کا نام یہاں اہم نہیں، اس لیے اڈاپٹر کو "VPN" یا "Corp" کہنے سے کچھ نہیں بدلتا۔ DomainAuthenticated کے لیے ڈومین سے منسلک مشین درکار ہے ، اور وہ اس انٹرفیس سے واقعی ڈومین کنٹرولر تک پہنچ سکے؛ صرف ایک سب نیٹ لے جانے والا منقسم ٹنل یہ شرط پوری نہیں کرے گا۔
اگر آپ کو درکار قاعدہ پہلے ہی VPN پول تک محدود ہے اور اسی زمرے پر پہلے ہی لاگو ہے جو آپ نے ابھی پڑھا، تو یہیں رکیں: فلٹرنگ آپ کی پرت نہیں، اور دیکھنے کی اگلی جگہ سروس کنفیگریشن ہے۔ یہ جانچ دس سیکنڈ لیتی ہے اور ایک گھنٹے کی قاعدہ تدوین بچاتی ہے۔ زمروں کے نام اور ہر ایک کیا محیط ہے، یہ Get-NetConnectionProfile حوالہ میں درج ہے۔
قواعد میں ترمیم سے پہلے یقینی بنائیں کہ یہ فلٹرنگ ہے، روٹنگ نہیں
Ping کمزور آزمائش ہے۔ ICMP گزر سکتا ہے جبکہ سروس پورٹ رد کیا جا رہا ہو، اور میزبان LAN سے جواب دے سکتا ہے جبکہ وہی درخواست ٹنل سے مسترد کرتا ہو۔ کلائنٹ کو درکار پورٹ کلائنٹ سے جانچیں:
Test-NetConnection 10.8.0.1 -Port 445
Test-NetConnection 10.8.0.1 -Port 3389 -InformationLevel Detailed
اگر پورٹ آزمائش ناکام ہو تو دونوں پرتیں الگ کریں۔ ٹنل یا راستے کی خرابی عام طور پر گیٹ وے پتے سے کوئی جواب نہ آنے کے طور پر ظاہر ہوتی ہے، جبکہ فائر وال کی جانب سے رد کرنا ایسا گیٹ وے دکھاتا ہے جو جواب دیتا ہے اور ایسی سروس پورٹ جو جواب نہیں دیتی۔ RRAS کے ذریعے پول شائع کرنے والے Windows سرور پر وہی آزمائش کلائنٹ سے چلائیں اور سرور کا اپنا پروفائل پڑھیں: RAS انٹرفیس ایسے زمرے میں ہو سکتا ہے جس کے اندرونی قواعد کلائنٹ کی حد کا کبھی ذکر نہیں کرتے، اور اسی لیے وہ مشین اپنے LAN کی خدمت کرتی ہے اور ٹنل کے ہر کلائنٹ کو مسترد کرتی ہے۔
جب نتیجہ اب بھی غیر واضح ہو تو متعلقہ پروفائل کے رد کیے جانے کو لاگ کریں اور انہیں پڑھیں:
Set-NetFirewallProfile -Name Public -LogBlocked True `
-LogFileName "$env:systemroot\system32\LogFiles\Firewall\pfirewall.log"
کلائنٹ کا پتہ اور پورٹ DROP کے ساتھ بتانے والے اندراج فیصلہ کن ہیں، اور یہ بھی بتاتے ہیں کہ کون سا قاعدہ غائب تھا۔ ایسا لاگ جس میں کچھ نہ ہو جبکہ کلائنٹ کا SYN کبھی نظر نہ آئے، میزبان سے اوپر کی طرف اشارہ کرتا ہے، اس لیے کسی اور فائر وال آبجیکٹ کو چھونے سے پہلے ٹنل، NAT قاعدہ یا پول راستے پر واپس جائیں۔
ایک اندرونی قاعدہ کلائنٹ پول تک محدود کریں
مرمت ایک ہی اندرونی اجازت قاعدہ ہے جس کا دور کا پتہ پول ہے، پوری دنیا نہیں۔ بلند سیشن سے:
New-NetFirewallRule -DisplayName "VPN clients - SMB 445" `
-Direction Inbound -Action Allow -Protocol TCP -LocalPort 445 `
-RemoteAddress 10.8.0.0/24 -Profile Publicجب سروس ایک ہی بائنری فائل ہو تو پورٹ فہرست کی بجائے -Program پیرامیٹر والے پروگرام محدود قاعدہ کو ترجیح دیں؛ اس سے استثنا عمل اور ماخذ کی حد دونوں تک محدود رہتا ہے۔
پروفائل کا انتخاب وہ جگہ ہے جہاں وہی غلطی الٹی سمت میں ہوتی ہے۔ -Profile Public جب اڈاپٹر عوامی ہو اور عوامی ہی رہے تو کافی ہے۔ -Profile Any جب سروس کو اس بات کی پروا کیے بغیر چلنا ہو کہ Windows اڈاپٹر کو کیسے درجہ بندی کرتا ہے تو جائز ہے، مگر صرف اس وقت تک جب تک دور کی حد باقی رہے۔ جو کبھی جائز نہیں وہ ہے -RemoteAddress Any عوامی پروفائل پر: وہ قاعدہ لیپ ٹاپ کے ساتھ ہر اس کیفے اور ہوٹل کے نیٹ ورک میں جاتا ہے جس سے وہ جڑتا ہے اور وہ پورٹ ہر اس شخص کے لیے کھول دیتا ہے جو وہ سب نیٹ شیئر کرتا ہے۔
پول کو قاعدے کے ساتھ لکھیں۔ -RemoteAddress 10.8.0.0/24 جس دن VPN پول دوبارہ شمار ہوتا ہے خاموشی سے مطابقت ختم کر دیتا ہے، اور خرابی بالکل اصل بگ جیسی لگتی ہے، اسی لیے یہ دوسری دوپہر کھاتا ہے۔ قواعد کو سروس اور ماخذ کی حد کے نام دیں، انہیں -Group کے ساتھ رکھیں، اور جب بھی پول کی تعریف بدلے انہیں دوبارہ پڑھیں۔ ایک اسکرین پر جانچی جا سکنے والی قواعد کی فہرست ایسے درست قاعدے سے بہتر ہے جو کسی کو نہ ملے۔
زمرہ صرف اس وقت بدلیں جب زمرہ ہی فیصلہ ہو
انٹرفیس کو نجی میں بدلنا بھی کام کرتا ہے، اور یہ غلط طے شدہ ہے۔ نجی پروفائل میں بہت سے بلٹ اِن اجازت قواعد ہیں، جو فائل اور پرنٹر شیئرنگ، نیٹ ورک دریافت، ریموٹ ڈیسک ٹاپ اور بنیادی خط کے مطابق مزید کچھ محیط ہیں، اس لیے VPN اڈاپٹر کی دوبارہ درجہ بندی ان سب کو ٹنل کے ہر کلائنٹ کے لیے ایک ساتھ فعال کر دیتی ہے۔ ایک محدود قاعدہ ایک سروس ایک حد کو دیتا ہے۔ ایسے لیپ ٹاپ پر جو ناقابلِ اعتماد نیٹ ورکس میں بھی جڑتا ہے، یہ فرق سطحی نہیں ہے۔
ایسے مواقع ہیں جہاں درجہ بندی واقعی غلط ہے: دفتر کا سب نیٹ لے جانے والا ہمہ وقت فعال یا سائٹ سے سائٹ ٹنل قابلِ اعتماد بنیادی ڈھانچہ ہے، اور اس اڈاپٹر کو نجی نشان زد کرنا ایک بار پالیسی سے لیا گیا جائز ڈیزائن فیصلہ ہے، ہر ٹکٹ پر نہیں۔ جب کریں، واضح طور پر کریں:
Set-NetConnectionProfile -InterfaceAlias "OpenVPN TAP-Windows6" -NetworkCategory Privateمنظم ڈیوائس پر پہلے دیکھیں کہ ترتیب کسی گروپ پالیسی یا MDM بنیادی خط کی ملکیت میں ہے یا نہیں۔ اگر ہے، تو مقامی تبدیلی اگلی تازہ کاری پر واپس ہو جاتی ہے، اور gpresult /h اس پالیسی کا نام بتائے گا جو اس کی مالک ہے؛ وہیں درست کریں، اینڈ پوائنٹ پر نہیں۔
دونوں سروں سے تصدیق کریں اور نشان چھوڑیں
تبدیلی کے بعد صارف کی بتائی گئی روانی کلائنٹ سے تصدیق کریں:
Test-NetConnection 10.8.0.1 -Port 445
Get-NetFirewallRule -DisplayName "VPN clients - SMB 445" | Get-NetFirewallAddressFilter | Select-Object RemoteAddress
Get-NetFirewallRule -DisplayName "VPN clients - SMB 445" | Get-NetFirewallPortFilter | Select-Object Protocol, LocalPort
پھر اگلے ہفتے ٹوٹنے والی چیزوں پر چکر بند کریں۔ میزبان دوبارہ شروع کریں اور دوبارہ جانچیں، کیونکہ غلط پروفائل تک محدود قاعدہ اڈاپٹر کے کسی اور زمرے میں واپس آنے تک کام کرتا رہتا ہے۔ دوسرے کلائنٹ سے جانچیں، کیونکہ پرانی لیز والا ایک کلائنٹ پول کی عدم مطابقت چھپا سکتا ہے۔ شامل کیے گئے قواعد کو ہٹائے گئے قواعد کے مقابل گنیں، کیونکہ اوورلیپنگ استثنائیں ہی وہ راستہ ہیں جس سے دو سطروں کی مرمت ایسی فلٹرنگ پالیسی بن جاتی ہے جس کا کوئی جائزہ نہیں لے سکتا۔
اسے مکمل کہنے سے پہلے:
- قاعدے میں بتایا گیا پروفائل اس انٹرفیس کا پروفائل ہے جس پر ٹریفک آتی ہے۔
- دور کی حد VPN پول ہے، اور وہ پول اس سے مطابقت رکھتا ہے جو سرور واقعی دیتا ہے۔
- آپ کے شامل کردہ کسی بھی قاعدے میں
-RemoteAddress Anyعوامی پروفائل پر استعمال نہیں ہوتا۔ - آزمائش پاس کرانے کے لیے کچھ بھی بند نہیں کیا گیا، اور ہر زمرہ تبدیلی درج کرتی ہے کہ کس نے منظوری دی۔