Keepalived ip漂移

news/2025/1/20 17:02:57/文章来源:https://www.cnblogs.com/hi-lijq/p/18681967

当 Nginx 部署在多个服务器节点上,且希望在一个节点故障时,客户端流量自动切换到另一个节点时,需要使用 IP 漂移。
这里使用使用 Keepalived 实现 IP 漂移

一.安装配置 Keepalived

  1. 安装 Keepalived
    在所有运行 Nginx 的节点上安装 Keepalived:
# 在 CentOS 上
sudo yum install keepalived -y# 在 Ubuntu 上
sudo apt update
sudo apt install keepalived -y
  1. 配置 Keepalived
    编辑 Keepalived 的配置文件(通常位于 /etc/keepalived/keepalived.conf)。

主节点配置:
假设漂移 IP 为 192.168.188.170:

vrrp_instance VI_1 {state MASTERinterface eno1virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.188.170/24 dev eno1}garp_master_refresh 30garp_master_refresh_repeat 3
}

备节点配置:
备节点的配置文件几乎相同,但 state 和 priority 要修改:

vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 90advert_int 1authentication {auth_type PASSauth_pass 123456}virtual_ipaddress {192.168.188.170/24 dev eno1}garp_master_refresh 30garp_master_refresh_repeat 3
}
  • interface: 指定网卡名称(使用 ip a 查看网卡)。
  • priority: 主节点的优先级应高于备节点。
  • auth_pass: 主备节点必须一致。
  • garp_master_refresh: 设置定期发送 Gratuitous ARP 的间隔(单位:秒)。
  • garp_master_refresh_repeat: 设置每次发送的重复次数。
  1. 启动 Keepalived
    启动并启用 Keepalived 服务:
sudo systemctl start keepalived
sudo systemctl enable keepalived

验证虚拟 IP 是否绑定到主节点:

ip a | grep 192.168.188.170

在主节点故障或停止 Keepalived 后,虚拟 IP 会漂移到备节点。

二. 与 Nginx 集成

1.在 Nginx 配置中绑定虚拟 IP:
修改
/etc/nginx/nginx.conf:

server {listen 80;server_name 192.168.188.170;location / {root /var/www/html;index index.html;}
}

2.检查 Nginx 配置并重新加载:

sudo nginx -t
sudo systemctl reload nginx

三.验证漂移效果

1.正常状态

  • 主节点提供服务,访问 http://192.168.188.170。
  • 使用 ip a 验证虚拟 IP 绑定在主节点。
    2.模拟主节点故障
  • 停止主节点的 Keepalived:
sudo systemctl stop keepalived
  • 虚拟 IP 应漂移到备节点,再次访问 http://192.168.188.170 应由备节点响应。

3.恢复主节点

  • 启动主节点的 Keepalived:
sudo systemctl start keepalived
  • 虚拟 IP 应重新漂移回主节点。

四.注意事项

1.网卡配置
确保网卡允许绑定虚拟 IP ,并显式设置网卡的 ARP 配置,确保其工作状态正常。
(/etc/sysctl.conf 添加以下内容并重启):
net.ipv4.ip_nonlocal_bind = 1net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.eno1.arp_ignore = 1
net.ipv4.conf.eno1.arp_announce = 2

应用配置:

sudo sysctl -p

2.防火墙设置
确保 VRRP 协议(默认 UDP 端口 112)不被防火墙阻止。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/872230.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么添加财务部打印机

添加打印机输入以下地址输入用户名和密码验证 # administrator # 123456自动安装驱动,安装驱动完成即可

https证书管理系统-自动化部署

免费HTTPS证书(SSL证书)- 自动化部署 步骤1:复制生成的linux脚本命令步骤2:拷贝到部署站点的linux服务器上运行步骤三:刷新页面,即可看到此时的节点记录步骤四:点击“配置证书”,选择证书后自动部署步骤五:节点部署已完成,后续自动调度部署,无需干预

vmware vCenter证书故障处理

