四层负载-NAT模式

web架构, 负载均衡  ·  2026-10-10

NAT模式

一、实验架构与IP规划

这里使用 3 台 Linux 虚拟机:1 台 LVS 调度器、2 台 Web 后端服务器。

image-20261010083319948.png

主机网卡IP 地址用途
LVSens3310.0.0.9/24接收客户端请求
LVSens36172.16.1.9/24转发至后端
WEB01ens36172.16.1.7/24后端 Web 服务
WEB02ens36172.16.1.8/24后端 Web 服务

关键前提: LVS 必须有两张网卡,客户端能够访问 LVS 的入口地址,LVS 能够访问两台后端服务器;后端服务器的默认网关必须指向 172.16.1.10,保证响应流量返回 LVS。

1、配置两台后端web服务器

yum -y install nginx
systemctl enable --now nginx
[root@web01 ~]# echo "Hello from WEB01" > /usr/share/nginx/html/index.html
[root@web02 ~]# echo "Hello from WEB02" > /usr/share/nginx/html/index.html

2、配置后端服务器的默认网关

web集群服务器的默认网关都指向LVS

3、安装配置LVS调度器

yum -y install ipvsadm
# 加载IPVS内核模块
modprobe ip_vs
# 确认模块已加载
lsmod | grep ip_vs
# 开启端口转发
cat > /etc/sysctl.d/99-lvs-nat.conf << EOF
net.ipv4.ip_forward = 1
EOF
sysctl --system
#   or   #
vim /etc/sysctl.conf
# 修改
net.ipv4.ip_forward = 1
# 最后启动
sysctl -p

4、配置LVS-NAT转发规则

# 清空已经IPVS规则。若这台服务器已经承载业务,不要直接清空规则
ipvsadm -C
# 创建虚拟服务
ipvsadm -A -t 10.0.0.9:80 -s rr

解释:

  • -A:添加虚拟服务。
  • -t:指定 TCP 虚拟服务地址。
  • 192.168.10.10:80:客户端访问的入口地址和端口。
  • -s rr:使用 Round Robin(轮询)调度算法。
# 添加两台后端服务器
ipvsadm -a -t 10.0.0.9:80 -r 172.16.1.7:80 -m
ipvsadm -a -t 10.0.0.9:80 -r 172.16.1.8:80 -m

其中,-a添加真实服务器,-r指定后端地址,-m表示使用NAT转发模式

ipvsadm -Ln
TCP  10.0.0.9:80 rr
  -> 172.16.1.7:80    Masq
  -> 172.16.1.8:80    Masq

5、验证负载均衡是否生效

在客户端执行:

for i in {1..6}; do
    curl --max-time 3 -s http://192.168.10.10/
    echo
done

预期:

Hello from WEB01
Hello from WEB02
Hello from WEB01
Hello from WEB02
Hello from WEB01
Hello from WEB02

6、查看连接统计

在LVS上执行:

ipvsadm -Ln --stats
ipvsadm -Ln --rate
ipvsadm -Ln --rate
  • --stats:查看累计连接和流量统计。
  • --rate:查看当前速率统计。

7、配置持久化

ipvsadm-save > /etc/sysconfig/ipvsadm.rules

8、测试失败排查

现象优先检查
客户端无法访问 LVS入口 IP 是否存在、网卡和路由是否正确
LVS 无法访问后端LVS 内侧网卡、后端 IP、网络连通性
后端本机访问正常,但 LVS 访问失败后端防火墙、TCP 80 端口及安全策略
请求到达后端,但客户端超时后端默认网关、LVS 转发和反向 NAT
始终只有一个后端响应IPVS 规则、后端服务状态、连接统计
重启后无法访问IP 转发设置、IPVS 规则是否恢复

还可以在 LVS 上抓包观察请求是否到达后端:

tcpdump -ni ens33 'tcp port 80'

9、NAT请求链路

image-20261010090703973.png

评论
Mybolg. All Rights Reserved.