使用LVS的 NAT 模式实现 3 台RS的轮询访问

架构图,需要三台RS进行轮询访问,则架构图会和下图有点差距。

节点规划

主机 角色 系统 网络 IP

client client redhat 9.5 NAT 192.168.19.100/24

lvs lvs redhat 9.5 NAT、仅主机 192.168.111.111.27/24

nginx rs1 redhat 9.5 NAT 192.168.111.111.7/24

nginx rs2 redhat 9.5 NAT 192.168.111.111.17/24

nginx rs3 redhat 9.5 NAT 192.168.111.111.27/24

注意:本实验所有防火墙均关闭。setenforce 均为0

配置nginx

默认rs三台主机都下载nginx。

rs1

1.写入页面

root@rs1 \~\]# echo $(hostname -I) \> /usr/share/nginx/html/index.html 2.重启服务 \[root@rs1 \~\]# systemctl restart nginx 3.测试nginx \[root@rs1 \~\]# curl 192.168.111.17 192.168.111.17

注:其他两台均相同操作

配置lvs

修改虚拟网络

lvs服务器有两块网卡,第一块网卡采用仅主机模式,IP 地址为 192.168.19.200,第二块网卡
采用 NAT 模式,IP 地址为192.168.111.8

root@localhost \~\] # hostnamectl hostname lvs \[root@localhost \~\] # nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.19.200/24 ipv4.gateway 192.168.19.2 ipv4.dns 223.5.5.5 connection.autoconnect yes \[root@localhost \~\] # nmcli c up ens160

安装软件

为了防止等会不能上外网先把 ipvsamd 软件安装。

root@lvs \~\] # dnf install ipvsadm -y ### 配置 NAT模式的网卡 > \[root@lvs \~\] # nmcli c modify ens224 ipv4.method manual ipv4.addresses > 192.168.111.8/24 ipv4.gateway 192.168.111.2 connection.autoconnect yes > \[root@lvs \~\] # nmcli c up ens224 > Connection successfully activated (D-Bus active path: > /org/freedesktop/NetworkManager/ActiveConnection/5) ### 做 LVS 规则匹配 > \[root@lvs \~\] # ipvsadm -A -t 192.168.19.200:80 -s rr > # 为规则增加 RS > \[root@lvs \~\] # ipvsadm -a -t 192.168.19.200:80 -r 192.168.111.7:80 -m -w 2 > \[root@lvs \~\] # ipvsadm -a -t 192.168.19.200:80 -r 192.168.111.17:80 -m - w 2 > \[root@lvs \~\] # ipvsadm -a -t 192.168.19.200:80 -r 192.168.111.17:80 -m - w 2 > \[root@lvs \~\] # ipvsadm -Ln > IP Virtual Server version 1 .2.1 (size = 4096 ) > Prot LocalAddress:Port Scheduler Flags > - \> RemoteAddress:Port Forward Weight ActiveConn InActConn > TCP 192 .168.10.200:80 rr > - \> 192 .168.111.7:80 Masq 2 0 0 > - \> 192 .168.72.111:80 Masq 2 0 0 > -\> 192.168.72.111:80 Masq 2 0 0 ### 配置内核参数 > \[root@lvs \~\] # echo "net.ipv4.ip_forward=1" \>\> /etc/sysctl.conf > 配置好后执行如下的命令来生效。 \[root@lvs \~\] # sysctl -p ## 配置客户端 > \[root@localhost \~\] # hostnamectl hostname client > \[root@localhost \~\] # nmcli c modify ens160 ipv4.method manual > ipv4.addresses 192.168.19.100/24 ipv4.gateway 192.168.19.2 ipv4.dns > 223.5.5.5 connection.autoconnect yes > \[root@localhost \~\] # nmcli c up ens160 ## 功能测试 ### 启动ipvsadm来测试服务 > \[root@lvs \~\]# ipvsadm-save \> /etc/sysconfig/ipvsadm > > \[root@lvs \~\]# systemctl start ipvsadm ### 在客户端测试 > \[root@client \~\]# curl 192.168.19.200 > 192 .168.111.7 > \[root@client \~\] # curl 192.168.19.200 > 192 .168.111.17 > \[root@client \~\] # curl 192.168.19.200 > 192 .168.111.27 > \[root@client \~\] # curl 192.168.19.200 > 192 .168.111.7 > \[root@client \~\] # curl 192.168.19.200 > 192 .168.111.17 > \[root@client \~\] # curl 192.168.19.200 > 192 .168.111.27 > \[root@client \~\] # curl 192.168.19.200 > 192 .168.111.7

相关推荐
_下雨天.3 小时前
LVS负载均衡
服务器·负载均衡·lvs
mounter6256 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
特长腿特长7 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5387 小时前
Linux环境变量
linux·运维·服务器
kebeiovo7 小时前
atomic原子操作实现无锁队列
服务器·c++
赛博云推-Twitter热门霸屏工具8 小时前
Twitter运营完整流程:从0到引流获客全流程拆解(2026)
运维·安全·自动化·媒体·twitter
CHHC18808 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器
帮我吧智能服务平台9 小时前
装备制造智能制造升级:远程运维与智能服务如何保障产线OEE
运维·服务器·制造
w6100104669 小时前
cka-2026-cri-dockerd
运维·k8s·cka
卤炖阑尾炎9 小时前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql