Azure Route Server in BGP peering with Quagga
The purpose of setup is shown interoperability between Quagga and Azure Route server. This template deployes in the same Azure Virtual Network (VNet) a Route Server in the RouteServerSubnet and an Ubuntu Azure VM with Quagga. Once the BGP (Border Gateway Protocol) sessions between the Route Server and Quagga are established, the Route Server advertises to Quagga the address space of the VNet, and Quagga advertises few network prefixes to the Route Servers.
Network diagram
Note1
- Route Server is currently in Public Preview.
- Route Server is not currently available in the US Government regions.
- The ASN of Azure Route Server is 65515 and it can't be changed.
- Setup of Quagga is executed by Azure customer script extension for linux, through the bash script quaggadeploy.sh stored in the folder script
Note2
After completion of the deployment, it is possible to check the network prefixes advertised from Quagga to the Router Server by powershell command:
Get-AzVirtualRouterPeerLearnedRoute -ResourceGroupName <Name_Resource_Group> -VirtualRouterName routesrv1 -PeerName bgp-conn1 | ft
where
- <Name_Resource_Group>: name of the resource group
- routesrv1: name of the router server
- bgp-conn1: bgp connection of router server with Quagga
A complementary check can be done in the Quagga VM. Login with root credential in the VM and get in Quagga vty shell:
root@vm1:~# vtysh
Inside the vtysh shell, run the command to visualize the BGP table:
vm1# show ip bgp
To remove the peering in the Route Server:
Remove-AzVirtualRouterPeer -ResourceGroupName <Resource_Group_Name> -PeerName <BGP_Connection_Name> -VirtualRouterName <Route_Server_Name>
To remove the Route Server:
Remove-AzVirtualRouter -ResourceGroupName <Resource_Group_Name> -RouterName <Route_Server_Name>
Tags: route server, BGP, Microsoft.Network/networkSecurityGroups, Microsoft.Network/virtualNetworks, Microsoft.Network/virtualHubs, Microsoft.Network/publicIPAddresses, Microsoft.Network/virtualHubs/ipConfigurations, Microsoft.Network/virtualHubs/bgpConnections, Microsoft.Network/networkInterfaces, Microsoft.Compute/virtualMachines, Microsoft.Compute/virtualMachines/extensions, CustomScript