Redundant VPN to Microsoft Azure
Redundant Site-to-Site VPN with active-active tunnels and BGP for high availability between VyOS and Azure.
Scenario
- High Availability: Dual tunnel setup
- Active-Active: Both tunnels carry traffic
- BGP: Automatic failover on tunnel outage
Topology
VyOS ═══ Tunnel 1 ═══► Azure GW Instance 0
═══ Tunnel 2 ═══► Azure GW Instance 1
BGP ECMP between the two tunnelsVyOS Configuration
# VTI 1 (to Azure Instance 0)
set interfaces vti vti1 address '10.10.255.1/30'
set vpn ipsec site-to-site peer 52.100.1.1 vti bind 'vti1'
set vpn ipsec site-to-site peer 52.100.1.1 authentication pre-shared-secret 'PSK1'
# VTI 2 (to Azure Instance 1)
set interfaces vti vti2 address '10.10.255.5/30'
set vpn ipsec site-to-site peer 52.100.1.2 vti bind 'vti2'
set vpn ipsec site-to-site peer 52.100.1.2 authentication pre-shared-secret 'PSK2'
# BGP
set protocols bgp system-as '65001'
set protocols bgp neighbor 10.10.255.2 remote-as '65515'
set protocols bgp neighbor 10.10.255.6 remote-as '65515'Azure Configuration
In the Azure Portal:
- Create VPN Gateway (Active-Active mode)
- Two Local Network Gateways (VyOS IP)
- Two connections with different PSKs
- Enable BGP on the Gateway
References
Reviewed by OpenNix LLC · Last updated on