LVS部署模式NAT集群案例
1.Director 服务器采用双网卡,一个是桥接网卡连接外网,一个是仅主机网卡与后端Web服务器相连
2.Web服务器采用仅主机网卡与director相连
3.Web服务器网关指向192.168.0.100
4.后端web服务器不需要连接外网
1.实验环境
2. 关键配置步骤
2.1 Director服务器配置 (node1)
# 启用IP转发
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf
sysctl -p# 安装ipvsadm
yum install ipvsadm -y# 添加NAT模式调度规则
ipvsadm -A -t 172.25.254.100:80 -s rr
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.101:80 -m
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.102:80 -m# 持久化规则
ipvsadm -Sn > /etc/sysconfig/ipvsadm
systemctl enable --now ipvsadm
2.2 Web服务器配置 (node3/node4)
# 确保网关指向Director的内网IP
ip route add default via 192.168.0.100# 启动HTTP服务(示例)
echo "RS1 server - 192.168.0.101" > /var/www/html/index.html # node3
echo "RS2 server - 192.168.0.102" > /var/www/html/index.html # node4
systemctl start httpd
3. 验证与测试
3.1 查看LVS规则
ipvsadm -Ln
# 预期输出:
# TCP 172.25.254.100:80 rr
# -> 192.168.0.101:80 Masq 1 0 0
# -> 192.168.0.102:80 Masq 1 0 0
# cat /proc/net/ip_vs_conn
# cat /proc/net/ip_vs
3.2连接状态分析
cat /proc/net/ip_vs_conn
# 显示6条TIME_WAIT连接,说明已有测试流量通过:
# - FromIP AC19FE01 -> 客户端IP(十六进制)
# - ToIP AC19FE64 -> VIP 172.25.254.100
# - DestIP C0A80065/C0A80066 -> RS服务器 192.168.0.101/102
3.3保存规则
ipvsadm -Sn
#预期输出:
#-A -t 172.25.254.100:80 -s rr
#-a -t 172.25.254.100:80 -r 192.168.0.101:80 -m -w 1
#-a -t 172.25.254.100:80 -r 192.168.0.102:80 -m -w 1
ipvsadm -Sn > /etc/sysconfig/ipvsadm-config # 正确保存规则
3.4删除所有规则
ipvsadm -C
ipvsadm -Ln
#预期输出:
#IP Virtual Server version 1.2.1 (size=4096)
#Prot LocalAddress:Port Scheduler Flags
# -> RemoteAddress:Port Forward Weight ActiveConn InActConn
3.5重新加载规则
ipvsadm -R < /etc/sysconfig/ipvsadm-config #重新加载
ipvsadm -Ln #查看是否重新加载
以上操作均为临时,如果想开机启动
systemctl enable --now ipvsadm.service
3.6 客户端轮询测试
for i in {1..6}; do curl 172.25.254.100; done
# 预期输出(轮询模式):
# RS1 server - 192.168.0.101
# RS2 server - 192.168.0.102
# RS1 server - 192.168.0.101
# RS2 server - 192.168.0.102
# ...
3.7 修改为加权轮询 (wrr)
ipvsadm -E -t 172.25.254.100:80 -s wrr
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.101:80 -m -w 2
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.102:80 -m -w 1# 测试权重效果
for i in {1..6}; do curl 172.25.254.100; done
# 预期输出:
# RS1 server - 192.168.0.101
# RS1 server - 192.168.0.101
# RS2 server - 192.168.0.102
# RS1 server - 192.168.0.101
# RS1 server - 192.168.0.101
# RS2 server - 192.168.0.102
4. 故障排查要点
Director服务器:
确认
ip_forward=1
生效:sysctl net.ipv4.ip_forward
检查iptables是否放行流量:
iptables -L
Web服务器:
验证网关配置:
ip route show
测试到Director的连通性:
ping 192.168.0.100
客户端:
确保能访问VIP:
telnet 172.25.254.100 80
5. 注意事项
NAT模式限制:所有回包需经Director转发,确保Web服务器的网关指向Director。
性能建议:生产环境建议改用DR模式(需配置ARP抑制)。
VIP配置:NAT模式下VIP仅需配置在Director的外网卡。