LVS的NAT方式

1. NAT方式

NAT模式是常用的LVS模式之一。

在NAT模式下,LVS会将来自客户端的请求报文中的目的IP地址和端口,修改为LVS内部的IP地址和端口,然后把请求转发到后端服务器。

响应结果返回客户端的过程中,响应报文也要经过LVS的处理,把它的目的IP地址和端口修改成客户端的IP地址和端口。

好处在于,对于客户端来说,请求的目的地址始终不变,客户端的配置不需要做特殊修改,只是调度器在对IP地址和端口进行转换,后端的服务器也不需要更改任何配置。

缺点:

  • 性能损失,请求和响应都需要调度器做地址转换,影响性能。
  • NAT模式只能有一个调度器,调度器故障,整个集群就不能正常工作。

2. NAT方式实例

Nginx1 :RS1 20.0.0.21

Nginx2 :RS2 20.0.0.22

test2 :调度器 ens33 20.0.0.20 ;ens36 12.0.0.1

test3 :客户端 12.0.0.10

实现:

test3的网关设置为12.0.0.1

在test2上

bash 复制代码
modprobe ip_vs
#重新加载内核
yum -y install ipvsadm
#安装ipvsadm服务
bash 复制代码
#在iptables防火墙中添加源地址转换的策略
iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o ens36 -j SNAT --to 12.0.0.1
#对20.0.0.0/24网段的所有源地址,指定设备ens36,转换源地址为12.0.0.1
bash 复制代码
systemctl restart ipvsadm
ipvsadm -C
#清空原有的策略
ipvsadm -A -t 12.0.0.1:80 -s rr
#指定好vip的地址和端口,指定轮询策略rr
#先添加VIP,虚拟服务器的IP和端口,然后再添加真实服务器
ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.21:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.22:80 -m
  • -a :添加真实服务器
  • -t :指定vip的地址和端口
  • -r :指定真实服务器的地址和端口
  • -m :使用 masquerade 模式,即将客户端的源地址替换为负载均衡调度器的地址
bash 复制代码
ipvsadm -ln 
#查看ipvsadm设置
ipvsadm-save >/etc/sysconfig/ipvsadm
#保存当前ipvsadm配置到文件
systemctl restart ipvsadm
#重启服务

客户端curl 12.0.0.1,查看轮询方式。

其他设置:

bash 复制代码
#删除策略方法
ipvsadm -D -t 20.0.0.10:80
#删除节点服务器方法
ipvsadm -d -r 20.0.0.21:80 -t 12.0.0.1:80
#加权轮询策略
ipvsadm -A -t 12.0.0.1:80 -s wrr
#节点加权
ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.21:80 -m -w 2

只有创建VIP地址的时候才能指定负载均衡算法,策略无法修改,要修改只能删除重建。

相关推荐
小任今晚几点睡5 天前
LVS深度解析:从原理到实战的负载均衡完全指南
负载均衡·lvs
Yyyy48213 天前
LVS TUN隧道模式
运维·网络·lvs
IT成长日记15 天前
【LVS入门宝典】LVS调度算法轮询(RR)深度解析:从原理到实战的公平调度之道
算法·lvs·rr·轮询调度算法
chen_note15 天前
LVS集群
nginx·lvs·haproxy·ipvsadm·lvs四种模式
Yyyy48215 天前
LVS三种模式及原理
服务器·php·lvs
Yyyy48215 天前
LVS、Nginx、HAProxy 的区别
运维·nginx·lvs
IT成长日记16 天前
【LVS入门宝典】LVS核心原理与实战:Real Server(后端服务器)高可用配置指南
linux·运维·服务器·负载均衡·lvs
IT成长日记16 天前
【LVS入门宝典】LVS NAT模式实战指南:ip_forward、iptables与SNAT、DNAT规则配置详解
linux·运维·tcp/ip·负载均衡·lvs·nat
红尘客栈216 天前
构建高可用 LVS-DR + Keepalived 负载均衡集群实战指南
运维·负载均衡·lvs
IT成长日记16 天前
【LVS入门宝典】LVS-TUN模式原理与配置:跨越网络界限的负载均衡解决方案
linux·网络·负载均衡·lvs·tun