LVS 负载均衡部署 NAT模式

news2025/2/26 23:08:25

一、环境准备

配置环境:

负载调度器:配置双网卡 内网:172.168.1.11(ens33)  外网卡:12.0.0.1(ens37)

二台WEB服务器集群池:172.168.1.12、172.168.1.13    

一台NFS共享服务器:172.168.1.14

客户端:

关闭防火墙和selinux

[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce 0

二、部署共享存储(NFS服务器:172.168.1.14)

1. 启动 nfs 服务

yum install nfs-utils rpcbind -y
#安装nfs服务

systemctl start nfs

2. 新建目录,并创建站点文件

[root@localhost opt]#mkdir /opt/test1 /opt/test2
[root@localhost opt]#echo 'this is test1!' > /opt/test1/index.html
[root@localhost opt]#echo 'this is test2!' > /opt/test2/index.html

3. 设置共享策略

[root@localhost opt]#vim /etc/exports

/opt/test1 *
/opt/test2 *

[root@localhost ~]#exportfs -rv
#发布服务

三、部署节点服务器(172.168.1.12、172.168.1.13)

[root@localhost ~]#rpm -qa |grep nfs
[root@localhost ~]#showmount -e 172.168.1.14
#查看nfs服务

1. 节点服务器1(172.168.1.12)

1.1 安装 httpd 服务

[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# 

1.2 挂载站点

mount 172.168.1.14:/opt/test1 /var/www/html

1.3 测试

2. 节点服务器2(172.168.1.13)

 2.1 安装 httpd 服务

[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# 

 2.2 挂载站点

mount 172.168.1.14:/opt/test2 /var/www/html

2.3 测试

四、调度服务器

1. 添加一块网卡

2. 配置新网卡

[root@localhost ~]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]#vim ifcfg-ens36

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=12.0.0.1
NETMASK=255.255.255.0
GATEWAY=12.0.0.1
DNS1=8.8.8.8
DNS2=114.114.114.114

3. 配置 ens33 网卡

vim ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e6eab2a6-16f2-4b63-b5ba-f08de4938357
DEVICE=ens33
ONBOOT=yes
IPADDR=172.168.1.11
NETMASK=255.255.255.0
GATEWAY=172.168.1.11
DNS1=8.8.8.8
DNS2=114.114.114.114

[root@localhost network-scripts]#systemctl restart network
[root@localhost network-scripts]#ip a

4. 打开路由转发功能

[root@localhost network-scripts]#vim /etc/sysctl.conf
#打开路由转发功能
net.ipv4.ip_forward = 1 
[root@localhost network-scripts]#sysctl -p
net.ipv4.ip_forward = 1

5. 安装 ipvsadm

5.1 网络源安装

yum install ipvsadm* -y

5.2 本地yum仓库安装

[root@localhost network-scripts]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# vim local.repo
 
 
[local]
name=local
baseurl=file:///mnt
gpgcheck=0

[root@localhost yum.repos.d]# mount /dev/sr0 /mnt/    #挂载
[root@localhost yum.repos.d]# yum clean all    #清缓存
[root@localhost yum.repos.d]# yum makecache    #建立元信息
[root@localhost yum.repos.d]# yum install ipvsadm.x86_64 -y    #安装

6. 开启 ipvsadm 软件

[root@localhost yum.repos.d]# ipvsadm-save >/etc/sysconfig/ipvsadm
#保存配置文件
[root@localhost yum.repos.d]# systemctl start ipvsadm.service

7. 配置负载调度器 ipvsadm

[root@localhost yum.repos.d]# ipvsadm -C
#清空策略
[root@localhost yum.repos.d]# ipvsadm -A -t 12.0.0.1:80 -s rr
#指定IP地址 外网的入口  -s rr  轮询
[root@localhost yum.repos.d]# ipvsadm -a -t 12.0.0.1:80 -r 172.168.1.12:80 -m
#先指定虚拟服务器再添加真实服务器地址,-r:真实服务器地址 -m指定nat模式
[root@localhost yum.repos.d]# ipvsadm -a -t 12.0.0.1:80 -r 172.168.1.13:80 -m
#

[root@localhost yum.repos.d]# ipvsadm -ln
#查看策略
[root@localhost yum.repos.d]# ipvsadm
#启动

​​​​​​​

8. 测试

此时还有问题,需要修改一下网卡配置

[root@localhost network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# route -n

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入解析智能指针:从实践到原理

👦个人主页:晚风相伴 👀如果觉得内容对你有所帮助的话,还请一键三连(点赞、关注、收藏)哦 如果内容有错或者不足的话,还望你能指出。 目录 智能指针的引入 内存泄漏 RAII 智能指针的使用及原…

HTML Audio标签src使用base64字符

源码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>Audio src base64</title> </head> <body><audio controls><source src"data:audio/mp3;base64,//OIxAAAAAAAAAA…

springMVC入门学习

目录 1、 什么是springmvc 2、springmvc工作流程 3、 springmvc快速入门&#xff08;XML版本&#xff09; 4、加载自定义目录下的springmvc.xml配置文件 5、 解析器InternalResourceViewResolver 6、 映射器BeanNameUrlHandlerMapping 7、 适配器SimpleControllerHandle…

【C++】---继承

【C】---继承 一、继承的概念及定义1、继承的概念2、定义语法格式3、继承基类成员访问方式的变化 二、基类 和 派生类 的对象之间的赋值转换1、赋值规则2、切片&#xff08;1&#xff09;子类对象 赋值 给 父类对象&#xff08;2&#xff09;子类对象 赋值 给 父类指针&#xf…

QT:QT与操作系统

文章目录 信号槽与事件QT多线程概述原理完成倒计时程序 UDP回显服务器服务端客户端 信号槽与事件 在之前的信号槽中&#xff0c;已经有了一个基本的认识&#xff0c;那么对于QT中事件的理解其实就非常的类似&#xff0c;当用户进行某种操作的时候&#xff0c;就会触发事件&…

pytest教程-41-钩子函数-pytest_runtest_teardown

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了pytest_runtest_call钩子函数的使用方法&#xff0c;本小节我们讲解一下pytest_runtest_teardown钩子函数的使用方法。 pytest_runtest_teardown 钩子函数在每个测试用例执行完成后被调用&…

【前端】-【前端文件操作与文件上传】-【前端接受后端传输文件指南】

目录 前端文件操作与文件上传前端接受后端传输文件指南 前端文件操作与文件上传 一、前端文件上传有两种思路&#xff1a; 二进制blob传输&#xff1a;典型案例是formData传输&#xff0c;相当于用formData搭载二进制的blob传给后端base64传输&#xff1a;转为base64传输&…

【linux kernel】linux内核hid触摸源码hid-multitouch.c剖析

文章目录 一、内核中通用hid触摸驱动二、probe过程剖析(1)hid_parse()函数(2)hid_hw_start()函数(3)hid_connect()函数三、hid-multitouch.c应用场景一、内核中通用hid触摸驱动 在linux内核中,为HID触摸面板实现了一个通用的驱动程序,位于/drivers/hid/hid-multitouch.c文件…

连续活跃天数统计

连续活跃天数统计 需求说明 什么是连续出现&#xff1f; 假设有如下日期信息&#xff1a; 20230401,20230402,20230403,20230405,20230406,20230407,20230410,20230411 则&#xff1a; 20230401-20230403 为一次连续出现&#xff0c;连续出现天数为 3 20230405-20230407 为一次…

【Qt QML】ComboBox组件

ComboBox 是一个组合的按钮和弹出列表。它提供了一种以最小的屏幕空间呈现选项列表给用户的方式。ComboBox 使用数据模型填充。数据模型通常是一个 JavaScript 数组、一个 ListModel 或一个整数&#xff0c;但也支持其他类型的数据模型。 下面是一个简单的使用方式。 import …

关于Anaconda常用的命令

常用命令 查看当前环境下的环境&#xff1a;conda env list查看当前conda的版本&#xff1b;conda --version conda create -n your_env_name pythonX.X&#xff08;2.7、3.6等)命令创建python版本为X.X。名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装…

专题五_位运算(3)

目录 137. 只出现一次的数字 II 解析 题解 面试题 17.19. 消失的两个数字 解析 题解 137. 只出现一次的数字 II 137. 只出现一次的数字 II - 力扣&#xff08;LeetCode&#xff09; 解析 注意这里指的是比特位上的01来进行统计的 题解 class Solution { public:int sin…

二叉排序树(二叉搜索树)BST增删改查操作

一、定义 二叉搜索树&#xff08;Binary Search Tree&#xff0c;BST&#xff09;是一种常用的二叉树数据结构&#xff0c;具有以下特点&#xff1a; 1. **排序性质**&#xff1a;对于树中的每个节点&#xff0c;其左子树中的所有节点值都小于该节点的值&#xff0c;而右子树…

类和对象(中篇)(未完结)

文章目录 类的6个默认成员函数构造函数析构函数 类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 class Date {};空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 默…

《QT实用小工具·六十一》带动画的三角形指示箭头

1、概述 源码放在文章末尾 该项目实现了一个带动画效果的三角形指示箭头&#xff0c;项目demo演示如下所示&#xff1a; 用法 interestingindicate.h interestingindicate.cpp 放到工程中&#xff0c;直接使用即可。 注意&#xff1a;建议绝对布局&#xff0c;手动指定 wid…

分红76.39亿,分红率再创新高,成长活力无限的伊利带来丰厚回报

伊利47万股东&#xff0c;又等来了一个好消息。 4月29日&#xff0c;伊利股份发布2023年报&#xff0c;实现营业总收入1261.79亿元&#xff0c;归母净利润104.29亿元&#xff0c;双创历史新高&#xff0c;实现连续31年稳健增长。 在递交亮眼成绩单的同时&#xff0c;乳业巨头伊…

Linux系统编程--网络编程

一、OSI网络七层模型 OSI模型将整个网络通信过程分解为七个层次&#xff0c;每个层次都为网络通信提供了特定的功能。以下是OSI模型的七个层次&#xff0c;从上到下依次是&#xff1a; 应用层&#xff08;Application Layer&#xff09;&#xff1a;为应用软件提供网络服务&am…

MySQL部署系列-centos离线安装MySQL

MySQL部署系列-centos离线安装MySQL 文章目录 MySQL部署系列-centos离线安装MySQL1. 查看是否已经安装 Mysql3. 下载官方 Mysql 包3. 下载之后上传到服务器4. 创建用户组5. 创建数据目录并赋予权限6. 修改配置文件 vim /etc/my.cnf7. 初始化数据库(数据库安装)8. 加入到系统服务…

多个开源的js补环境框架测试

原文链接&#xff1a;https://mp.weixin.qq.com/s/uEMFGpE5bqmTvzSgX2twvA 前言 在做js逆向时肯定会遇到补环境的情况&#xff0c;看到github开源了好几个补环境用的框架&#xff0c;这篇文章做个测试&#xff0c;看看哪个比较好用。 https://github.com/pysunday/sdenvhttp…

word格式技巧

文章目录 论文格式技巧论文交叉引用怎么弄论文的页码怎么弄 论文格式技巧 论文交叉引用怎么弄 1.取消文献原有的编号 2.定义新编号 3.具体编号设置 4.在引用的地方插入&#xff0c;具体引用选项卡–>交叉引用–>选择后插入 2. 4. 论文的页码怎么弄 假设我们有这样一…