企业级负载均衡集群LVS—NAT模式

1. 什么是NAT模式

NAT模式:网络地址转换模式

LVS-NAT模式特点:

  • 在一组服务器前有一个调度器,它们是通过Switch/HUB相连接的。这些服务器提供相同的网络服务、相同的内容,即不管请求被发送到哪一台服务器,执行结果是一样的。
  • RS的网关必须指向DIP
  • DIP和RIP必须在同一个网段内
  • 请求和响应报文都需要经过Director Server。高负载场景中,Director Server易称为性能瓶颈
  • RS可以使用任意操作系统

优缺点:

  • VS/NAT 的优点是服务器可以运行任何支持 TCP/IP 的操作系统,它只需要一个 IP 地址配置在调度器上,服务器组可以用私有的 IP 地址。
  • 缺点是它的伸缩能力有限, 当服务器结点数目升到 20 时,调度器本身有可能成为系统的新瓶颈,因为在 VS/NAT 中请求和响应报文都需要通过负载调度器。

2. 配置实验环境

在这个实验中需要给server1加一块网卡,配置一个不同网段的ip:
注意:这个“不同网段的的ip”是和server1 2 3的原ip不同网段,但是是真机的另一个网段,否则无法测试。

在这里插入图片描述

ip addr add 172.25.0.1/24 dev eth1
ip link set up eth1

在server2和server3中添加网关:

网关指向server1的ip,因为NAT模式下数据包的走向是原路返回,要带着返回的数据包经过调度器回到客户端。

route add default gw 172.25.254.1
systemctl restart network
route -n

在这里插入图片描述

3. 打开内核路由功能

在server1中打开内核的路由功能:

  • sever1收到客户端请求后,得到一个公网的ip,跟目的主机server2和server3不在一个网段
  • 所以如果想要将客户端来的数据包转发给后端服务器,那么必须对这个数据包进行ip转换,再进行数据包转发。
  • 出于安全考虑,Linux系统默认是禁止数据包转发的。配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能
sysctl -a | grep ip_forward

vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1

systemctl restart network
sysctl -a | grep ip_forward

在这里插入图片描述

4. 添加调度策略

在server1中:

ipvsadm -C
ipvsadm -A -t 172.25.0.1:80 -s rr
ipvsadm -a -t 172.25.0.1:80 -r 172.25.254.2:80 -m
ipvsadm -a -t 172.25.0.1:80 -r 172.25.254.3:80 -m
ipvsadm -ln

在这里插入图片描述

5. 测试

curl 172.25.0.1

在这里插入图片描述

发布了175 篇原创文章 · 获赞 11 · 访问量 6069

猜你喜欢

转载自blog.csdn.net/weixin_45775963/article/details/104461764