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的主要内容,如果未能解决你的问题,请参考以下文章
公网IP是路由器WAN口的ip吗? 公网IP跟公网出口IP是否一样