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

      /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的服务器:

      mount.nfs 192.168.20.14:/opt/kgc /var/www/html/
      echo "hello,here is kgc" > /var/www/html/index.html

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

      192.168.20.14:/opt/kgc /var/www/html nfs defaults,_netdev 0 0


      mount -a(刷新)

      192.168.20.13的服务器:

      mount.nfs 192.168.20.14:/opt/dzd /var/www/html/
      echo 'hello,i am dzd' > /var/www/html/index.html

      vim /etc/fstab

      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

      net.ipv4.ip_forward=1


      sysctl -p
       

      iptables -t nat -F(删nat表)
      iptables -F(以防出意外可以全删掉,工作中请不要这样)
      iptables -t nat -vnL(查看一下nat表是不是删干净了)

      添加规则

      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. 测试:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/228008.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day41 使用listwidget制作简易图片播放器

1.简介 使用QlistWidget实现简易图片播放器,可以打开一个图片序列,通过item的单击事件实现图片的切换,通过设置list的各种属性实现图片预览的显示,美化滚动条即可实现一个简易图片播放器。 2.效果 3.实现步骤: 1.初始…

C语言——计算Fibonacci数列

方式一 for循环 (20位) #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int n;int a[20]{1,1};for ( n 1; n <20; n){a[n]a[n-2]a[n-1];}for ( n 0; n < 20; n){if(n%50)printf("\n");printf("%12d ",a[n]);}return 0; …

AT89S52单片机的定时器

目录 定时器/计数器的结构 工作方式控制寄存器TMOD和TCON 定时器/计数器T1、T0的4种工作方式 1.方式0 2.方式1 3.方式2 4.方式3 定时器/计数器T2的结构与工作方式 1.T2的特殊功能寄存器T2MOD和T2CON 2.特殊功能寄存器T2CON 3.T2的三种工作模式 1. 捕捉方式 2.重新…

ArrayList和顺序表

目录 线性表 顺序表 实现顺序表&#xff1a; 1&#xff0c;添加元素的时候我们要判断是否需要扩容 2&#xff0c;写异常 3,数组清空 ArrayList&#xff1a; ArrayList的构造方法&#xff1a; ArrayList的add方法&#xff1a; ArrayList的subList 知识点补充&#xff…

Spark---SparkCore(三)

一、Spark广播变量和累加器 1、广播变量 1&#xff09;、广播变量理解图 2&#xff09;、广播变量使用 val conf new SparkConf() conf.setMaster("local").setAppName("brocast") val sc new SparkContext(conf) val broadCast sc.broadcast(list) …

js相同字符串截取拼接

原数据 const list [999-1234567801,999-1234567802,999-1234567803, ]; const list1 [999-1234567899,999-1234567900,999-1234567901, ];期望数据 999-1234567801/2/3 //list 999-1234567899/900/901 //list1处理代码 // 连续号码处理 export const formatNumber (tick…

ESP32-Web-Server 实战编程-通过网页控制设备的 GPIO

ESP32-Web-Server 实战编程-通过网页控制设备的 GPIO 概述 前述博客讲解了 Web 编程的基本知识&#xff0c;包括 HTML、CSS、JavaScript 三个部分&#xff0c;从这节开始&#xff0c;我们进入实战部分&#xff0c;在实际项目中进一步学习 ESP32-Web 编程。 GPIO &#xff08…

【沁恒蓝牙mesh】CH58x 将RTC时钟切换为LSE外部低速时钟

本文主要记录了【沁恒蓝牙mesh】CH58x 如何将RTC时钟切换为外部时钟 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是喜欢记录零碎知识点的小菜鸟。&#x1f60e;&#x1f4dd; 个人主页&#xff1a;欢迎访问我的 Ethernet_Comm 博客主页&#x1f525;&#x1f389;…

UE5、CesiumForUnreal实现加载GeoJson绘制多面(MultiPolygon)功能(支持点选高亮)

文章目录 1.实现目标2.实现过程2.1 数据与预处理2.2 GeoJson解析2.3 Mesh构建与属性存储2.4 核心代码2.5 材质2.6 蓝图应用测试3.参考资料1.实现目标 在之前的文章中,基于GeoJson数据加载,实现了绘制单面功能,但只支持单个要素Feature。本文这里实现对Geojson内所有面要素的…

基于可微分渲染器的相机位置优化【PyTorch3D】

在这个教程中&#xff0c;我们将使用可微渲染学习给定参考图像的相机的 [x, y, z] 位置。 我们将首先使用相机的起始位置初始化渲染器。 然后&#xff0c;我们将使用它来生成图像&#xff0c;使用参考图像计算损失&#xff0c;最后通过整个管道进行反向传播以更新相机的位置。…

【TC3xx芯片】TC3xx芯片的Clock System功能详解

目录 前言 正文 1.时钟源 1.1 有源晶振和无源晶振 1.1.1 无源晶振 1.1.2 有源晶振 1.1.3 有源晶振和无源晶振的区别 1.1 振荡器电路&#xff08;OSC&#xff09; 1.1.1外部输入时钟模式 1.1.2 外部晶体 / 陶瓷谐振器模式 1.1.3 OSC控制寄存器 1.1.4 配置OSC 1.1.5…

Java高级技术(单元测试)

一&#xff0c;概括 二&#xff0c;junit 三&#xff0c;案例 &#xff08;1&#xff09;&#xff0c;实验类 package com.bilibili;public class Name {public static void main(String name) {if (name null){System.out.println("0");return;}System.out.print…