岳阳网站平台设计,游戏网页代码,东莞营销外包公司,wordpress前台显示友链DR直接路由模式#xff1a;不修改客户请求的源地址和目标地址#xff0c;LVS直接通过MAC将请求转发给RS#xff08;真实服务器#xff09;#xff0c;RS需要设置ARP抑制实验环境说明角色数量IP 配置#xff08;示例#xff09;核心作用客户端#xff08;Client#xf…DR直接路由模式不修改客户请求的源地址和目标地址LVS直接通过MAC将请求转发给RS真实服务器RS需要设置ARP抑制实验环境说明角色数量IP 配置示例核心作用客户端Client1 台192.168.1.10与 LVS 的 ens37 同网段发起请求测试负载均衡效果LVS 负载均衡器1 台ens33192.168.146.100内网连后端 RSens37192.168.1.200VIP对外服务分发请求到后端 RS后端服务器RS11 台ens33192.168.146.101内网 IPlo:0192.168.1.200绑定 VIP提供实际服务如 Web后端服务器RS21 台ens33192.168.146.102内网 IPlo:0192.168.1.200绑定 VIP提供实际服务如 Web网络要求LVS 与所有 RS 必须在同一内网网段192.168.146.0/24客户端与 LVS 的 VIP192.168.1.200可互通。实验步骤第一步配置 LVS 负载均衡器登录 LVS 服务器IP192.168.146.100/192.168.1.200执行以下操作确认双网卡 IP 配置若未配置则手动设置
# 配置内网网卡连 RS
ifconfig ens33 192.168.146.100 netmask 255.255.255.0 up
# 配置 VIP 网卡对外服务ens37 绑定 VIP
ifconfig ens37 192.168.1.200 netmask 255.255.255.0 up
开启 IP 转发DR 模式依赖转发功能
echo 1 /proc/sys/net/ipv4/ip_forward
# 永久生效重启不失效
echo net.ipv4.ip_forward1 /etc/sysctl.conf
sysctl -p # 生效配置
安装 ipvsadm 工具Debian/Ubuntu 系统
apt update apt install -y ipvsadm
加载 LVS 核心模块
modprobe ip_vs # 核心模块
modprobe ip_vs_rr # 轮询调度算法按需选择如 wrr、lc 等
lsmod | grep ip_vs # 验证模块是否加载成功
出现以下内容则表示模块加载成功
ip_vs_rr 12288 0
ip_vs 221184 2 ip_vs_rr
nf_conntrack 196608 1 ip_vs
nf_defrag_ipv6 24576 2 nf_conntrack,ip_vs
libcrc32c 12288 2 nf_conntrack,ip_vs
配置 LVS DR 模式规则
# 清空旧规则首次配置可跳过
ipvsadm -C# 添加虚拟服务VIP:端口调度算法 rr 轮询
# -tTCP 协议-s rr轮询调度
ipvsadm -A -t 192.168.1.200:80 -s rr# 添加后端 RSDR 模式用 -g 标记
# -rRS 的内网 IP:端口-gDR 模式
ipvsadm -a -t 192.168.1.200:80 -r 192.168.146.101:80 -g # 添加 RS1
ipvsadm -a -t 192.168.1.200:80 -r 192.168.146.102:80 -g # 添加 RS2# 保存规则重启后需重新加载或配置自动加载
ipvsadm -S /etc/sysconfig/ipvsadm # 保存到文件
查看 LVS 规则确认配置生效
ipvsadm -Ln
# 预期输出能看到 VIP:80 和两台 RS 的 IP调度算法为 rr
第二步配置后端服务器RS1 和 RS2分别登录 RS1192.168.146.101和 RS2192.168.146.102执行以下操作两台配置相同仅 IP 不同配置内网 IP
# RS1 执行
ifconfig ens33 192.168.146.101 netmask 255.255.255.0 up
# RS2 执行
ifconfig ens33 192.168.146.102 netmask 255.255.255.0 up
在回环接口lo绑定 VIP关键步骤避免 IP 冲突
# 绑定 VIP 到 lo:0 子接口子网掩码必须是 255.255.255.255
ifconfig lo:0 192.168.1.200 netmask 255.255.255.255 up# 添加路由确保 VIP 流量由 lo 接口处理
route add -host 192.168.1.200 dev lo:0
关闭 ARP 响应核心配置防止 VIP 冲突
# 禁止 RS 响应 VIP 的 ARP 请求避免客户端直接访问 RS
echo 1 /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 /proc/sys/net/ipv4/conf/lo/arp_announce
# 对所有接口生效
echo 1 /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 /proc/sys/net/ipv4/conf/all/arp_announce
安装并启动 Web 服务用于区分不同 RS 的响应
# 安装 Nginx
apt update apt install -y nginx# RS1 配置返回标识如 This is RS1 (192.168.146.101)
echo This is RS1 (IP: 192.168.146.101) /var/www/html/index.html# RS2 配置返回标识如 This is RS2 (192.168.146.102)
echo This is RS2 (IP: 192.168.146.102) /var/www/html/index.html# 启动 Nginx
systemctl start nginx
systemctl enable nginx # 开机自启
验证 RS 本地服务
curl 127.0.0.1 # 应返回当前 RS 的标识文本
第三步配置客户端Client登录客户端机器192.168.1.10确保与 LVS 的 VIP192.168.1.200互通配置客户端 IP与 LVS 的 ens37 同网段
ifconfig ens33 192.168.1.10 netmask 255.255.255.0 up
测试与 LVS VIP 的连通性
ping 192.168.1.200 # 应能 ping 通
第四步验证 LVS DR 模式负载均衡效果在客户端执行多次访问 LVS VIP 的命令观察响应是否在 RS1 和 RS2 之间切换
# 连续执行 curl 命令查看返回结果
curl 192.168.1.200
curl 192.168.1.200
curl 192.168.1.200
预期结果多次执行后响应应交替显示 This is RS1 (IP: 192.168.146.101) 和 This is RS2 (IP: 192.168.146.102)说明 LVS DR 模式的负载均衡已生效。常见问题排查客户端访问超时检查 LVS 与 RS 的内网连通性ping 192.168.146.101检查 RS 的 Nginx 是否启动systemctl status nginx检查 LVS 规则是否正确ipvsadm -Ln。响应不切换只访问一台 RS确认 LVS 调度算法为 rr轮询而非 sh源地址哈希检查 RS 的 ARP 配置是否正确cat /proc/sys/net/ipv4/conf/all/arp_ignore 应返回 1。VIP 冲突客户端直接访问到 RS重新执行 RS 的 ARP 配置命令确保 arp_ignore1 和 arp_announce2。通过以上步骤即可完成 LVS DR 模式的部署和验证核心是利用 “MAC 地址转发” 和 “后端直接响应客户端” 的特性提升负载均衡效率。