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

相关推荐
翻斗包菜4 天前
LVS+Keepalived 高可用集群搭建详解(OpenEuler24 实战版
lvs
|华|4 天前
LVS+Keepalived群集
lvs
ego.iblacat4 天前
lvs 集群部署
开发语言·php·lvs
卤炖阑尾炎4 天前
LVS+Keepalived 高可用集群实战精讲从原理到上线全流程
网络·lvs
炸炸鱼.4 天前
LVS+Keepalived 高可用集群部署手册
lvs·keepalived·高可用
kiku18184 天前
keepalived高可用与负载均衡
后端·github·lvs
白毛大侠4 天前
LVS 完全入门:从零理解 Linux 虚拟服务器的三种模式
linux·服务器·lvs
洛菡夕4 天前
LVS+Keepalived高可用群集
运维·服务器·lvs
卢傢蕊4 天前
LVS+Keepalived 高可用群集
linux·运维·lvs·keepalived
我不听你讲话4 天前
LVS+Keepalived 高可用集群核心内容总结
lvs