This is old but I have a solution that might help:
Instead of Quagga (which is old and shouldn't be used), this applies to FRR (the modern replacement).
Configured via vtysh or /etc/frr/frr.conf:
router bgp <<YOURAS>> bgp router-id <<SOURCE_HOST_IP>> no bgp ebgp-requires-policy neighbor 169.254.169.254 remote-as 64515 neighbor 169.254.169.254 password <<YOUR_BGP_PASSWORD>> neighbor 169.254.169.254 ebgp-multihop 2 ! address-family ipv4 unicast network <<YOUR_FLOATING_IP>>/32 neighbor 169.254.169.254 soft-reconfiguration inbound exit-address-family !
Add the floating IP to a dummy or loopback interface.
Comments
DEVICE="eth0"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=45.77.217.X
NETMASK=255.255.254.0
GATEWAY=45.77.216.X
DNS1=108.61.10.X
TYPE="Ethernet"
NM_CONTROLLED="no"
IPV6_AUTOCONF="yes"
IPV6INIT="yes"
NOZEROCONF="yes"
ZONE=public
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.1.1.2
NETMASK=255.255.255.0
IPV6INIT=no
MTU=1450
ASN Instance=XXXXX
IP Instance=45.77.217.X
ANS Vultr=YYYYY
IP Vultr=169.254.169.Y
BGP Password=123456
Reserved IP=207.246.121.W/23
Current configuration:
!
hostname ipoom2.site.com
log file /var/log/quagga/quagga.log
hostname bgpd
log stdout
!
password zebra
!
interface eth0
ip address 207.246.121.W/23
ipv6 nd suppress-ra
!
interface eth1
ipv6 nd suppress-ra
!
interface lo
!
router bgp YYYYY
bgp router-id 45.77.217.X
network 207.246.120.0/23
neighbor 169.254.169.Y remote-as 64515
neighbor 169.254.169.Y description "Vultr"
neighbor 169.254.169.Y password 123456
!
line vty
!
end
This is old but I have a solution that might help:
Instead of Quagga (which is old and shouldn't be used), this applies to FRR (the modern replacement).
Configured via vtysh or /etc/frr/frr.conf:
Add the floating IP to a dummy or loopback interface.