Linux LVM NAT 模式部署实践
1、角色分配
| 序号 | 主机角色 | 主机名 | ip 信息 | ip 角色 | 网卡设备 | 安装软件 |
|---|---|---|---|---|---|---|
| 1 | lvs-client | rocky9-15 | 10.0.0.15 | CIP | nat 模型 | |
| 2 | lvs-server | ubuntu24-112 | 10.0.0.112 | VIP | nat 模型 | ipvsadm |
| 192.168.10.100 | DIP | 仅主机模型 | ||||
| 3 | lvs-rs1 | openEuler-118 | 192.168.10.101 | RIP1 | 仅主机模型 | http |
| 4 | lvs-rs2 | rocky9-16 | 192.168.10.102 | RIP2 | 仅主机模型 | http |
2、网络拓扑

3、需求分析
主机网络环境配置
四台 VM 主机的配置:lvs-server 配备两个网卡,其他主机都配备1个网卡;lvs-Client 和 lvs-server:ens33 在同一个网段;lvs-server:ens37、lvs-rs1 和 lvs-rs2 的网卡在同一个网段;
LVS 主机网络环境配置:VM 主机准备双网卡,ens33 是 NAT 模式,ens37 是仅主机模式。双网段的 ip 网卡配置,开启 ip 数据包转发功能;
后端 RS1 主机网络配置:VM 主机准备单网卡,是仅主机模式;
后端 RS2 主机网络配置:VM 主机准备单网卡,是仅主机模式;
网络环境测试:在多台主机间测试网络效果。
后端真实主机配置
后端 RS1主机部署 http 服务:因为是仅主机网络,所以需要通过本地镜像的方式配置 yum 源并安装 http,定制后端 http 首页;
后端 RS2主机部署 http 服务:因为是仅主机网络,所以需要通过本地镜像的方式配置 yum 源并安装 http,定制后端 http 首页。
LVS 环境配置
部署 LVS 集群服务:创建 lvs 集群服务,增加RS主机条目;
测试 LVS 效果:使用 curl 或者浏览器的方式来测试,不能用 ping 的方式来测试,因为是基于协议实现转发的。
预期结果
在客户端主机 lvs-client上多次访问 lvs-server 的 VIP,观察是否能交替访问到 lvs-rs1 和 lvs-rs2 主机的 Web 页面,验证负载均衡效果。
4、操作实践
4.1、配置主机网络环境




4.1.1、定制 lvs-client 主机 ip
查看网卡配置

重启网卡配置生效

检测效果

4.1.2、定制 lvs-server 主机 ip
定制网卡配置,ens33 是 NAT 模式,ens37 是仅主机模式,仅主机模式不用配置网关。

网卡配置生效

检测效果

4.1.3、定制 lvs-rs1 主机 ip
定制网卡服务

网卡配置生效

检测效果

4.1.4、定制 lvs-rs2 主机 ip
定制网卡服务

网卡配置生效

检测效果

4.2、基础环境配置
4.2.1、lvs-server 主机开启数据转发
定制内核参数

测试效果

4.2.2、lvs-rs1 主机定制网关
如果网关不指向lvs主机的ip地址,那么数据包交给其他主机,导致数据包无法原路通过lvs返回出
去。但是因为他们属于同一个网段,数据包还是可以抓取到的,只不过没有意义而已。
lvs-rs1主机定制默认的网关出口为 lvs-server 主机

4.2.2、lvs-rs2 主机定制网关
lvs-rs2 主机定制默认的网关出口为 lvs-server 主机

4.3、lvs-rs1 主机部署 web 服务
4.3.1、定制本地镜像仓库
挂载磁盘

定制本地 yum 源

更新软件源

4.3.2、基本安全加固
关闭防火墙服务和selinux

4.3.3、部署 httpd 服务
部署httpd服务



检测效果

4.4、lvs-rs2 部署 web 服务
4.4.1、定制本地镜像仓库
挂载磁盘

定制软件源


更新软件源

4.4.2、基本安全加固
关闭防火墙服务和selinux

4.4.3、部署 httpd 服务
部署httpd服务



检测效果

4.5、lvs-server 主机定制集群
4.5.1、软件安装
安装 ipvsadm 服务

4.5.2、集群环境部署
定制 lvs 集群服务(-s rr 指定轮询算法)
![]()
增加 rs 主机列表(-m 指定 NAT 模式)

查看集群主机效果

4.6、测试总结
4.6.1、客户端测试
客户端访问 lvs 的对外 ip 地址

结果显示:实现了流量的正常转发效果,实现负载均衡。
4.6.2、实践总结
lvs 本质上是一种网络扩展性方案,所以在做实验的时候,基础网络的配置非常重要;
单机双网卡的配置以及 ip 数据转发的功能必须开启;
lvs 集群的配置流程:创建 lvs 集群服务,给 lvs 服务增加 rs 主机;
测试的时候,使用 curl 方式来测试,不要用 ping 方式测试。因为 ping 走的是 snmp 协议,而 lvs 转发到后端服务是基于 port 的。
