keepalived的vip设置为公网IP
来源:互联网 发布:qt4.8 json封装和解析 编辑:程序博客网 时间:2024/05/16 05:50
作者:姚姚
链接:https://www.zhihu.com/question/39595620/answer/126026530
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1,先设置A机器与B机器的eth1的网卡配置配置文件,不要设置公网ip信息
$vim /etc/sysconfig/network-scripts/ifcfg-eth1
2,配置A机器keepalived.conf(B机器请修改MASTER为BACKUP,priority的值小于100,其他不变)
安装yum install -y keepalived
查看log消息:
tail -f /var/log/messages
启动主节点A后的日志为:会广播ARP消息
通过ip a 命令可以看到192.168.8.100/24绑定到了eth0上
启动备用节点B后的日志为:
第二种:(这种较麻烦,需要借助脚本)
1,先设置A机器与B机器的eth1的网卡配置配置文件,配置好公网的ip信息,不设置公网的网关
<img src="https://pic3.zhimg.com/19c97b837a38763a9e0cb03aa8b9ae2e_b.png" data-rawwidth="715" data-rawheight="130" class="origin_image zh-lightbox-thumb" width="715" data-original="https://pic3.zhimg.com/19c97b837a38763a9e0cb03aa8b9ae2e_r.png">
<img src="https://pic3.zhimg.com/d19dfc7d611d9f58264db63bc0a73bca_b.png" data-rawwidth="596" data-rawheight="409" class="origin_image zh-lightbox-thumb" width="596" data-original="https://pic3.zhimg.com/d19dfc7d611d9f58264db63bc0a73bca_r.png">
4,配置/etc/keepalived/scripts/master.sh脚本,并赋予可执行权限,判断公网ip是否在本机,如不在,执行启动eth1操作,并添加默认网关
<img src="https://pic4.zhimg.com/687eefc1ffa29897117ff793534b5ceb_b.png" data-rawwidth="615" data-rawheight="146" class="origin_image zh-lightbox-thumb" width="615" data-original="https://pic4.zhimg.com/687eefc1ffa29897117ff793534b5ceb_r.png">
5,配置/etc/keepalived/scripts/slave.sh脚本,并赋予可执行权限,执行停止 eth1操作
<img src="https://pic1.zhimg.com/3d631ff1aa987dc8ec1e264d5a9f0004_b.png" data-rawwidth="645" data-rawheight="72" class="origin_image zh-lightbox-thumb" width="645" data-original="https://pic1.zhimg.com/3d631ff1aa987dc8ec1e264d5a9f0004_r.png">
6,两边分别启动keepalived,并查看A主机的eth1网卡有没有启动,是否绑定公网ip 123.123.123.123。停止A主机的keepalived,查看B主机的网卡有没有启动,是否正常绑定公网ip。
链接:https://www.zhihu.com/question/39595620/answer/126026530
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
目前有两种方法可以实现,这两种方法都需要机器有两块网卡,例 eth0为内网,eth1为公网ip,两台机器的eth1上分别绑定公网ip都要能正常使用。
例:
A机器ip为: 192.168.10.10
B机器ip为: 192.168.10.11
公网ip为: 123.123.123.123 网关:123.123.123.1 掩码:255.255.255.240
1,先设置A机器与B机器的eth1的网卡配置配置文件,不要设置公网ip信息
$vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1TYPE=EthernetONBOOT=yesHWADDR=52:54:00:97:d2:2bNM_CONTROLLED="no"USERCTL=no然后重启网卡
2,配置A机器keepalived.conf(B机器请修改MASTER为BACKUP,priority的值小于100,其他不变)
安装yum install -y keepalived
打开文件
vim /etc/keepalived/keepalived.conf
vim /etc/keepalived/keepalived.conf
global_defs { router_id ID_1 }vrrp_script checkscript{ script "/etc/keepalived/check.sh" interval 3 weight -20}vrrp_instance ID { state MASTER #设置为主服务器,备服务器设置为BACKUP interface eth0 #监测网络接口 nopreempt #设置非抢占模式 virtual_router_id 111 #主、备必须一样 priority 100 #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高) advert_int 1 #VRRP Multicast广播周期秒数 authentication { auth_type PASS #VRRP认证方式,主备必须一致 auth_pass 1111 #(密码) } track_script { checkscript } virtual_ipaddress { 123.123.123.123/28 dev eth1 #设置 在 eth1网卡上绑定 123.123.123.123 掩码为 240的公网ip作为HA虚拟地址 } virtual_routes { default via 123.123.123.1 # 设置默认网关为 123.123.123.1 }}
上图中需要解释的配置如下:
virtual_ipaddress {
123.123.123.123/28 dev eth1
} ##设置 在 eth1网卡上绑定 123.123.123.123 掩码为 240的公网ip
virtual_routes {
default via 123.123.123.1
} ## 设置默认网关为 123.123.123.1
检查脚本内容如下:
#!/bin/bashcount = `ps aux | grep -v grep | grep haproxy | wc -l`if [ $count > 0 ]; then exit 0else exit 1fi
3,两边分别启动keepalived,并查看A主机的eth1网卡是否绑定公网ip 123.123.123.123。停止A主机的keepalived,查看B主机是否正常绑定公网ip。
keepalived -D -f /etc/keepalived/keepalived.conf查看log消息:
tail -f /var/log/messages
启动主节点A后的日志为:会广播ARP消息
通过ip a 命令可以看到192.168.8.100/24绑定到了eth0上
启动备用节点B后的日志为:
第二种:(这种较麻烦,需要借助脚本)
1,先设置A机器与B机器的eth1的网卡配置配置文件,配置好公网的ip信息,不设置公网的网关
<img src="https://pic3.zhimg.com/19c97b837a38763a9e0cb03aa8b9ae2e_b.png" data-rawwidth="715" data-rawheight="130" class="origin_image zh-lightbox-thumb" width="715" data-original="https://pic3.zhimg.com/19c97b837a38763a9e0cb03aa8b9ae2e_r.png">
2,分别停止A机器与B机器的eth1网卡(ifdown eth1)
3,配置A机器的keepalived.conf配置文件(B机器请修改MASTER为BACKUP,priority的值小于100,其他不变)<img src="https://pic3.zhimg.com/d19dfc7d611d9f58264db63bc0a73bca_b.png" data-rawwidth="596" data-rawheight="409" class="origin_image zh-lightbox-thumb" width="596" data-original="https://pic3.zhimg.com/d19dfc7d611d9f58264db63bc0a73bca_r.png">
4,配置/etc/keepalived/scripts/master.sh脚本,并赋予可执行权限,判断公网ip是否在本机,如不在,执行启动eth1操作,并添加默认网关
<img src="https://pic4.zhimg.com/687eefc1ffa29897117ff793534b5ceb_b.png" data-rawwidth="615" data-rawheight="146" class="origin_image zh-lightbox-thumb" width="615" data-original="https://pic4.zhimg.com/687eefc1ffa29897117ff793534b5ceb_r.png">
5,配置/etc/keepalived/scripts/slave.sh脚本,并赋予可执行权限,执行停止 eth1操作
<img src="https://pic1.zhimg.com/3d631ff1aa987dc8ec1e264d5a9f0004_b.png" data-rawwidth="645" data-rawheight="72" class="origin_image zh-lightbox-thumb" width="645" data-original="https://pic1.zhimg.com/3d631ff1aa987dc8ec1e264d5a9f0004_r.png">
6,两边分别启动keepalived,并查看A主机的eth1网卡有没有启动,是否绑定公网ip 123.123.123.123。停止A主机的keepalived,查看B主机的网卡有没有启动,是否正常绑定公网ip。
阅读全文
0 0
- keepalived的vip设置为公网IP
- keepalived中设置Vrrp 的VIp 数量的限制
- 公网IP需求,设置
- 判断网络是否为真正的公网IP
- 获取公网的ip
- VIP(虚拟IP)设置-Ubuntu
- Heartbeat和Keepalived创建VIP的区别
- 取公网IP的地址
- 获得公网IP的脚本
- 查看自己的公网ip
- 公网ip路由设置端口转发
- 内网VIP 办公网VIP
- rac11g:只修改公网IP(同一网段 ),不修改VIP、privateIP、scan
- C++Builder 获取本机连入公网的公网IP
- 设置centos的ip为静态ip
- 为AWS EC2配置公网IP (Elastic IP)
- 基于keepalived 实现VIP转移,lvs,nginx的高可用
- 公网IP是不是真实的iP 如何判断公网IP是否是真实的IP地址
- tensorflow基于softmax模型实现手写体MNIST数字集识别
- 学习shiro代码报错:Line argument must contain a key and a value. Only one string token was found.
- UVA 11300 Spreading the Wealth
- 文件输入和输出练习题
- html响应式与自适应
- keepalived的vip设置为公网IP
- Moco框架(mock-server)
- 数据挖掘系列(4)决策树分类算法
- 单身狗掐指一算:k邻近(KNN)算法举例
- 3年_面试
- python画简单图
- angularjs——service
- android自定义View探索3(onMeasure深入分析一)
- 第一篇文章通常是没有意义的,但是还是会有人看,比如你!