LVS-NAT 负载均衡实验从环境搭建到规则持久化 NAT模式环境设定LVS-NAT是一种基于网络地址转换NAT的负载均衡技术主要用于将客户端请求分发到后端多台真实服务器。其核心是通过修改数据包的源或目标IP地址和端口实现请求转发和响应回传。 请求转发过程 客户端请求到达负载均衡器客户端发送请求到负载均衡器的公网IPVIP。 NAT转换负载均衡器将请求包的目标IP从VIP修改为选定的后端真实服务器IPRIP同时记录连接跟踪信息。 转发至真实服务器修改后的数据包被发送到后端服务器服务器处理请求并生成响应。 响应返回过程 服务器响应负载均衡器后端服务器将响应包发送回负载均衡器的本地IP而非客户端IP。 反向NAT转换负载均衡器根据连接跟踪表将响应包的源IP从RIP改回VIP目标IP改为客户端IP。 返回客户端转换后的响应包通过负载均衡器发送回客户端客户端感知不到后端服务器的存在。VS主机中#使用脚本快速设定网络[rootvsnode ~]# vmset.sh eth0 172.25.254.100 vsnode[rootvsnode ~]# vmset.sh eth1 192.168.0.100 vsnode norouteRS1#设定网络[rootRS1 ~]# vmset.sh eth0 192.168.0.10 RS1 noroute[rootRS1 ~]# nmcli connection modify eth0 ipv4.gateway 192.168.0.100[rootRS1 ~]# nmcli connection reload[rootRS1 ~]# nmcli connection up eth0[rootRS1 ~]# route -nKernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0192.168.0.1000.0.0.0 UG10000eth0192.168.0.00.0.0.0255.255.255.0 U10000eth0#设定访问业务真实数据[rootRS1 ~]# dnf install httpd -y[rootRS1 ~]# systemctl enable --now httpd[rootRS1 ~]# echo RS1 - 192.168.0.10 /var/www/html/index.htmlRS2#设定网络[rootRS1 ~]# vmset.sh eth0 192.168.0.20 RS1 noroute[rootRS1 ~]# nmcli connection modify eth0 ipv4.gateway 192.168.0.100[rootRS1 ~]# nmcli connection reload[rootRS1 ~]# nmcli connection up eth0[rootRS1 ~]# route -nKernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0192.168.0.1000.0.0.0 UG10000eth0192.168.0.00.0.0.0255.255.255.0 U10000eth0#设定访问业务真实数据[rootRS1 ~]# dnf install httpd -y[rootRS1 ~]# systemctl enable --now httpd[rootRS1 ~]# echo RS2 - 192.168.0.20 /var/www/html/index.html在vs主机中测试环境[rootvsnode ~]# curl 192.168.0.10RS1 -192.168.0.10[rootvsnode ~]# curl 192.168.0.20RS2 -192.168.0.20NAT模式实现方法1.vs#1开启内核路由功能[rootvsnode ~]# echo net.ipv4.ip_forward1 /etc/sysctl.conf[rootvsnode ~]# sysctl -pnet.ipv4.ip_forward1#2.编写策略[rootvsnode ~]# ipvsadm -C#清除所有策略[rootvsnode ~]# ipvsadm -A -t 172.25.254.100:80 -s wrr[rootvsnode ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m -w 1[rootvsnode ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20:80 -m -w 1[rootvsnode ~]# ipvsadm -LnIP Virtual Server version1.2.1(size4096)Prot LocalAddress:Port Scheduler Flags -RemoteAddress:Port Forward Weight ActiveConn InActConn TCP172.25.254.100:80 wrr -192.168.0.10:80 Masq100-192.168.0.20:80 Masq100#测试[rootvsnode ~]# for i in {1..10};do curl 172.25.254.100;doneRS2 -192.168.0.20 RS1 -192.168.0.10 RS2 -192.168.0.20 RS1 -192.168.0.10 RS2 -192.168.0.20 RS1 -192.168.0.10 RS2 -192.168.0.20 RS1 -192.168.0.10 RS2 -192.168.0.20 RS1 -192.168.0.10#更改权重[rootvsnode ~]# ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.10:80 -m -w 2[rootvsnode ~]# ipvsadm -LnIP Virtual Server version1.2.1(size4096)Prot LocalAddress:Port Scheduler Flags -RemoteAddress:Port Forward Weight ActiveConn InActConn TCP172.25.254.100:80 wrr -192.168.0.10:80 Masq205-192.168.0.20:80 Masq105#测试[rootvsnode ~]# for i in {1..10};do curl 172.25.254.100;doneRS2 -192.168.0.20 RS1 -192.168.0.10 RS1 -192.168.0.10 RS2 -192.168.0.20 RS1 -192.168.0.10 RS1 -192.168.0.10 RS2 -192.168.0.20 RS1 -192.168.0.10 RS1 -192.168.0.10 RS2 -192.168.0.20规则持久化实验过程可以用过打开另外一个shell的并执行监控命令的方式进行观察[rootvsnode ~]# watch -n 1 ipvsadm -Ln#利用自定义文件进行持久化[rootvsnode ~]# ipvsadm-save -n-A-t172.25.254.100:80-swrr-a-t172.25.254.100:80-r192.168.0.10:80-m-w2-a-t172.25.254.100:80-r192.168.0.20:80-m-w1[rootvsnode ~]# ipvsadm-save -n /mnt/ipvs.rule[rootvsnode ~]# ipvsadm -C[rootvsnode ~]# ipvsadm-restore /mnt/ipvs.rule#利用守护进程进行规则持久化[rootvsnode ~]# ipvsadm-save -n /etc/sysconfig/ipvsadm[rootvsnode ~]# ipvsadm -C[rootvsnode ~]# systemctl enable --now ipvsadm.serviceCreated symlink /etc/systemd/system/multi-user.target.wants/ipvsadm.service → /usr/lib/systemd/system/ipvsadm.service.

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/10/1 19:32:24
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/30 21:32:07
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/30 19:41:56
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/10/1 19:32:23
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 19:32:35
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/30 21:32:11

日新闻

周新闻

月新闻