部署LVS的NAT模式

实验准备


#负载调度器#
192.168.116.40       #内网
12.0.0.100          #外网
先添加双网卡
 
#web服务器#
192.168.116.20       #web1
192.168.116.30       #web2
 
#nfs共享服务#
192.168.116.10       #nfs
 
systemctl stop firewalld
setenforce 0
 

1.nfs共享文件

1.在主机上准备

 yum install -y rpcbind nfs-utils

准备共享目录

[root@test01 ~]# mkdir /var/www/html/{accp,benet} -p
[root@test01 ~]# cd /var/www/html
[root@test01 html]# ls
accp  benet

准备网页内容

[root@test01 html]# echo '<h1>this is test web01 page!</h1>' > accp/test.html
[root@test01 html]# echo '<h1>this is test web02 page!</h1>' > benet/test.html

 做共享操作: vim /etc/exports,共享本机的文件目录

/var/www/html/accp 192.168.116.0/24(rw,sync,no_squash)
/var/www/html/benet 192.168.116.0/24(rw,sync,no_squash)

设置开机自启并启动

systemctl enable --now rpcbind nfs

用exportfs -rv刷新,再用showmount -e,查看是否共享出去

2.在第二台服务器上

完成关闭防火墙,showmount -e 主机的ip地址,查看是否能获得共享

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# showmount -e 192.168.116.10
Export list for 192.168.116.10:
/var/www/html/benet 192.168.116.0/24
/var/www/html/accp  192.168.116.0/24

3.第三台也是如此 

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# showmount -e 192.168.116.10
Export list for 192.168.116.10:
/var/www/html/benet 192.168.116.0/24
/var/www/html/accp  192.168.116.0/24

 2.准备节点服务器

1.安装nginx(给两台服务器都安装)

2.查看nginx的配置文件

vim nginx.conf,发现网页根目录位置在这

[root@localhost nginx]# cd conf.d/
[root@localhost conf.d]# ls
default.conf
[root@localhost conf.d]# vi default.conf

 

3. 将目录下面文件移到/opt目录下,然后将主机的/var/www/html/benet永久挂载到当前服务器的此目录下

 永久挂载:/etc/fstab

 

 mount -a|df -h

 

 再将原来移走的html文件移动回来

 到第二台服务器上也是如此配置,挂载共享目录选择accp

 把长连接等待关闭,vim/usr/nginx/nginx.conf,调为0,别忘了调完重启nginx!!

 3.做LVS负载均衡器

准备一个网关服务器,配置网卡,要一头对内一头对外,配置完后重启

ens33:192.168.116.40

ens36:12.0.0.100

修改网卡地址段,

 开一台window主机做客户端

配置网络适配器

配置完后ping测是否成功

配置完记得重启网卡和nginx

在网关服务器上配置路由转发功能

vim /etc/sysctl.conf

 查看有没有生效

[root@www network-scripts]# sysctl -p
net.ipv4.ip_forward = 1
[root@www network-scripts]# cat /proc/sys/net/ipv4/ip_forward
1

4.加载模块

  modprobe ip_vs

[root@www network-scripts]# cat /proc/net/ip_vs          #查看是否开启成功
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn
 

 

 在网关服务器里安装ipvsadm,并开启

搭建本地yum源

[root@www yum.repos.d]# yum -y install ipvsadm

[root@www yum.repos.d]# ipvsadm-save >/etc/sysconfig/ipvsadm
[root@www yum.repos.d]# systemctl start ipvsadm

[root@www yum.repos.d]# ipvsadm -C#清空策略
[root@www yum.repos.d]# ipvsadm -A -t 12.0.0.100:80  -s rr

                                           #添加一个调度策略,并设置为轮询

 [root@www yum.repos.d]# ipvsadm -a -t 12.0.0.100:80 -r 192.168.116.20:80 -m

                                         #配置指定服务器1地址
[root@www yum.repos.d]# ipvsadm -a -t 12.0.0.100:80 -r 192.168.116.30:80 -m

                                        #配置指定服务器2地址
[root@www yum.repos.d]# ipvsadm#重新加载

 

5.进入客户端测试

访问调度器的地址,刷新,轮询到另外一台

此时~!LVS的NAT模式搭建成功

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

9ACL访问控制列表

为什么要有访问控制&#xff08;Access Control List&#xff09;&#xff1f; 因为我可能在局域网中提供了一些服务&#xff0c;我只希望合法的用户可以访问&#xff0c;其他非授权用户不能访问。 原理比较简单&#xff0c;通过对数据包里的信息做过滤&#xff0c;实现访问控…

Gitee基础知识

目录 1-gitee 1.1gitee介绍 1.2git与gitee的关系 1.3在国内为什么选择Gitee 2-注册与创建远程仓库 2.1注册 2.2创建远程仓库 2.3配置ssh公钥 2.3.1公钥的生成方法&#xff1a; 2.3.2 在gitee中配置公钥 2.3.4验证公钥 3-添加与推送远程仓库master 3.1基本命令…

Nginx快速入门:Nginx应用场景、安装与部署(一)

1. Nginx简介 Nginx 是一个高性能的 HTTP 和反向代理服务器&#xff0c;也是一个非常流行的开源 Web 服务器软件。它是由俄罗斯程序员 Igor Sysoev 开发的&#xff0c;最初是为了解决在高并发场景下的C10k 问题&#xff08;即一个服务器进程只能处理 10,000 个并发连接&#x…

vue 学习笔记

生命周期 1&#xff09;定义&#xff1a;vue实例从创建到销毁的过程 2&#xff09;钩子函数 2.1&#xff09;beforeCreate&#xff1a;vue实例初始化之前调用&#xff0c;这个阶段vue实例刚刚在内存中创建&#xff0c;此时data和methods这些都没初始化好。 2.2&#xff09;Cre…

接口定义语言idl——thrift

thritf thrift是facebook开元的接口定义语言IDL(Interface Definition Languge)&#xff0c;用于进行跨语言的接口定义从而实现不同语言之间的远程通讯。 不同的开发语言使用idl定义接口都会生成其本身的语法接口&#xff0c;idl忽略的语言的差异从而实现了远程调用。每个idl…

BearPi Std 板从入门到放弃 - 先天神魂篇(9)(RT-Thread DAC->ADC)

简介 RT-Thread DAC->ADC 使用, 就是DAC1输出模拟量, ADC1 读取模拟量转化成电压值, 基于开发板 &#xff1a; Bearpi Std(小熊派标准板)主芯片: STM32L431RCT6串口: Usart1DAC1: PA5, OUT2ADC1: PC2, IN3将板子上的E53 接口, 5 和 6用排线相连, 即实现内部DAC1->ADC1 …

C语言入门(字符串正反连接(fgets()、gets()用法))

目录 ​编辑 题目描述 输入格式 输出格式 样例输入 样例输出 解题思路 题目描述 所给字符串正序和反序连接&#xff0c;形成新串并输出 输入格式 任意字符串&#xff08;长度<50&#xff09; 输出格式 字符串正序和反序连接所成的新字符串 样例输入 123abc 样例输出 12…

【VScode】设置语言为中文

1、下载安装好vscode 2、此时可看到页面为英文&#xff0c;为方便使用可切换为中文 3、键盘按下 ctrlshiftP 4、在输入框内输入configure display language 5、选择中文&#xff0c;restart即可&#xff08;首次会有install安装过程&#xff0c;等待安装成功后重启即可&am…

【玩转Node.JS】=> 之 Buffer(缓冲器)

Node.js 是一个开源、跨平台的 JavaScript 运行时环境 文章目录 Buffer 概念Buffer 的特点创建 BufferBuffer 与字符串的转化 Buffer 的读写 Buffer 概念 Buffer 是一个类似于数组的 对象 &#xff0c;用于表示固定长度的字节序列Buffer 本质是一段内存空间&#xff0c;专门用…

2018年第七届数学建模国际赛小美赛A题空中加油飞行计划解题全过程文档及程序

