千家信息网

LVS负载均衡群集之NAT模式搭建环境及操作步骤详解

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,下文给大家带来LVS负载均衡群集之NAT模式搭建环境及操作步骤详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一
千家信息网最后更新 2026年10月31日LVS负载均衡群集之NAT模式搭建环境及操作步骤详解

下文给大家带来LVS负载均衡群集之NAT模式搭建环境及操作步骤详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。

实验原理图

实验环境

  • LVS调度器作为web云服务器池的网关
  • LVS服务器配置两块网卡分别连接内外网
  • 使用轮询(rr)调度算法
  • LVS负载调度器网段规划 内网33网关:192.168.144.1 外网36:12.0.0.1
  • web1 192.168.144.151
  • web2 192.168.144.170
  • nfs服务器 192.168.144.145
  • client测试机 12.0.0.12

实践操作

在NFS服务器上添加两块硬盘,做共享存储使用,格式化
  • 在虚拟机上添加硬盘
[root@nfs ~]# fdisk /dev/sdb         //分区令(输入 m 获取帮助):n                //创建新分区Partition type:     p   primary (0 primary, 0 extended, 4 free)     e   extendedSelect (default p): p                //主分区分区号 (1-4,默认 1):                 //回车默认选项起始 扇区 (2048-41943039,默认为 2048):    //回车默认选项将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):      //回车默认选项将使用默认值 41943039分区 1 已设置为 Linux 类型,大小设为 20 GiB命令(输入 m 获取帮助):w        //保存[root@nfs ~]# mkfs.xfs /dev/sdb1           //格式化磁盘##以上操作格式化/dev/sdc磁盘[root@nfs ~]# mkdir /opt/kgc /opt/accp         //创建挂载点[root@nfs ~]# vim /etc/fstab                  //创建自动挂载 .../dev/sdb1       /opt/kgc        xfs     defaults        0 0       //编辑自动挂载条目/dev/sdc1       /opt/accp       xfs     defaults        0 0[root@nfs ~]# mount -a                                 //刷新挂载[root@nfs ~]# df -hT                                   //查看磁盘挂载情况文件系统       类型      容量  已用  可用 已用% 挂载点/dev/sdb1      xfs        20G   33M   20G    1% /opt/kgc/dev/sdc1      xfs        20G   33M   20G    1% /opt/accp[root@nfs ~]# systemctl stop firewalld.service                 //关闭防火墙[root@nfs ~]# setenforce 0[root@nfs ~]# rpm -q nfs-utils                         //查看nfs两个包是否安装nfs-utils-1.3.0-0.48.el7.x86_64[root@nfs ~]# rpm -q rpcbindrpcbind-0.2.0-42.el7.x86_64[root@nfs ~]# vim /etc/exports                       //配置共享存储配置文件.../opt/kgc        192.168.144.0/24(rw,sync,no_root_squash)      //支持144网段读写,同步,不支持降级处理/opt/accp       192.168.144.0/24(rw,sync,no_root_squash)
把NFS服务器切换为仅主机模式,启动服务

