LVS-NAT实验

实验前准备:

LVS负载调度器:ens33:192.168.20.11 ens34:192.168.188.3

Web1节点服务器1:192.168.20.12

Web2节点服务器2:192.168.20.13

NFS服务器:192.168.20.14

客户端(win11):192.168.188.1(使用的是本机,非虚拟机)

  1. 部署共享存储(NFS服务器:192.168.20.14)

    1. 关闭防火墙

      systemctl stop firewalld.service

      systemctl disable firewalld.service

      setenforce 0

    2. 安装nfs服务

      yum install -y nfs-utils rpcbind

    3. 启动服务

      systemctl start nfs.service

      systemctl start rpcbind.service

      systemctl enable nfs.service

      systemctl enable rpcbind.service

    4. 创建两个目录作为共享目录

      mkdir /opt/kgc /opt/dzd

      chmod 777 /opt/kgc /opt/dzd

    5. 配置共享文件并发布共享

      exportfs -rv

      bash 复制代码
      /usr/share *(ro,sync)
      /opt/kgc 192.168.20.0/24(rw,sync)
      /opt/dzd 192.168.20.0/24(rw,sync)

      showmount -e

  2. 配置节点服务器(192.168.20.12 192.168.20.13)

    1. 关闭防火墙

    2. 安装httpd服务

      yum install -y httpd

      systemctl start httpd.service

      systemctl enable httpd.service

    3. 安装nfs服务

      yum install -y nfs-utils rpcbind

      systemctl start rpcbind.service

      systemctl enable rpcbind.service

      查看共享情况

      showmount -e 192.168.20.14

    4. 挂载共享目录

      192.168.20.12的服务器:

      bash 复制代码
      mount.nfs 192.168.20.14:/opt/kgc /var/www/html/
      echo "hello,here is kgc" > /var/www/html/index.html

      vim /etc/fstab(进行永久挂载)

      bash 复制代码
      192.168.20.14:/opt/kgc /var/www/html nfs defaults,_netdev 0 0

      mount -a(刷新)

      192.168.20.13的服务器:

      bash 复制代码
      mount.nfs 192.168.20.14:/opt/dzd /var/www/html/
      echo 'hello,i am dzd' > /var/www/html/index.html

      vim /etc/fstab

      bash 复制代码
      192.168.20.14:/opt/dzd /var/www/html nfs defaults,_netdev 0 0

      mount -a

  3. 配置负载调度器LVS(ens33:192.168.20.11 ens34:192.168.188.3)

    1. 关闭防火墙

    2. 配置SNAT转发规则

      vim /etc/sysctl.conf

      bash 复制代码
      net.ipv4.ip_forward=1

      sysctl -p

      iptables -t nat -F(删nat表)

      iptables -F(以防出意外可以全删掉,工作中请不要这样)

      iptables -t nat -vnL(查看一下nat表是不是删干净了)

      添加规则

      bash 复制代码
      iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -o ens34 -j SNAT --to-source 192.168.188.3
    3. 加载LVS内核模块

      modprobe ip_vs #手动加载ip_vs模块

      cat /proc/net/ip_vs #查看ip_vs版本信息

    4. 安装ipvsadm管理工具

      yum install -y ipvsadm

      启动服务前必须保存负载分配策略,否则将会报错

      ipvsadm-save > /etc/sysconfig/ipvsadm

      systemctl start ipvsadm.service

    5. 配置负载分配策略

      ipvsadm -C #清除原有策略

      ipvsadm -A -t 192.168.188.3:80 -s rr

      ipvsadm -a -t 192.168.188.3:80 -r 192.168.20.12:80 -m -w 1

      ipvsadm -a -t 192.168.188.3:80 -r 192.168.20.13:80 -m -w 1

      ipvsadm #启动策略

      ipvsadm -ln #查看节点状态,Masq代表 NAT模式

      ipvsadm-save > /etc/sysconfig/ipvsadm #保存策略

  4. 测试:

相关推荐
你好潘先生1 天前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
orion571 天前
Missing Semester Class1:course overview and introduction of shell
linux
用户120487221612 天前
Linux驱动编译与加载
linux·嵌入式
程序员老赵2 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
vivo互联网技术2 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户805533698032 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698032 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux