Skip to content

Commit 7c7aa8a

Browse files
Merge pull request #311149 from mbender-ms/ip-default-outbound-gh544235
IP Services | Maintenance | Add instructions for portal disabling of Default outbound access
2 parents c0e9a69 + eba82d9 commit 7c7aa8a

1 file changed

Lines changed: 35 additions & 8 deletions

File tree

articles/virtual-network/ip-services/default-outbound-access.md

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.author: mbender
77
ms.service: azure-virtual-network
88
ms.subservice: ip-services
99
ms.topic: concept-article
10-
ms.date: 12/03/2025
10+
ms.date: 01/30/2026
1111
# Customer intent: "As an Azure network administrator, I want to transition from default outbound access to explicit outbound connectivity for virtual machines, so that I can ensure secure and reliable internet access while avoiding potential disruptions from IP address changes."
1212
---
1313

@@ -64,13 +64,34 @@ Additionally,
6464
6565
### How to configure private subnets
6666

67-
* From the Azure portal, select the subnet and select the checkbox to enable Private subnet as shown:
67+
# [Portal](#tab/portal)
6868

69-
:::image type="content" source="./media/default-outbound-access/private-subnet-portal.png" alt-text="Screenshot of Azure portal showing Private subnet option.":::
69+
Manual configuration steps in the Azure portal (no wizard)
7070

71-
* Using PowerShell, the following script takes the names of the Resource Group and Virtual Network and loops through each subnet to enable private subnet.
71+
1. Open the **Azure portal**.
72+
2. Go to **Virtual networks**.
73+
3. Select the virtual network that contains the subnet you want to modify.
74+
4. In the left menu, select **Subnets**.
75+
5. Select the subnet you want to make private.
76+
6. Locate the **Default outbound access** setting.
77+
7. Set **Default outbound access** to **Disabled**.
78+
8. Select **Save**.
7279

80+
This explicitly sets the subnet property:
81+
82+
```text
83+
defaultOutboundAccess = false
7384
```
85+
which prevents Azure from assigning default outbound public IPs to virtual machines in this subnet.
86+
87+
> [!IMPORTANT]
88+
> Existing virtual machines must be **stopped and deallocated** for this change to take effect on their network interfaces.
89+
90+
# [PowerShell](#tab/powershell)
91+
92+
The following script takes the names of the Resource Group and Virtual Network and loops through each subnet to enable private subnet.
93+
94+
```powershell
7495
$resourceGroupName = ""
7596
$vnetName = ""
7697
@@ -89,15 +110,19 @@ foreach ($subnet in $vnet.Subnets) {
89110
Set-AzVirtualNetwork -VirtualNetwork $vnet
90111
```
91112

92-
* Using CLI, update the subnet with [az network vnet subnet update](/cli/azure/network/vnet/subnet#az-network-vnet-subnet-update) and set `--default-outbound` to "false"
113+
# [Azure CLI](#tab/azurecli)
93114

94-
```
115+
Update the subnet with [az network vnet subnet update](/cli/azure/network/vnet/subnet#az-network-vnet-subnet-update) and set `--default-outbound` to "false"
116+
117+
```azurecli
95118
az network vnet subnet update --resource-group rgname --name subnetname --vnet-name vnetname --default-outbound false
96119
```
97120

98-
* Using an Azure Resource Manager template, set the value of `defaultOutboundAccess` parameter to be "false"
121+
# [ARM Template](#tab/arm)
99122

100-
```
123+
Set the value of `defaultOutboundAccess` parameter to be "false"
124+
125+
```json
101126
{
102127
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
103128
"contentVersion": "1.0.0.0",
@@ -146,6 +171,8 @@ az network vnet subnet update --resource-group rgname --name subnetname --vnet-n
146171
}
147172
```
148173

174+
---
175+
149176
### Limitations of private subnets
150177

151178
* To activate or update virtual machine operating systems, such as Windows, an explicit outbound connectivity method is required.

0 commit comments

Comments
 (0)