vultr 上實現高可用冗余浮動公網IP出口(使用BIRD+BGP協議)High Availability on Vultr with Floating IP and BGP
官方文檔:
https://www.vultr.com/docs/high-availability-on-vultr-with-floating-ip-and-bgp
https://www.vultr.com/docs/configuring-bgp-on-vultr
1、由於我們沒有自己的IP段以及自己的BGP ASN號,那麽就從官方租賃。
https://my.vultr.com/bgp/
用上面的表格填寫資料
這裏的路由表宣告,我選擇的是Default Only,默認出口只有一個的時候,就選擇這個。很多出口可以選擇Full Table模式。這裏我也不是很清楚。
2、關閉防火墻,關閉enforce
systemctl stop firewalld
sed -i s#SELINUX=enforcing#SELINUX=disable#g /etc/selinux/config
getenforce
3、安裝bird
yum -y install bird
yum install net-tools
4、假設第一臺服務器的VIP是1.2.3.4,IP是1.1.1.1,第二臺服務器的IP是2.2.2.2,當前測試環境為centos7.x
VIP需要你自己去vultr自己租賃一個公網IP,這個IP不可以綁定到其他機器!
第一臺服務器的配置:
創建一個回環接口,dummy1,關閉回環接口的命令為rmmod dummy
ip link add dev dummy1 type dummy ip link set dummy1 up ip addr add dev dummy1 1.1.1.1/32
查看回環接口的IP:
# ip addr show dev dummy1
5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether ba:23:57:2c:ad:bc brd ff:ff:ff:ff:ff:ff
inet 192.0.2.10/32 scope global dummy1
5、
備份bird默認配置
mv /etc/bird.conf /etc/bird.conf.bak
vi /etc/bird.conf
log "/var/log/bird" all; router id 1.1.1.1; protocol device { scan time 5; } protocol direct { interface "dummy1"; } protocol bgp vultr { local as <<YOURAS>>; source address 1.1.1.1; import none; export all; graceful restart on; next hop self; multihop 2; neighbor 169.254.169.254 as 64515; password "<<YOURPASSWORD>>"; }
YOURAS
and YOURPASSWORD
是你之前第一步提交工單,vultr給你的ASN號,以及密碼。
6、這邊有一個關鍵的步驟,service bird start,啟動服務,會報錯。提示你:unable to connect to server control socket (/var/run/bird.ctl): connection refused
我插了下系統日誌/var/log/messages,提示對日誌文件/var/log/bird沒有權限,所以你這邊要先去創建一個這個文件,然後給它賦權777,chmod 777
/var/log/bird
7、查看服務bird日誌:
cat /var/log/bird
vultr 上實現高可用冗余浮動公網IP出口(使用BIRD+BGP協議)High Availability on Vultr with Floating IP and BGP