故障现象:重启vCenter后出现503错误:解决方法: 一、登陆ssh到vcenter,重新生成证书 先关掉HA,不然证书管理会报错。 做好vCenter快照 执行证书管理命令: /usr/lib/vmware-vmca/bin/certificate-manager按照提示输入:其中IP地址和域名必须输入自己集群的,域名…

从情感分析到热点事件排名:思通数科舆情监测系统的全面分析功能

思通数科的舆情监测分析系统通过多维度数据采集与分析,为用户提供全面、准确的舆情信息。本文将根据思通数科舆情监测分析系统的主要功能模块,详细介绍系统的各项监测与分析内容,以及其在实际应用中的价值。一、最新资讯 思通数科舆情监测系统首先为用户提供了最新的资讯动态…

2025/1/20

今天继续学习Android Studio,学习了布局,有LinearLayout、相对布局、FrameLayout的布局方式,学习了各个组件内部的小组件,以及TextView 和View的基础控件,用手机usb进行调试,突发奇想,想整一个简单的app,调试成功后,关闭电脑程序,手机端app会卡退,了解到需要apk的知…

manim边做边学--交替变换

今天,我们将介绍 Manim 中两个用于交替变换的动画类:CyclicReplace 和 Swap。 无论是在展示数学概念的动态变化,还是在图形设计中呈现元素的巧妙交互,这两个动画类都扮演着重要角色。 它们以各自独特的方式,为我们提供了丰富的创意表达空间。CyclicReplace:循环替换一组对…

认识西门子ET 200SP分布式I/O系统的接口模块

文章来源:认识西门子ET 200SP分布式I/O系统的接口模块西门子ET 200SP分布式I/O系统由接口模块和信号模块组成,信号模块插接在底板上,通过底板与接口模块相连接。一个接口模块可以连接多个信号模块,具体的数量与接口模块的类型有关。今天这篇文章,我们来介绍下接口模块。 接…

【DingTalk】JsApi 地理位置相关

最近接手同事新开的半成品项目,钉钉嵌入的地图API测试中出现了BUG 钉钉API文档见此: https://open.dingtalk.com/document/orgapp/obtain-current-geographic-location-information-single-positioning一、IOS位置获取组件无法打开 安卓手机是可以不需要JSAPI授权配置的,这点…

“国产双系统”出炉!复旦微FMQL20SM非对称AMP:Linux + 裸机

“非对称AMP”双系统是什么 AMP(Asymmetric Multi-Processing),即非对称多处理架构。“非对称AMP”双系统是指多个核心相对独立运行不同的操作系统或裸机应用程序,如Linux + RTOS/裸机,但需一个主核心来控制整个系统以及其它从核心。每个处理器核心相互隔离,拥有属于自己的…

CudaSPONGE与PySAGES初步性能测试

接前一篇关于PySAGES结合CudaSPONGE使用方法的文章,本文主要还是使用了一样的测试案例。仅通过不同的测试步长,来定性的分析PySAGES的MetaDynamics实现方案结合MD软件之后的性能数据。技术背景 在前面的一篇博客中,我们介绍过CudaSPONGE的基础使用方法、CudaSPONGE调用Pytho…

记一次移动光猫(GM219-S)安全测试

前言 过个年,WiFi密码忘记了…光猫管理密码也忘记了(这个光猫也不支持物理按钮重置设置),但是手机还连着WiFi,正规操作找回不了密码,那就用咱们测试的思维来试试PWN掉这个路由器。 过程 未授权获取WiFi连接密码 还好之前没闲着,发现管理的几个未授权访问的接口如下: 获取…

Web安全测试学习手册-业务逻辑测试

首先感谢朋友倾璇的邀请 ,参与了的相关撰写,目前负责业务逻辑测试这一块的撰写,目前初步已经成型,先发出来让大家看看,欢迎点评,也可以加入我们一起来撰写~ 业务逻辑测试 介绍:这里对Web应用业务逻辑方面的安全缺陷进行介绍和常见案例讲解。 任意用户密码重置 常见的缺陷…