LVS-NAT模式部署

目录

一、环境准备

1、准备三台centos服务器

2、实验拓扑

3、NAT模式介绍

 二、LVS-NAT模式部署

1、给lvs服务器安装LVS

2、新建LVS集群

3、添加Real Server服务器节点

4、开启路由转发

5、给后端web服务器配置网关

6、效果测试


一、环境准备

1、准备三台centos服务器

服务器名称 主机名 IP 备注
LVS调度服务器 lvs

ens33:192.168.2.10(内网)

ens38:192.168.1.10(外网)

关闭selinux和firewalld
Web1网站服务器 web1 ens33:192.168.2.20(内网) 关闭selinux和firewalld
Web2网站服务器 web2 ens33:192.168.2.30(内网) 关闭selinux和firewalld

注:如果是vmware虚机模拟,建议将两个网段都使用主机模式,如果一个NAT、一个主机模式,会出现LVS转发得时候TCP三次握手失败,在LVS端查看ipvsadm -Lnc,出现tcp状态为SYN_RECV,导致访问VIP页面无法访问。

2、实验拓扑

LVS-NAT模式部署_第1张图片

 如上图,其中:前台Director Server(LVS服务器)上配置VIP和DIP。VIP是虚拟IP,为公网IP。DIP是负载均衡器IP,私有IP,同时也是后台服务器指向的网关。Real Server上配置开启web服务,网关指向DIP。

3、NAT模式介绍

(下图IP并非本次实验实际IP,仅供模式介绍参考)

LVS-NAT模式部署_第2张图片 NAT模式实际是将LVS当成路由器(linux系统本身也是软路由),将外网IP请求转换成内网IP,并按照指定算法(比如轮询),将请求转发给Real Server。其中web服务器收到请求的source源地址和destination目的地址不是一个网段,所以要配网关,web服务器的网关就是LVS服务器的地址,LVS有两个网段地址,web网关地址应选择与自己同网段的那个IP。

 二、LVS-NAT模式部署

1、给lvs服务器安装LVS

#lvs实际已经集成到linux内核中,这里ipvsadm只是lvs管理工具
yum install ipvsadm -y

【ipvsadm命令】:

创建虚拟服务器

  • -A     添加虚拟服务器
  • -t      设置集群地址(VIP) tcp/udp,-t代表tcp,-u代表udp,后面跟集群IP,VIP
  • -s      指定调度算法,其中:

                         rr表示轮询;

                         wrr表示加权轮询;

                         lc最小连接;

                         wlc加权最小连接;

                         sh源地址哈希

2、新建LVS集群

ipvsadm -A -t 192.168.1.10:80 -s rr

ipvsadm -Ln  #查看集群规则

LVS-NAT模式部署_第3张图片

3、添加Real Server服务器节点

ipvsadm添加、删除服务器节点参数:

-a      添加真实服务器

-d      删除真实服务器

-r       指定真实服务器(Real Server)的地址

-m     使用NAT模式;另外 -g 对应DR模式、-i 对应TUN模式

-w     为节点服务器设置权重,默认为1,只有设置加权轮询或者加权最小连接才生效

#将两个web服务器加入LVS集群,-m表示为NAT模式
ipvsadm -a -t 192.168.1.10:80 -r 192.168.2.20:80 -m
ipvsadm -a -t 192.168.1.10:80 -r 192.168.2.30:80 -m

#补充:如果想删除节点,将-a换成-d即可
#ipvsadm -d -t 192.168.1.10:80 -r 192.168.2.30:80 -m
#查看规则
ipvsadm -Ln

LVS-NAT模式部署_第4张图片

 如上图,当用户访问192.168.1.10:80的时候,LVS就会将请求平均轮询到192.168.2.20:80和192.168.2.30:80服务器上,Masq代表NAT模式。

4、开启路由转发

因为LVS的工作原理是路由转发,所以LVS调度服务器需要开启路由转发

vim /etc/sysctl.conf   #添加内容如下

sysctl -p  #生效配置
cat /proc/sys/net/ipv4/ip_forward   #验证是否已打开

5、给后端web服务器配置网关

         原理:前台LVS调度服务器上配置VIP和DIP。VIP是虚拟IP,为公网IP。DIP是负载均衡器IP,私有IP,同时也是后台服务器指向的网关。real server上配置开启httpd服务,网关指向DIP。

        在虚拟机环境中,前台负载均衡服务器上的两个网卡可以用桥接和仅主机模式实现。DIP和后台real server的Ip要求在统一网段。

        同时确保防火墙关闭或对实验主机放行。建议关闭selinux。记得开启real server的80端口。

(1)给Web1服务器配置网关

nmcli connection modify ens33 ipv4.method manual ipv4.gateway 192.168.1.10

nmcli connection down ens33 && nmcli connection up ens33   #重启网卡

(2)给Web2服务器配置网关

nmcli connection modify ens33 ipv4.method manual ipv4.gateway 192.168.1.10

nmcli connection down ens33 && nmcli connection up ens33   #重启网卡

6、效果测试

(1)准备Web服务

在web1和web2服务器分别搭建一个监听端口为80的web服务器,可以使用Nginx、tomcat等可以,并在html页面做好标识,以便测试效果:

Nginx安装、配置与概述_桂安俊@kylinOS的博客-CSDN博客

(2)客户端测试

访问LVS调度服务器的外网IP:

LVS-NAT模式部署_第5张图片

如上可以看到轮询负载均衡效果。

注:如果使用客户端浏览器测试轮询,应使用火狐浏览器(ctrl+f5强制刷新),使用谷歌和360浏览器测试发现不会轮询,始终访问的一个IP。

你可能感兴趣的:(负载均衡LB,lvs,负载均衡,NAT模式,ipvsadm)