LVS-Nat和Dr模式集群原理及部署

news2024/9/22 7:30:03

目录

一.lvs-nat模式集群原理及部署方法

1.实验环境

2.思路图

3.lvs配置1:

4.lvs配置2:

5.webserver1配置:

6.webserver2配置:

7.lvs配置:

二.lvs-dr模式原理集群及部署方法

1.实验环境

2.思路图

3.client: 简单配置ip网卡。

4.router配置:

5.lvs配置:

6.webserver1配置:

    6.1 限制响应级别:

    6.2 限制通告级别:

7.webserver2配置:

8.测试:


一.lvs-nat模式集群原理及部署方法

1.实验环境
主机名IP角色网卡
lvs.rhel9.org

172.25.254.100

eth1:192.168.0.100

调度器

eth0:nat

eth1:仅主机

webserver1.rhel9.org192.168.0.10; wg192.168.0.100web服务1eth0:仅主机
webserver2.rhel9.org192.168.0.20; wg192.168.0.100web服务2eth0:仅主机
2.思路图

3.lvs配置1:

在lvs的虚拟机设置里面添加网卡,选择仅主机连接。

bash vmest.sh eth0 172.25.254.100 lvs.rhel9.org   #vmset.sh为自己写的配置ip脚本
bash vmest.sh eth1 192.168.0.100 lvs.rhel9.org
vi /etc/NetworkManager/system-connections/eth0.nmconnection	
	[connection]
	id=eth0
	type=ethernet
	interface-name=eth0
	[ipv4]
	address1=172.25.254.100/24,172.25.254.2
	method=manual
	dns1=114.114.114.114;
nmcli connection reload
nmcli connection up eth1
vi /etc/NetworkManager/system-connections/eth1.nmconnection
	[connection]
	id=eth1
	type=ethernet
	interface-name=eth1
	[ipv4]
	address1=192.168.0.100/24
	method=manual
nmcli connection reload
nmcli connection up eth1    #一定要看清楚自己的ip。
4.lvs配置2:

内核功能路由需要开启,sysctl -a 命令会显示系统中所有的内核参数及其当前的值,输出结果为 net.ipv4.ip_forward = 1 ,这表示系统的 IP 转发功能已启用。如果结果为 net.ipv4.ip_forward = 0 ,则表示 IP 转发功能被禁用。

sysctl -a | grep ip_forward  #过滤
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf
sysctl -p    #生效
5.webserver1配置:

虚拟机设置里面修改网络适配器选择仅主机模式,查看网卡,保证网卡跟lvs的dip一致,否则无法通信。起Apache网络服务,下载httpd,保持开机自启。

bash vmest.sh eth0 192.168.0.10 webserver1.rhel9.org
vi /etc/NetworkManager/system-connections/eth0.nmconnection	
	[connection]
	id=eth0
	type=ethernet
	interface-name=eth0
	[ipv4]
	address1=192.168.0.10/24,192.168.0.100
	method=manual     #dns随意,不影响操作结果
nmcli connection reload
nmcli connection up eth0
route -n    #查看网卡
yum install httpd -y   #下载httpd
echo webserver1 - 192.168.0.10 > /var/www/html/index.html   
systemctl enable --now httpd
6.webserver2配置:

虚拟机设置里面修改网络适配器选择仅主机模式,查看网卡,保证网卡跟lvs的dip一致,否则无法通信。起Apache网络服务,下载httpd,保持开机自启。

bash vmest.sh eth0 192.168.0.20 webserver2.rhel9.org
vi /etc/NetworkManager/system-connections/eth0.nmconnection	
	[connection]
	id=eth0
	type=ethernet
	interface-name=eth0
	[ipv4]
	address1=192.168.0.20/24,192.168.0.100
	method=manual   #dns随意,不影响操作结果
nmcli connection reload
nmcli connection up eth0
route -n    #查看网卡
yum install httpd -y   #下载httpd
echo webserver1 - 192.168.0.20 > /var/www/html/index.html   
systemctl enable --now httpd
7.lvs配置:

