vultr 上实现高可用冗余浮动公网IP出口(使用BIRD+BGP协议)High Availability on Vultr with Floating IP and BGP

Posted itfat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

curl 查询公网出口IP

公网IP是路由器WAN口的ip吗? 公网IP跟公网出口IP是否一样

关于查询电脑公网出口IP的方法

curl查询公网出口IP

浮动IP(Floating IPs):开始构建你的高可用性的应用

[命令行] curl查询公网出口IP