[root@nfs ~]# systemctl start nfs       //开启nfs服务[root@nfs ~]# systemctl start rpcbind[root@nfs ~]# showmount -e                //查看提供共享信息Export list for nfs:/opt/accp 192.168.144.0/24/opt/kgc  192.168.144.0/24[root@nfs ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33      //修改网卡信息BOOTPROTO=static                        //改为静态IPADDR=192.168.144.145                   //添加地址,子网掩码,网关NETMASK=255.255.255.0GATEWAY=192.168.144.1[root@nfs ~]# service network restart          //重启网络
在web1,web2上安装http服务,切换网卡为仅主机模式
  • web1服务器
    [root@web1 ~]# yum install httpd -y       //安装web服务[root@web1 ~]# systemctl stop firewalld.service   //关闭防火墙[root@web1 ~]# setenforce 0[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33     //修改网卡信息BOOTPROTO=static               //改为静态...IPADDR=192.168.144.151                 //添加地址,子网掩码,网关NETMASK=255.255.255.0GATEWAY=192.168.144.1[root@web1 ~]# service network restart [root@web1 ~]# showmount -e 192.168.144.145       //查看nfs共享信息Export list for 192.168.144.145:/opt/accp 192.168.144.0/24/opt/kgc  192.168.144.0/24[root@web1 ~]# vim /etc/fstab                   //设置自动挂载192.168.144.145:/opt/kgc         /var/www/html   nfs     defaults,_netdev 0 0                   //挂载到站点中,模式为nfs,默认网络设备[root@web1 ~]# mount -a                    //刷新挂载[root@web1 ~]# df -hT                    //查看磁盘挂载信息文件系统                 类型      容量  已用  可用 已用% 挂载点192.168.144.145:/opt/kgc nfs4       20G   32M   20G    1% /var/www/html[root@web1 ~]# echo "this is kgc web" >  /var/www/html/index.html              //创建网页[root@web1 ~]# systemctl start httpd.service                     //启动web服务
  • web2服务器
    [root@web2 ~]# yum install httpd -y        //安装web服务[root@web2 ~]# systemctl stop firewalld.service      //关闭防火墙[root@web2 ~]# setenforce 0[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33      //修改网卡信息BOOTPROTO=static               //改为静态...IPADDR=192.168.144.170              //添加地址,子网掩码,网关NETMASK=255.255.255.0GATEWAY=192.168.144.1[root@web2 ~]# service network restart [root@web2 ~]# showmount -e 192.168.144.145           //查看nfs共享信息Export list for 192.168.144.145:/opt/accp 192.168.144.0/24/opt/kgc  192.168.144.0/24[root@web2 ~]# vim /etc/fstab                //设置自动挂载192.168.144.145:/opt/accp         /var/www/html   nfs     defaults,_netdev 0 0     //挂载到站点中,模式为nfs,默认网络设备[root@web2 ~]# mount -a              //刷新挂载[root@web2 ~]# df -hT                 //查看磁盘挂载信息文件系统                 类型      容量  已用  可用 已用% 挂载点192.168.144.145:/opt/accp nfs4       20G   32M   20G    1% /var/www/html[root@web2 ~]# echo "this is accp web" >  /var/www/html/index.html              //创建网页[root@web2 ~]# systemctl start httpd.service               //启动web服务
    在lvs负载调度器上添加两块网卡并设置路由转发
    [root@lvs ~]# yum install ipvsadm -y  ##安装ipvsadm调度管理工具
  • 添加外网的网卡,并切换为仅主机模式
    [root@lvs ~]# cd /etc/sysconfig/network-scripts[root@lvs network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36      //复制网卡配置文件为ens36配置文件[root@lvs network-scripts]# vim ifcfg-ens33BOOTPROTO=staticIPADDR=192.168.144.1              //设置内网网关ipNETMASK=255.255.255.0[root@lvs network-scripts]# vim ifcfg-ens36BOOTPROTO=static                 //删除UUIDNAME=ens36                        //修改为36DEVICE=ens36IPADDR=12.0.0.1              //设置外网网关NETMASK=255.255.255.0[root@lvs network-scripts]# service network restart     //重启网卡服务//可以在web上用ping测试能否连同网关[root@lvs network-scripts]# vim /etc/sysctl.conf             //路由转发配置文件net.ipv4.ip_forward=1                          //开启路由转发[root@lvs network-scripts]# sysctl -p          //加载路由转换功能[root@lvs network-scripts]# iptables -F        //清除转发表[root@lvs network-scripts]#     iptables -t nat -F      //清除nat地址转换表[root@lvs network-scripts]# iptables -t nat -A  POSTROUTING -o ens36 -s 192.168.144.0/24 -j SNAT --to-source 12.0.0.1      //指定nat地址转换表,指定数据流出接口,指定原ip地址,指定源地址转换SNAT,指定转换的ip地址
    加载lvs内核模块,配置管理软件ipvsadm
    [root@lvs network-scripts]# modprobe ip_vs               //加载lvs内核[root@lvs network-scripts]# cat /proc/net/ip_vs            //查看ipvs信息IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn[root@lvs network-scripts]# ipvsadm --save > /etc/sysconfig/ipvsadm          //centos7必须要先保存[root@lvs network-scripts]# systemctl start ipvsadm                      //启动ipvsadm服务[root@lvs network-scripts]# vim /opt/nat.sh                       //编写ipvsadm脚本#!/bin/bashipvsadm -C                      //清空ipvs缓存ipvsadm -A -t 12.0.0.1:80 -s rr       //指定虚拟服务访问入口,指定轮询算法ipvsadm -a -t 12.0.0.1:80 -r 192.168.144.151:80 -m             //指定真实服务器,nat模式ipvsadm -a -t 12.0.0.1:80 -r 192.168.144.170:80 -mipvsadm               //启动[root@lvs network-scripts]# chmod +x /opt/nat.sh              //给执行权限[root@lvs network-scripts]# cd /opt/  [root@lvs opt]# ./nat.sh                             //启动脚本IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConnTCP  lvs:http rr-> 192.168.144.151:http          Masq    1      0          0         -> 192.168.144.170:http          Masq    1      0          0 
    用client测试机(仅主机模式)访问12.0.0.1

  • 看了以上关于LVS负载均衡群集之NAT模式搭建环境及操作步骤详解,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。


0