| title | Configure and manage Azure Route Server |
|---|---|
| description | Learn how to configure and manage Azure Route Server using the Azure portal, Azure PowerShell, or Azure CLI. |
| author | duongau |
| ms.author | duau |
| ms.service | azure-route-server |
| ms.topic | how-to |
| ms.date | 09/17/2025 |
This article shows you how to configure and manage Azure Route Server using the Azure portal, Azure PowerShell, or Azure CLI. You learn how to add and remove Border Gateway Protocol (BGP) peers, configure route exchange with virtual network gateways, and manage routing preferences.
-
An Azure account with an active subscription. Create an account for free.
-
A route server.
-
An Azure account with an active subscription. Create an account for free.
-
A route server.
-
Azure Cloud Shell or Azure PowerShell.
The steps in this article run the Azure PowerShell cmdlets interactively in Azure Cloud Shell. To run the cmdlets in the Cloud Shell, select Open Cloud Shell at the upper-right corner of a code block. Select Copy to copy the code and then paste it into Cloud Shell to run it. You can also run the Cloud Shell from within the Azure portal.
You can also install Azure PowerShell locally to run the cmdlets. If you run PowerShell locally, sign in to Azure using the Connect-AzAccount cmdlet.
-
An Azure account with an active subscription. Create an account for free.
-
A route server.
-
Azure Cloud Shell or Azure CLI.
The steps in this article run the Azure CLI commands interactively in Azure Cloud Shell. To run the commands in the Cloud Shell, select Open Cloud Shell at the upper-right corner of a code block. Select Copy to copy the code, and paste it into Cloud Shell to run it. You can also run the Cloud Shell from within the Azure portal.
You can also install Azure CLI locally to run the commands. If you run Azure CLI locally, sign in to Azure using the az login command.
In this section, you learn how to add a BGP peering between your route server and a network virtual appliance (NVA). This establishes a BGP session that allows the route server and NVA to exchange routing information.
-
Go to the route server that you want to peer with an NVA.
-
under Settings, select Peers.
-
Select + Add to add a new peer.
-
On the Add Peer page, enter the following information:
Setting Value Name A name to identify the peer. It doesn't have to be the same name of the NVA. ASN The Autonomous System Number (ASN) of the NVA. For more information, see What Autonomous System Numbers (ASNs) can I use? IPv4 Address The private IP address of the NVA. -
Select Add to save the configuration.
:::image type="content" source="./media/add-peer.png" alt-text="Screenshot that shows how to add the NVA to the route server as a peer." lightbox="./media/add-peer.png":::
Once the peer NVA is successfully added, you can see it in the list of peers with a Succeeded provisioning state.
:::image type="content" source="./media/peer-list.png" alt-text="Screenshot that shows the route server's peers." lightbox="./media/peer-list.png":::
To complete the peering setup, you must configure the NVA to establish a BGP session with the route server using its IP addresses and ASN. You can find the route server's IP addresses and ASN in the Overview page:
:::image type="content" source="./media/route-server-overview.png" alt-text="Screenshot that shows the Overview page of a route server. " lightbox="./media/route-server-overview.png":::
[!INCLUDE NVA peering note]
Use Add-AzRouteServerPeer cmdlet to add a new peer to the route server.
Add-AzRouteServerPeer -PeerName 'myNVA' -PeerAsn '65001' -PeerIp '10.0.0.4' -ResourceGroupName 'myResourceGroup' -RouteServerName 'myRouteServer'
| Parameter | Value |
|---|---|
-PeerName |
A name to identify the peer. It doesn't have to be the same name of the NVA. |
-PeerAsn |
The Autonomous System Number (ASN) of the NVA. For more information, see What Autonomous System Numbers (ASNs) can I use? |
-PeerIp |
The private IP address of the NVA. |
-ResourceGroupName |
The resource group name of your route server. |
-RouteServerName |
The route server name. This parameter is required when there are more than one route server in the same resource group. |
After you successfully add the peer NVA, you must configure the NVA to establish a BGP session with the route server's peer IPs and ASN. Use Get-AzRouteServer cmdlet to find the route server's peer IPs and ASN:
Get-AzRouteServer -ResourceGroupName 'myResourceGroup' -RouteServerName 'myRouteServer'
| Parameter | Value |
|---|---|
-ResourceGroupName |
The resource group name of your route server. |
-RouteServerName |
The route server name. You need this parameter when there are more than one route server in the same resource group. |
[!INCLUDE NVA peering note]
Use az network routeserver peering create command to add a new peer to the route server.
az network routeserver peering create --name 'myNVA' --peer-asn '65001' --peer-ip '10.0.0.4' --resource-group 'myResourceGroup' --routeserver 'myRouteServer'
| Parameter | Value |
|---|---|
--name |
A name to identify the peer. It doesn't have to be the same name of the NVA. |
--peer-asn |
The Autonomous System Number (ASN) of the NVA. For more information, see What Autonomous System Numbers (ASNs) can I use? |
--peer-ip |
The private IP address of the NVA. |
--resource-group |
The resource group name of your route server. |
--routeserver |
The route server name. |
After you successfully add the peer NVA, you must configure the NVA to establish a BGP session with the route server's peer IPs and ASN. Use az network routeserver show command to find the route server's peer IPs and ASN:
az network routeserver show --name 'myRouteServer' --resource-group 'myResourceGroup'
| Parameter | Value |
|---|---|
--name |
The route server name. |
--resource-group |
The resource group name of your route server. |
[!INCLUDE NVA peering note]
In this section, you learn how to enable route exchange between your route server and virtual network gateways (ExpressRoute or VPN) in the same virtual network. This feature is also known as branch-to-branch connectivity.
[!INCLUDE VPN gateway note]
[!INCLUDE Downtime note]
-
Go to the route server that you want to configure.
-
Under Settings, select Configuration.
-
Select Enabled for the Branch-to-branch setting and then select Save.
:::image type="content" source="./media/configure-route-server/enable-route-exchange.png" alt-text="Screenshot that shows how to enable route exchange in a route server." lightbox="./media/configure-route-server/enable-route-exchange.png":::
Use Update-AzRouteServer cmdlet to enable or disable route exchange between the route server and the virtual network gateway.
Update-AzRouteServer -RouteServerName 'myRouteServer' -ResourceGroupName 'myResourceGroup' -AllowBranchToBranchTraffic 1
| Parameter | Value |
|---|---|
-RouteServerName |
The route server name. |
-ResourceGroupName |
The resource group name of your route server. |
-AllowBranchToBranchTraffic |
The route exchange parameter. Accepted values: 1 and 0. |
To disable route exchange, set the -AllowBranchToBranchTraffic parameter to 0.
Use Get-AzRouteServer cmdlet to verify the configuration.
Use az network routeserver update command to enable or disable route exchange between the route server and the virtual network gateway.
az network routeserver update --name 'myRouteServer' --resource-group 'myResourceGroup' --allow-b2b-traffic true
| Parameter | Value |
|---|---|
--name |
The route server name. |
--resource-group |
The resource group name of your route server. |
--allow-b2b-traffic |
The route exchange parameter. Accepted values: true and false. |
To disable route exchange, set the --allow-b2b-traffic parameter to false.
Use az network routeserver show command to verify the configuration.
In this section, you learn how to configure routing preference to control how your route server selects routes when multiple paths are available. Routing preference affects route learning and selection behavior.
-
Go to the route server that you want to configure.
-
Under Settings, select Configuration.
-
Select the routing preference that you want. Available options: ExpressRoute (default), VPN, and ASPath.
-
Select Save
:::image type="content" source="./media/configure-route-server/configure-routing-preference.png" alt-text="Screenshot that shows how to configure routing preference in a route server." lightbox="./media/configure-route-server/configure-routing-preference.png":::
Use Update-AzRouteServer cmdlet to configure the routing preference setting of your route server.
Update-AzRouteServer -RouteServerName 'myRouteServer' -ResourceGroupName 'myResourceGroup' -HubRoutingPreference 'ASPath'
| Parameter | Value |
|---|---|
-RouteServerName |
The route server name. |
-ResourceGroupName |
The resource group name of your route server. |
-HubRoutingPreference |
The routing preference. Accepted values: ExpressRoute (default), VpnGateway, and ASPath. |
Use Get-AzRouteServer cmdlet to verify the configuration.
Use az network routeserver update command to configure the routing preference setting of your route server.
az network routeserver update --name 'myRouteServer' --resource-group 'myResourceGroup' --hub-routing-preference 'ASPath'
| Parameter | Value |
|---|---|
--name |
The route server name. |
--resource-group |
The resource group name of your route server. |
--hub-routing-preference |
The routing preference. Accepted values: ExpressRoute (default), VpnGateway, and ASPath. |
Use az network routeserver show command to verify the configuration.
In this section, you learn how to view the configuration details of a BGP peer, including its name, ASN, IP address, and provisioning state.
-
Go to the route server that you want to peer with an NVA.
-
under Settings, select Peers.
-
In the list of peers, you can see the name, ASN, IP address, and provisioning state of any of the configured peers.
:::image type="content" source="./media/peer-list.png" alt-text="Screenshot that shows the configuration of a route server's peer." lightbox="./media/peer-list.png":::
Use Get-AzRouteServerPeer cmdlet to view a route server peering.
Get-AzRouteServerPeer -PeerName 'myNVA' -ResourceGroupName 'myResourceGroup' -RouteServerName 'myRouteServer'
| Parameter | Value |
|---|---|
-PeerName |
The peer name. |
-ResourceGroupName |
The resource group name of your route server. |
-RouteServerName |
The route server name. |
Use az network routeserver peering show command to view a route server peering.
az network routeserver peering show --name 'myNVA' --resource-group 'myResourceGroup' --routeserver 'myRouteServer'
| Parameter | Value |
|---|---|
--name |
The peer name. |
--resource-group |
The resource group name of your route server. |
--routeserver |
The route server name. |
Navigate to Effective Routes under Routing to see the list of effective routes that Route Server learns from ExpressRoute connections, VPN connections, NVA BGP peers, and spoke virtual networks.
The page output shows the following fields:
- Prefix: Address prefix known to the current entity (learned from Route Server)
- Next hop type: Can be VPN, HubBgpConnection (NVA BGP peers), Virtual Network Connection, or ExpressRoute.
- Next hop: This is the IP address of the next hop (For virtual network connections, this will be "on-link". For ExpressRoute, this will be the IP address of the Microsoft Enterprise Edge Router)
- Origin: Link to the resource ID of the next hop (This will be empty for Virtual Network Connections)
- AS Path: BGP Attribute AS (autonomous system) path lists all the AS numbers that need to be traversed to reach the location where the prefix that the path is attached to, is advertised from.
The values in the following example table imply that Route Server has learned the route of 10.2.0.0/24 (a branch prefix). It has learned the route due to the VPN Next hop type VPN with Next hop VPN Gateway IP address. Origin points to the resource ID of the originating VPN gateway/Connection. AS Path indicates the AS Path for the branch.
Use the scroll bar at the bottom of the table to view the 'AS Path'.
| Prefix | Next hop type | Next hop | Origin | AS Path |
|---|---|---|---|---|
| 10.2.0.0/24 | VPN | 10.0.2.14 | /subscriptions/<sub id>/resourceGroups/<resource group name>/providers/Microsoft.Network/virtualNetworkGateways/vpngw |
20000 |
Note
If a spoke VNet is peered with "use remote gateway" disabled, the spoke VNet's address range may still get advertised to on-premises even if the prefix does not appear in the Effective Routes.
In this section, you learn how to view the routes that your route server advertises to BGP peers and the routes it learns from those peers. This information is useful for troubleshooting routing issues and understanding traffic flow.
Use PowerShell or Azure CLI to view the advertised and learned routes.
Use the Get-AzRouteServerPeerAdvertisedRoute cmdlet to view routes advertised by a route server.
Get-AzRouteServerPeerAdvertisedRoute -PeerName 'myNVA' -ResourceGroupName 'myResourceGroup' -RouteServerName 'myRouteServer'
Use the Get-AzRouteServerPeerLearnedRoute cmdlet to view routes learned by a route server.
Get-AzRouteServerPeerLearnedRoute -PeerName 'myNVA' -ResourceGroupName 'myResourceGroup' -RouteServerName 'myRouteServer'
| Parameter | Value |
|---|---|
-PeerName |
The peer name. |
-ResourceGroupName |
The resource group name of your route server. |
-RouteServerName |
The route server name. |
Use the az network routeserver peering list-advertised-routes command to view routes advertised by a route server.
az network routeserver peering list-advertised-routes --name 'myNVA' --resource-group 'myResourceGroup' --routeserver 'myRouteServer'
Use the az network routeserver peering list-learned-routes command to view routes learned by a route server.
az network routeserver peering list-learned-routes --name 'myNVA' --resource-group 'myResourceGroup' --routeserver 'myRouteServer'
| Parameter | Value |
|---|---|
--name |
The peer name. |
--resource-group |
The resource group name of your route server. |
--routeserver |
The route server name. |
In this section, you learn how to delete an existing BGP peering between your route server and a network virtual appliance (NVA). This removes the BGP session and stops route exchange between the devices.
-
Go to the route server that you want to delete its NVA peering.
-
under Settings, select Peers.
-
Select the ellipses ... next to the peer that you want to delete, and then select Delete.
:::image type="content" source="./media/configure-route-server/delete-peer.png" alt-text="Screenshot that shows how to delete a route server's peer." lightbox="./media/configure-route-server/delete-peer.png":::
Use Remove-AzRouteServerPeer cmdlet to delete a route server peering.
Remove-AzRouteServerPeer -PeerName 'myNVA' -ResourceGroupName 'myResourceGroup' -RouteServerName 'myRouteServer'
| Parameter | Value |
|---|---|
-PeerName |
The peer name. |
-ResourceGroupName |
The resource group name of your route server. |
-RouteServerName |
The route server name. |
Use az network routeserver peering delete command to delete a route server peering.
az network routeserver peering delete --name 'myNVA' --resource-group 'myResourceGroup' --routeserver 'myRouteServer'
| Parameter | Value |
|---|---|
--name |
The peer name. |
--resource-group |
The resource group name of your route server. |
--routeserver |
The route server name. |
In this section, you learn how to delete an existing Azure Route Server. Deleting a route server removes all BGP peerings and stops all route advertisements.
-
Go to the route server that you want to delete.
-
Select Delete from the Overview page.
-
Select Confirm to delete the route server.
:::image type="content" source="./media/configure-route-server/delete-route-server.png" alt-text="Screenshot that shows how to delete a route server." lightbox="./media/configure-route-server/delete-route-server.png":::
Use Remove-AzRouteServer cmdlet to delete a route server.
Remove-AzRouteServer -RouteServerName 'myRouteServer' -ResourceGroupName 'myResourceGroup'
| Parameter | Value |
|---|---|
-RouteServerName |
The route server name. |
-ResourceGroupName |
The resource group name of your route server. |
Use az network routeserver delete command to delete a route server.
az network routeserver delete --name 'myRouteServer' --resource-group 'myResourceGroup'
| Parameter | Value |
|---|---|
--name |
The route server name. |
--resource-group |
The resource group name of your route server. |