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地址的时候才能指定负载均衡算法,策略无法修改,要修改只能删除重建。

相关推荐
ly76893 天前
负载均衡详解:从四层、七层到 LVS、Keepalived、Nginx 与 HAProxy
nginx·负载均衡·lvs
小马同学-6 天前
Keepaloved+LVS(DR) +MariaDN主主
linux·运维·lvs
暖核7 天前
Keepalived + LVS(DR)+ MariaDB 主主高可用架构实战指南
架构·mariadb·lvs
闲云野鹤在人间8 天前
项目实战:LNMP-电商平台-ECshop
linux·运维·nginx·apache·lvs
黑泽明*8 天前
LVS-负载均衡全解析
运维·负载均衡·lvs
小马同学-9 天前
负载均衡-LVS全解析
运维·负载均衡·lvs
Archy_Wang_114 天前
LVS+KeepAlived+Nginx实现企业级业务高可靠部署的实战教程
运维·nginx·lvs
tx112087635820 天前
LVS知识归纳与模式解析及常见问题复现解析
linux·运维·服务器·lvs·ipvsadm·nat/dr模式
輝太くん20 天前
LVS重新梳理
lvs
苍狗T21 天前
LVS相关知识总结
linux·运维·服务器·lvs