Openbare IP van Azure VPN-gateway verander en intekening skuif
Draaiboek om die openbare IP van 'n VPN-gateway te vervang en dit tussen intekenings te skuif, met die inventaris, terugrol en kontekskontroles wat tonnels aan die gang hou.
Drie verskillende objekte word in Azure die gateway-adres genoem. Die private adres kom uit GatewaySubnet. Die openbare adres is 'n aparte openbare IP-hulpbron waarna die gateway se IP-konfigurasie wys. Die intekening en wolkomgewing is die konteks waarmee jou dop die een of die ander vind. Verander een en die ander twee bly staan, en daarom stop adreswerk so dikwels halfpad.
Ek doen hierdie veranderinge in vier fases: inventariseer die objekte, besluit of die openbare IP op die bestaande gateway skuif of die gateway herbou word, pas die verandering toe terwyl die ou adres nog in die hand is, en verifieer dan elke tonnel van beide kante voordat iets verwyder word. Die inventaris is die fase wat mense oorslaan.
Watter van die drie objekte verander jy werklik
Noem die objek voordat jy die portaal oopmaak. 'n VPN-gateway kry sy private adres uit 'n subnet wat presies GatewaySubnet moet heet, en Azure ken dit uit daardie voorvoegsel toe; daar is geen algemene veld om dit vas te pen nie. Die adres lyk stabiel net omdat die subnet stabiel is. Heradresseer die subnet of herbou die gateway en dit skuif saam.
Die openbare adres is wysigbaar, maar SKU-reels bepaal of die wysiging wettig is. 'n Basic-gateway pas by 'n Basic dinamiese openbare IP, VpnGw-SKU's het 'n Standard statiese een nodig, en 'n sone-redundante gateway het 'n Standard openbare IP met dieselfde sones nodig. Die verkeerde SKU word verwerp voordat 'n tonnel val.
| 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 |
Inventaris voordat iets beweeg
Bewys eers die intekening, want die res van die inventaris is waardeloos daarsonder. Teken die gateway, sy IP-konfigurasies en elke verbinding wat daar eindig vas, en hou die uitvoer by die veranderingsrekord.
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
Hulpbron-ID's tel meer as name. 'n Verbinding hou verwysings na die gateway en na 'n plaaslike netwerkgateway, en daardie ID's duik op in scripte, waarskuwings en beleidstoewysings wat niemand onthou nie. Lys ook wat buite Azure sit: die DNS-naam wat na die adres wys, die vennoot se toelaatlys, die tak-firewall wat die ou IP vashou.
Die openbare IP op die lopende gateway omruil
Skep eers die vervangingsadres, in dieselfde streek en met die sones wat by die gateway pas, en laat die ou hulpbron staan. Bou dan die IP-konfigurasie weer en stoot die opdatering in een oproep. Daardie oproep vervang die hele konfigurasieversameling, so 'n aktief-aktiewe gateway het beide konfigurasies nodig, anders behou jy een tonnel en verloor die ander.
$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
Tonnels val terwyl die gateway herbereid word. Die ander kant het die beplanning nodig: 'n vennoot-firewall bly die ou adres aanbied tot iemand dit wysig, en 'n verbinding waarvan die ander kant die vorige IP verwag, bly af hoe gesond Azure ook lyk. Verlaag die DNS-TTL voor die venster.
Punt-tot-gebied-kliënte het 'n nuwe profiel nodig, want die pakket dra die eindpunt. 'n Pasgemaakte DNS-naam voor die gateway spaar jou die herverspreiding: hou die naam, verander die rekord.
Die gateway na 'n ander intekening skuif
Die skuif van hulpbronne verskuif 'n stel, en die gateway alleen is die mins nuttige lid. Die virtuele netwerk, openbare IP-hulpbronne, plaaslike netwerkgateways en verbindings reis saam omdat elkeen na 'n ander verwys. Die teiken-intekening moet in dieselfde huurder sit, Microsoft.Network moet daar geregistreer wees, en jy het skryftoegang aan beide kante nodig.
Validasie loop voordat iets verander, so 'n afgekeurde skuif laat die hulpbronne staan. Daarom verdien die skuif 'n poging voor 'n herbou: 'n geslaagde skuif neem die openbare IP saam, so vennote en toelaatlyste bly werk, terwyl 'n herboude gateway selde dieselfde adres teruggee.
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
Lees 'n validasiefout eerder as om dit weer te probeer. Die gewone oorsake is 'n afhanklikheid wat agtergelaat is, 'n hulpbron-tipe wat nie kan skuif nie, of 'n slot op een van die hulpbron-groepe. As die skuif onmoontlik is, herbou in die teiken en sny oor: bevestig roetering en verifikasie vanaf 'n toets-subnet, stop die ou verbindings eerder as om dit te verwyder, en verwyder dan die ou pad in 'n latere venster.
Wanneer die gateway vermis lyk, kyk na die konteks
Die nie-gevind-fout is gewoonlik 'n omvangfout. 'n Rekening met verskeie intekenings wys 'n cmdlet na die verkeerde een, en die boodskap blameer die hulpbron. Soek die objek eerder op met sy volle hulpbron-ID: die ID dra sy eie intekening, so as dit oplos, ontbreek niks en is jou verstekkonteks verkeerd.
Nog twee wanpassings lees dieselfde. 'n Kommersiële-wolk-gateway bestaan nie in 'n sessie gemik op 'n regerings- of China-omgewing nie, en ouer module-weergawes mis hulpbron-vorms wat die API al teruggee. Pen die intekening vas, pas die omgewing, en open dan 'n saak.
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
Verifieer van beide kante voordat jy opruim
Gekoppel is 'n toestand, nie bewyse nie. Kyk na tonnelstatus per verbinding, BGP-portaalstatus as jy dinamiese roetering gebruik, en effektiewe roetes op 'n werklas-subnet. Stoot dan een regte versoek deur 'n toepassing wat van die tonnel afhang. 'n Verbinding kan gekoppel rapporteer terwyl die voorvoegsel wat jy nodig het, uit die roetetabel afwesig is.
Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName gw-hub -ResourceGroupName rg-hub
Get-AzEffectiveRouteTable -NetworkInterfaceName nic-app -ResourceGroupName rg-app
Hou die ou openbare IP ontkoppel eerder as verwyder tot die terugvalvenster sluit, en skryf die vennoot- en firewall-wysigings neer sodat dit in volgorde omgekeer kan word.
- Konteks vasgepen op die intekening wat die gateway besit
- Ou openbare IP behou, sy afhanklikes neergeskryf
- Elke verbinding groen plus een regte versoek daardeur
- Punt-tot-gebied-gebruikers na die verfrisde profiel geskuif
- DNS-rekord verander en sy vorige waarde aangeteken