2018年第七届数学建模国际赛小美赛 A题 空中加油飞行计划 原题再现&#xff1a; 太平洋中部一个小岛上的居民被自然灾害困住。救援人员需要派遣一架轻型飞机运送少量急救药品到岛上&#xff0c;并运送一名重伤者到医疗基地求救。岛上有一个无人值守的简易机场&#xff0c;可以…

css+html横向滚动+固定宽

没什么好说的&#xff0c;快上代码&#xff01; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Do…

2023.12.16 帆软report 官方模板表练习,pymysql

import pymysql# 建立与数据库的连接 conn1 pymysql.connect(host192.168.88.100,port3306,userroot,password123456,dbshopnc_db ) conn2 pymysql.connect(host192.168.88.100,port3306,userroot,password123456,dbbi_db ) # 2.创建游标对象 c1 conn1.cursor() # 3.编写sql…

OpenSSL 3.2.0新增Argon2支持——防GPU暴力攻击

1. 引言 OpenSSL新发布的3.20版本中&#xff0c;引入了一些新特性&#xff0c;包括&#xff1a; post-quantum方法Brainpool曲线QUICArgon2&#xff1a;Argon2 是一种慢哈希函数&#xff0c;在 2015 年获得 Password Hashing Competition 冠军&#xff0c;利用大量内存计算抵…

【面试】Java最新面试题资深开发-微服务篇(1)

问题九&#xff1a;微服务 什么是微服务架构&#xff1f;它与单体架构相比有哪些优势和劣势&#xff1f;解释一下服务发现和服务注册是什么&#xff0c;它们在微服务中的作用是什么&#xff1f;什么是API网关&#xff08;API Gateway&#xff09;&#xff1f;在微服务中它有何…

[学习笔记]批量迁移数据库文件

拷贝数据库文件 首先在本地运行如下SQL语句&#xff0c;查看数据库文件的磁盘位置 SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files默认是保存在C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA目录下 首先复制数据…

mybatis.interceptor.exception.SqLValidateException:Ilegal SQL::......

现象&#xff1a;⬇️ 描述&#xff1a;执行 SQL 没问题&#xff0c;应用代码报错 ⬇️ .mybatis.interceptor.exception.SqLValidateException&#xff1a;Ilegal SQL::SELECT voucherNo FROM voucher ORDER BY CAST(SUBSTRING(voucherNo FROM LOCATE(_, voucherNo) 1) AS U…

C语言KR圣经笔记 4.4作用域规则 4.5头文件 4.6静态变量

4.4 作用域规则 构成一个 C 程序的函数以及外部变量&#xff0c;不需要全都同时编译&#xff1b;程序的源代码可以放在多个源文件中&#xff0c;并且之前编译好的例程可以从库里面加载。需要关心的问题有&#xff1a; 要怎么写声明&#xff0c;才能使变量在编译期间被正确声明…

网络编程『socket套接字 ‖ 简易UDP网络程序』

&#x1f52d;个人主页&#xff1a; 北 海 &#x1f6dc;所属专栏&#xff1a; Linux学习之旅、神奇的网络世界 &#x1f4bb;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 文章目录 &#x1f324;️前言&#x1f326;️正文1.预备知识1.1.IP地址1.2.端口号1.3.端口号与进…

三菱plc学习入门(一,认识三菱plc)

今天就开始对三菱的plc软件入一个门&#xff0c;希望小编的文章对读者和初学者有所帮助&#xff01;欢迎评论指正&#xff0c;废话不多说&#xff0c;下面开始学习。 目录 plc的型号介绍 M表示什么&#xff1f; T表示什么&#xff1f; R表示什么&#xff1f; 为什么三菱没…

Pytorch nn.Linear()的基本用法与原理详解及全连接层简介

主要引用参考&#xff1a; https://blog.csdn.net/zhaohongfei_358/article/details/122797190 https://blog.csdn.net/weixin_43135178/article/details/118735850 nn.Linear的基本定义 nn.Linear定义一个神经网络的线性层&#xff0c;方法签名如下&#xff1a; torch.nn.Li…