在lvs里面测试ip。有对应的内容就对了,没有就检查一下自己的路径和ip。接着安装lvs软件包ipvsadm,配置相关策略,ipvsadm-save保存一下,最后xhell新开端口测试。

curl 192.168.0.10
curl 192.168.0.20
#####################################################
yum install ipvsadm -y    #安装ipvsadm
ipvsadm -A -t 172.25.254.100:80 -s rr     #添加调度策略
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20:80 -m
ipvsadm -Ln    #查看策略
ipvsadm-save > /etc/sysconfig/ipvsadm-config  #保存规则
systemctl enable --now ipvsadm.service   #开机启动
for i in {1..6};do curl 172.25.254.100;done   #测试

二.lvs-dr模式原理集群及部署方法

1.实验环境
主机名IPvip角色网卡
client.rhel9.org172.25.254.200; wg172.25.254.100测试主机eth0:nat
router.rhel9.orgeth0:172.25.254.100; eth1:192.168.0.100路由器eth0:nat eth1:仅主机
lvs.rhel9.org192.168.0.50; wg192.168.0.100192.168.0.200 /32调度器eth1:仅主机
webserver1.rhel9.org192.168.0.10; wg192.168.0.100192.168.0.200 /32web服务1eth0:仅主机
webserver2.rhel9.org192.168.0.20; wg192.168.0.100192.168.0.200 /32web服务2eth0:仅主机
2.思路图

3.client: 简单配置ip网卡。
bash vmest.sh eth0 172.25.254.200 client.rhel9.org
vim /etc/NetworkManager/system-connections/eth0.nmconnection
	[connection]
	id=eth0
	type=ethernet
	interface-name=eth0
	[ipv4]
	method=manual
	address1=172.25.254.200/24,172.25.254.100
nmcli connection reload
nmcli connection up eth0
route -n
4.router配置:

打开虚拟机设置,添加网络适配器选择仅主机,修改ip。内核功能路由需要开启,sysctl -a 命令会显示系统中所有的内核参数及其当前的值,输出结果为 net.ipv4.ip_forward = 1 ,这表示系统的 IP 转发功能已启用。如果结果为 net.ipv4.ip_forward = 0 ,则表示 IP 转发功能被禁用。

bash vmest.sh eth0 172.25.254.100 router.rhel9.org
vim /etc/NetworkManager/system-connections/eth0.nmconnection
	[connection]
	id=eth0
	type=ethernet
	interface-name=eth0
	[ipv4]
	method=manual
	address1=172.25.254.100/24
nmcli connection reload
nmcli connection up eth0
################################################################
bash vmest.sh eth1 192.168.0.100 router.rhel9.org
vim /etc/NetworkManager/system-connections/eth1.nmconnection
	[connection]
	id=eth1
	type=ethernet
	interface-name=eth1
	[ipv4]
	method=manual
	address1=192.168.0.100/24
nmcli connection reload
nmcli connection up eth0
route -n
###############################################################
sysctl -a | grep ip_forward  #过滤
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf
sysctl -p    #刷新生效
5.lvs配置:

删掉原先的net模式的eth0的ip,修改仅主机的eth1的ip,保存退出,记得重启。顺手看看网关修改成功没。最后添加vip192.168.0.200/32回环接口。配置策略,保存退出。

nmcli connection delete eth0
bash vmest.sh eth0 192.168.0.20 lvs.rhel9.org
vim /etc/NetworkManager/system-connections/eth1.nmconnection
	[connection]
	id=eth1
	type=ethernet
	interface-name=eth1
	[ipv4]
	method=manual
	address1=192.168.0.50/24,192.168.0.100
nmcli connection reload
nmcli connection up eth0
route -n
ip a a 192.168.0.200/32 dev lo #添加临时ip
#####################################################
ipvsadm -A -t 192.168.0.200:80 -s wrr     #添加调度策略
ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.10:80 -g -w 1
ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.20:80 -g -w 1
ipvsadm -Ln    #查看策略
ipvsadm-save > /etc/sysconfig/ipvsadm-config  #保存规则
systemctl enable --now ipvsadm.service   #开机启动
6.webserver1配置:

