Azure VPN گیٹ وے کا عوامی IP تبدیل کرنا اور سبسکرپشن منتقل کرنا
VPN گیٹ وے کا عوامی IP بدلنے اور سبسکرپشنوں کے درمیان منتقل کرنے کی رہنما کتاب، انوینٹری، رول بیک اور سیاق و سباق کی جانچ کے ساتھ جو سرنگیں چلتی رکھتی ہے۔
Azure میں تین مختلف چیزیں گیٹ وے کا پتہ کہلاتی ہیں۔ نجی پتہ GatewaySubnet سے مختص ہوتا ہے۔ عوامی پتہ ایک الگ عوامی IP وسیلہ ہے جس کی طرف گیٹ وے کی IP ترتیب اشارہ کرتی ہے۔ سبسکرپشن اور کلاؤڈ ماحول وہ سیاق ہے جس سے آپ کا شیل کوئی ایک ڈھونڈتا ہے۔ ایک بدلیں اور باقی دو اپنی جگہ رہتی ہیں، اسی لیے پتوں کا کام اکثر آدھے میں رک جاتا ہے۔
میں یہ تبدیلیاں چار مرحلوں میں کرتا ہوں: چیزوں کی انوینٹری، فیصلہ کہ عوامی IP موجودہ گیٹ وے پر جائے گا یا گیٹ وے دوبارہ بنے گا، پرانا پتہ ہاتھ میں ہوتے ہوئے تبدیلی لاگو کرنا، اور پھر کچھ حذف کرنے سے پہلے ہر سرنگ کو دونوں سروں سے جانچنا۔ جس مرحلے کو لوگ چھوڑ دیتے ہیں وہ انوینٹری ہے۔
تینوں میں سے کون سی چیز آپ واقعی بدل رہے ہیں
پورٹل کھولنے سے پہلے چیز کا نام لیں۔ VPN گیٹ وے اپنا نجی پتہ ایسے ذیلی نیٹ سے لیتا ہے جس کا نام بالکل GatewaySubnet ہونا چاہیے، اور Azure اسے اسی سابقے سے مختص کرتا ہے؛ اسے پن کرنے کے لیے کوئی عمومی خانہ نہیں۔ پتہ صرف اس لیے مستحکم لگتا ہے کہ ذیلی نیٹ مستحکم ہے۔ ذیلی نیٹ کو دوبارہ پتہ دیں یا گیٹ وے دوبارہ بنائیں، یہ ان کے ساتھ چلا جاتا ہے۔
عوامی پتہ قابلِ ترمیم ہے، لیکن SKU قواعد طے کرتے ہیں کہ ترمیم جائز ہے یا نہیں۔ Basic گیٹ وے Basic متحرک عوامی IP کے ساتھ جڑتا ہے، VpnGw SKU کو Standard ساکن چاہیے، اور زون زائد گیٹ وے کو انہی زونز والا Standard عوامی IP چاہیے۔ غلط SKU سرنگ گرنے سے پہلے مسترد ہو جاتا ہے۔
| Object | Where it lives | What a change forces |
|---|---|---|
| Private address | GatewaySubnet prefix, assigned at deployment | Subnet resize or rebuild, then routes, NSGs and peer review |
| Public address | Public IP resource referenced by the IP configuration | Gateway reprovision, peer and allowlist edits, new client profiles |
| Subscription context | Your PowerShell or CLI session | Nothing in Azure, and it clears most not-found errors |
کچھ ہلنے سے پہلے انوینٹری
پہلے سبسکرپشن ثابت کریں، کیونکہ اس کے بغیر باقی انوینٹری بیکار ہے۔ گیٹ وے، اس کی IP ترتیبات اور اس پر ختم ہونے والے ہر کنکشن کو درج کریں، اور نتیجہ تبدیلی کے ریکارڈ کے پاس رکھیں۔
Get-AzContext | Select-Object Subscription, Tenant, Environment
Get-AzVirtualNetworkGateway -ResourceGroupName rg-hub -Name gw-hub |
Select-Object Name, Sku, EnableActiveActive, IpConfigurations
Get-AzVirtualNetworkGatewayConnection -ResourceGroupName rg-hub |
Select-Object Name, ConnectionStatus, ConnectionType
وسیلے کی IDs ناموں سے زیادہ اہم ہیں۔ کنکشن گیٹ وے اور مقامی نیٹ ورک گیٹ وے کے حوالے رکھتا ہے، اور یہ IDs ان اسکرپٹوں، انتباہات اور پالیسی تفویضات میں نظر آتی ہیں جنہیں کوئی یاد نہیں رکھتا۔ Azure سے باہر کی چیزیں بھی فہرست کریں: پتے کی طرف جانے والا DNS نام، ساتھی کی اجازت کی فہرست، اور وہ برانچ فائر وال جو پرانا IP پن کرتا ہے۔
چلتی گیٹ وے پر عوامی IP بدلنا
پہلے متبادل پتہ اسی علاقے میں اور گیٹ وے سے مطابق زون سیٹ کے ساتھ بنائیں، اور پرانا وسیلہ اپنی جگہ رہنے دیں۔ پھر IP ترتیب دوبارہ بنائیں اور ایک ہی کال میں اپ ڈیٹ بھیجیں۔ وہ کال پوری ترتیب مجموعہ بدل دیتی ہے، اس لیے فعال-فعال گیٹ وے کو دونوں چاہیے، ورنہ ایک سرنگ رہے گی اور دوسری جاتی رہے گی۔
$gw = Get-AzVirtualNetworkGateway -ResourceGroupName rg-hub -Name gw-hub
$pip = New-AzPublicIpAddress -Name pip-gw-hub-2 -ResourceGroupName rg-hub `
-Location westeurope -AllocationMethod Static -Sku Standard
$conf = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 `
-SubnetId $gw.IpConfigurations[0].Subnet.Id -PublicIpAddressId $pip.Id
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $gw -IpConfigurations $conf
گیٹ وے کی دوبارہ تیاری کے دوران سرنگیں گرتی ہیں۔ دور کے سرے کو شیڈول چاہیے: ساتھی فائر وال پرانا پتہ پیش کرتا رہتا ہے جب تک کوئی اسے تبدیل نہ کرے، اور جس کنکشن کا دور کا سرا پچھلا IP توقع کرتا ہے وہ Azure کتنا ہی صحت مند دکھے نیچے رہتا ہے۔ ونڈو سے پہلے DNS TTL کم کریں۔
پوائنٹ ٹو سائٹ کلائنٹس کو نئی پروفائل چاہیے، کیونکہ ڈاؤن لوڈ شدہ پیکج اینڈ پوائنٹ رکھتا ہے۔ گیٹ وے کے سامنے حسب ضرورت DNS نام ہو تو دوبارہ تقسیم بچ جاتی ہے: نام رکھیں، ریکارڈ بدلیں۔
گیٹ وے کو دوسری سبسکرپشن میں منتقل کرنا
وسائل کی منتقلی ایک مجموعہ منتقل کرتی ہے، اور گیٹ وے اکیلا اس کا سب سے کم کارآمد رکن ہے۔ مجازی نیٹ ورک، عوامی IP وسائل، مقامی نیٹ ورک گیٹ ویز اور کنکشن ایک ساتھ سفر کرتے ہیں کیونکہ ہر ایک دوسرے کا حوالہ رکھتا ہے۔ ہدف سبسکرپشن اسی ٹیننٹ میں ہونی چاہیے، Microsoft.Network وہاں رجسٹر ہونا چاہیے، اور دونوں طرف لکھنے کی رسائی چاہیے۔
کوئی بھی تبدیلی سے پہلے توثیق چلتی ہے، اس لیے مسترد منتقلی وسائل کو ان کی جگہ چھوڑ دیتی ہے۔ اسی لیے دوبارہ تعمیر سے پہلے منتقلی ایک کوشش کے لائق ہے: کامیاب منتقلی عوامی IP ساتھ لے جاتی ہے، چنانچہ ساتھی اور اجازت کی فہرستیں کام کرتی رہتی ہیں، جبکہ دوبارہ بنایا گیٹ وے وہی پتہ شاذ و نادر ہی لوٹاتا ہے۔
az resource move --destination-group rg-hub `
--destination-subscription-id 00000000-0000-0000-0000-000000000000 `
--ids /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg-hub/providers/Microsoft.Network/virtualNetworkGateways/gw-hub
توثیق کی ناکامی دہرانے کے بجائے پڑھیں۔ عام وجوہات پیچھے رہ جانے والی انحصار، منتقل نہ ہونے والی وسیلے کی قسم، یا کسی وسیلے گروپ پر تالا ہیں۔ اگر منتقلی ناممکن ہے تو ہدف میں دوبارہ بنائیں اور منتقل ہوں: آزمائشی ذیلی نیٹ سے روٹنگ اور توثیق کی تصدیق کریں، پرانے کنکشن حذف کرنے کے بجائے روکیں، پھر پرانا راستہ اگلی ونڈو میں ہٹائیں۔
جب گیٹ وے غائب لگے تو سیاق دیکھیں
نہ ملا کی خرابی عام طور پر دائرے کی خرابی ہے۔ کئی سبسکرپشنوں والا اکاؤنٹ cmdlet کو غلط کی طرف بھیجتا ہے، اور پیغام وسیلے کو مورد الزام ٹھہراتا ہے۔ اس کے بجائے پورے وسیلے کی ID سے چیز تلاش کریں: ID اپنی سبسکرپشن رکھتی ہے، اس لیے اگر حل ہو جائے تو کچھ غائب نہیں اور آپ کا طے شدہ سیاق غلط ہے۔
مزید دو عدم مطابقتیں اسی طرح پڑھی جاتی ہیں۔ تجارتی کلاؤڈ گیٹ وے حکومتی یا چین ماحول کی طرف سیشن میں موجود نہیں ہوتا، اور پرانے ماڈیول ورژن API کی پہلے سے واپس کردہ وسیلے کی شکلیں چھوڑ دیتے ہیں۔ سبسکرپشن پن کریں، ماحول ملائیں، پھر کیس کھولیں۔
Set-AzContext -SubscriptionId 11111111-1111-1111-1111-111111111111
Get-AzResource -ResourceId /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg-hub/providers/Microsoft.Network/virtualNetworkGateways/gw-hub
صفائی سے پہلے دونوں سروں سے تصدیق کریں
منسلک ایک حالت ہے، ثبوت نہیں۔ ہر کنکشن کے لیے سرنگ کی حالت، متحرک روٹنگ ہو تو BGP ساتھی کی حالت، اور ورک لوڈ ذیلی نیٹ پر مؤثر راستے دیکھیں۔ پھر سرنگ پر منحصر ایپلیکیشن سے ایک حقیقی درخواست گزاریں۔ ضروری سابقہ روٹ جدول میں نہ ہونے کے باوجود کنکشن خود کو منسلک بتا سکتا ہے۔
Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName gw-hub -ResourceGroupName rg-hub
Get-AzEffectiveRouteTable -NetworkInterfaceName nic-app -ResourceGroupName rg-app
پرانا عوامی IP حذف کرنے کے بجائے الگ رکھیں جب تک فالبیک ونڈو بند نہ ہو، اور ساتھی اور فائر وال کی ترامیم اس طرح لکھیں کہ ترتیب سے واپس کی جا سکیں۔
- سیاق اُس سبسکرپشن پر پن ہے جو گیٹ وے کی مالک ہے
- پرانا عوامی IP رکھا گیا، اس کے انحصارات لکھے گئے
- ہر کنکشن سبز اور اس میں سے ایک حقیقی درخواست
- پوائنٹ ٹو سائٹ صارفین نئی پروفائل پر منتقل کیے گئے
- DNS ریکارڈ تبدیل ہوا اور اس کی پچھلی قدر درج کی گئی