• 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网站服务器web1ens33:192.168.2.20(内网)关闭selinux和firewalld
    Web2网站服务器web2ens33:192.168.2.30(内网)关闭selinux和firewalld

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

    2、实验拓扑

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

    3、NAT模式介绍

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

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

     二、LVS-NAT模式部署

    1、给lvs服务器安装LVS

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

    【ipvsadm命令】:

    创建虚拟服务器

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

                             rr表示轮询;

                             wrr表示加权轮询;

                             lc最小连接;

                             wlc加权最小连接;

                             sh源地址哈希

    2、新建LVS集群

    1. ipvsadm -A -t 192.168.1.10:80 -s rr
    2. ipvsadm -Ln #查看集群规则

    3、添加Real Server服务器节点

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

    -a      添加真实服务器

    -d      删除真实服务器

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

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

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

    1. #将两个web服务器加入LVS集群,-m表示为NAT模式
    2. ipvsadm -a -t 192.168.1.10:80 -r 192.168.2.20:80 -m
    3. ipvsadm -a -t 192.168.1.10:80 -r 192.168.2.30:80 -m
    4. #补充:如果想删除节点,将-a换成-d即可
    5. #ipvsadm -d -t 192.168.1.10:80 -r 192.168.2.30:80 -m
    1. #查看规则
    2. ipvsadm -Ln

     如上图,当用户访问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服务器配置网关

    1. nmcli connection modify ens33 ipv4.method manual ipv4.gateway 192.168.1.10
    2. nmcli connection down ens33 && nmcli connection up ens33 #重启网卡

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

    1. nmcli connection modify ens33 ipv4.method manual ipv4.gateway 192.168.1.10
    2. nmcli connection down ens33 && nmcli connection up ens33 #重启网卡

    6、效果测试

    (1)准备Web服务

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

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

    (2)客户端测试

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

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

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

  • 相关阅读:
    Solidity中的变量种类以及常见的全局变量
    【Mysql】Lock wait timeout exceeded; try restarting transaction
    @Validated和@Valid 区别
    DOM系列之创建元素
    网安面经之文件上传漏洞
    7.2 通过API创建新进程
    什么是容器
    不说废话,推荐一款超实用免费配音软件~
    DuckDB优化器之Filter提升
    Centos7 系统开通后修改数据盘挂载目录
  • 原文地址:https://blog.csdn.net/qq_28903377/article/details/127937765