在原有的eth0.nmconnection进行修改网关,改成一致。最后添加vip192.168.0.200/32回环接口。

    6.1 限制响应级别:

arp_ignore 0:默认值,表示可使用本地任意接口上配置的任意地址进行响应 1:仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应。

    6.2 限制通告级别:

arp_announce 0:默认值,把本机所有接口的所有信息向每个接口的网络进行通告 1:尽量避免将接口信息向非直接连接网络进行通告 2:必须避免将接口信息向非本网络进行通告。

vi /etc/NetworkManager/system-connections/eth0.nmconnection
	[connection]
	id=eth0
	type=ethernet
	interface-name=eth0
	[ipv4]
	method=manual
	address1=192.168.0.10/24,192.168.0.100
route -n
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore  #也可以在/etc/sysctl.conf写入net.ipv4.conf.all.arp_ignore = 1;在sysctl -p 刷新
ip a a 192.168.0.200/32 dev lo  #添加临时ip
7.webserver2配置:

在原有的eth0.nmconnection进行修改网关,改成一致。最后添加vip192.168.0.200/32回环接口。

vi /etc/NetworkManager/system-connections/eth0.nmconnection
	[connection]
	id=eth0
	type=ethernet
	interface-name=eth0
	[ipv4]
	method=manual
	address1=192.168.0.20/24,192.168.0.100
route -n
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
ip a a 192.168.0.200/32 dev lo   #添加临时ip
8.测试:

在client主机进行ping200是否可以通,ping100是否可以通。最后测试全部。

for i in {1..10};do curl 192.168.0.200;done

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

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

相关文章

C++ 类与对象

面向对象程序设计基本特点 特点: 抽象(数据抽象,行为抽象) 数据抽象:int hour,int minute.....,车:长,宽,高.... 功能抽象:showTime(),setTime() .....车:刹车…

rocketMQ5.0事务消息实战一

事务消息逻辑 首先我们来docker 部署rocketMQ与rocketMQDashBoard docker ps查看rocketMQ 容器名称 docker ps 进入容器内部 docker exec -it rmqnamesrv /bin/bash 创建事务消息 sh mqadmin updateTopic -c DefaultCluster -t TRANSACTIONTopic -n 127.0.0.1:9876 -a mes…

8.8 day bug

bug1 好家伙,最后一个t没看到,愣是学了一个小时原理和用法,都找不出问题在哪

基于Java中的SSM框架实现远程同步课堂系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现远程同步课堂系统演示 远程同步课堂系统设计与实现 摘要:在这样一个网络数据大爆炸的时代,人们获取知识、获取信息的通道非常的多元化,通过网络来实现数据信息的获取成为了现在非常常见的一种方式,而通过…

一款多功能漏洞利用管理与搜索工具(非常详细)零基础入门到精通,收藏这一篇就够了

sicat 介绍 SiCat是一款多功能漏洞利用管理与搜索工具,旨在帮助广大研究人员有效地识别和收集来自开源和本地存储库的漏洞信息。 SiCat 的主要优势在于它能够遍历在线和本地资源来收集有关相关漏洞的信息。该工具可帮助网络安全专业人员和研究人员了解潜在的安全风…

我主编的电子技术实验手册(13)——电磁元件之继电器

本专栏是笔者主编教材(图0所示)的电子版,依托简易的元器件和仪表安排了30多个实验,主要面向经费不太充足的中高职院校。每个实验都安排了必不可少的【预习知识】,精心设计的【实验步骤】,全面丰富的【思考习…

TCP 通信全流程分析:从连接建立到数据传输的深度探索

目录 一、TCP报头 二、三次握手 三、数据传输 四、四次挥手 本文通过一次TCP通信过程的分析来学习TCP协议 一、TCP报头 如图是一份TCP报文的报头,标准报头是20个字节,还可带有选项报头,也就是TCP报头的最小长度是20字节。以下是对报头的各…

一位入门者关于 JavaScript 单线程的一些思考

人们一提起 JavaScript 就会想起单线程,那么为什么会这样呢?这经得住推敲吗?不同的执行环境又有什么差异呢? 带着这些问题,我通过自问自答的方式,整理了一份关于 Javascript 单线程的知识汇总 整体的思考…

AI学习记录 - gpt如何进行token化,理论知识,以GPT2为举例

AI学习记录已经发了十几篇,大佬们可以看看,如果有帮助动动小手点赞 token入门版,有空会更新具体代码操作,能学到一点东西的话,大佬们点个赞!!! GPT4当中,我们提问问题是…

Webpack构建工具

1 概述 Webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。 它的主要作用是将多个松散的模块,包括 JavaScript、CSS、图片、字体等资源,按照指定的规则和依赖关系打包成一个或多个优化后的静态资源文件…

基于RHEL7系统搭建PXE技术体系

目录 一、kickstart自动化安装脚本制作 1、实验前提 2、安装图形界面并启动,关闭DHCP服务 3、安装图形化生成kickstart自动安装脚本的工具并启动 二、搭建DHCP服务并测试脚本 1、安装dhcp 2、生成配置文件 3、编辑配置文件 三、搭建pxe网络安装环境实现服务…

centos安装maven

1.下载maven 去官网选择自己需要的版本 Maven – Download Apache Maven 复制链接 2.使用wget下载 先切换到opt文件夹 再将复制的链接使用wget下载 因为wget下载速度很慢,所以这里使用https://mirrors.tuna.tsinghua.edu.cn镜像 cd /opt wget https://mirrors.tu…

交易困境如何克服,可以先浏览Anzo Capital 昂首资本官网

是不是经常有这样的交易员,常因感到“我知道得不够多”而在交易中做出不合逻辑的行为。在这种心态下,交易员总想寻找更优秀的交易者、更佳的买卖时机以及更有效的策略。事实上,这类追求往往陷入过多无用信息的泥潭,让人难以甄别哪…

【系统架构设计师】二十五、大数据架构设计理论与实践③

目录 六、大数据架构设计案例分析 6.1 Lambda架构在某网奥运中的大数据应用 6.2 Lambda架构在某网广告平台的应用与演进 6.2.1 第一版架构 6.2.1 第二版架构 6.2.3 第三版架构 6.3 某证券公司大数据系统 6.4 某电商智能决策大数据系统 六、大数据架构设计案例分析 6.…

centos上传工具

yum install lrzsz 安装完成之后 作用是 输入 rz 可以本地上传文件

【生成式人工智能-八-大型语言模型的能力评估】

语言模型的能力评估 评估难度来自哪里输出没办法确定给出选择题本身就没标准答案 评估方法人力用语言模型来评估语言模型语言模型的偏爱 评估语言模型的数据集评估模型的不同能力阅读长文的能力心智测验道德性测试安全性测试 通常情况下我们想到的语言模型能力评估,…

图神经网络实战(18)——消息传播神经网络

图神经网络实战(18)——消息传播神经网络 0. 前言1. 消息传播神经网络2. 实现 MPNN 框架小结系列链接 0. 前言 我们已经学习了多种图神经网络 (Graph Neural Networks, GNN) 变体,包括图卷积网络 (Graph Convolutional Network, GCN)、图注意…

在macOS平台上通过Jenkins远程打包报错,提示errSecInternalComponent

问题:在macOS平台上通过Jenkins远程打包报错,提示errSecInternalComponent 原因 出现这个问题的主要原因:Jenkins以ssh方式到slave机上,默认是没有账户的,但是访问钥匙串要求必须有用户身份 通过Xcode打包的过程中&am…

Ps:通过 RGB 值计算 HSB 值

在 Photoshop 中,HSB(色相、饱和度和明度)仅作为表达颜色的一种方式而存在,并不是一种颜色模式。 色相/饱和度命令就是基于色彩三要素进行调色的常用命令。 还有一个与 HSB 相关的滤镜:HSB/HSL 滤镜,用于实…

无人机培训机构推广运营理论技术

一、市场定位与品牌建设 在无人机培训行业的激烈竞争中,精准的市场定位是成功的第一步。首先,需明确目标学员群体,如航拍爱好者、农业植保服务者、应急救援人员或专业无人机操作员等。基于目标群体的需求,构建差异化的品牌形象。…