LVS-NAT + LVS-DR
LVS
一个调度主机,有两个网卡
lvs的工作原理

lvs组成及术语
1.ipvs:
2.ipvsadm
DS:前端负责均衡节点(负载均衡服务器)
RS:后端真实工作服务器(web服务器)
vip:对外,公网
dip:对内,局域网
lvs的工作模式
LVS-NAT模式
nat模式工作原理
nat模式的特性
nat环境搭建
| 主机名称 | ip地址 | 功能 |
| web01 | 192.168.118.200 | rs |
| web02 | 192.168.118.201 | realserver |
| nat | vip:192.168.10.100 dip:192.168.118.10 | 负载均衡调度器directorserver,ntp |
| dns | 192.168.118.110 | dns |
web服务器:
下载nginx,在index.html写入内容,启动nginx,编写计划任务
yum -y install nginx
echo "web-----01" > /usr/share/nginx/html/index.html
[root@web01 ~]# nginx
[root@web01 ~]# crontab -e
30 3 * * * /usr/sbin/ntpdate 192.168.118.10 //时间服务器的IP
nat服务器:
需要两块网卡,再添加一块网卡
配置vip网卡:
同步时间,编写计划任务,配置时间服务器,启动服务,设置开机自启动
142 yum -y install ntpdate.x86_64
143 ntpdate cn.ntp.org.cn
144 which ntpdate
145 crontab -e
* 2 * * * /usr/sbin/ntpdate cn.ntp.org.cn
147 yum -y install ntp
148 systemctl start ntpd
149 systemctl enable ntpd
dns服务器:
[root@dns ~]# yum -y install bind
[root@dns ~]# vim /etc/named.conf //添加any
[root@dns ~]# vim /etc/named.rfc1912.zones
zone "yuanyu.zhangmin" IN {
type master;
file "yuanyu.zhangmin.zone";
allow-update { none; };
};
[root@dns ~]# cd /var/named/
[root@dns named]# cp -p named.localhost yuanyu.zhangmin.zone
[root@dns named]# vim yuanyu.zhangmin.zone

[root@dns named]# named-checkconf /etc/named.conf
[root@dns named]# named-checkconf /etc/named.rfc1912.zones
[root@dns named]# named-checkzone yuanyu.zhangmin.zone yuanyu.zhangmin.zone
[root@dns named]# systemctl restart named
client客户端:
[root@allow ~]# echo "nameserver 192.168.118.110" > /etc/resolve.conf
[root@allow ~]# ping nat.yuanyu.zhangmin -c2
PING nat.yuanyu.zhangmin (192.168.118.135) 56(84) bytes of data.
64 bytes from 192.168.118.135 (192.168.118.135): icmp_seq=1 ttl=64 time=0.639 ms
64 bytes from 192.168.118.135 (192.168.118.135): icmp_seq=2 ttl=64 time=0.305 ms
nat配置规则:在nat服务器配置
安装ipvsadm
[root@nat ~]# yum -y install ipvsadm.x86_64
查看所有的规则,如果已经配置好规则,重启之后也就没有了
web服务器网关配置:
临时修改web01和web02的网关,网关必须指向dip(调度服务器的对内的ip)
这也要求了rs ip和dip要在同一个网段,因为dip是要作为网关存在的
升级
LVS-DR模式
设置ds主机:192.168.118.202
1.在ens33上挂一个IP地址(vip)192.168.118.203,在rs上的vip和这个vip相同
9 ifconfig ens33:0 192.168.118.203 broadcast 192.168.118.203 netmask 255.255.255.255 up
2.设置主机路由
11 route add -host 192.168.118.203 dev ens33:0
3. 安装ipvsadm
13 yum -y install ipvsadm
4.配置规则
ipvsadm -C //清空规则
14 ipvsadm -A -t 192.168.118.203:80 -s rr
15 ipvsadm -a -t 192.168.118.203:80 -r 192.168.118.200 -g
17 ipvsadm -a -t 192.168.118.203:80 -r 192.168.118.201 -g
18 ipvsadm -Ln
注意:
设置rs主机
1.在lo接口上绑定vip
2.设置主机路由
3.抑制rs接收请求
web01:
[root@web01 ~]# ifconfig lo:0 192.168.118.203 broadcast 192.168.118.203 netmask 255.255.255.255 up
[root@web01 ~]# route add -host 192.168.118.203 dev lo:0
[root@web01 ~]# ifconfig
抑制rs的vip接收请求
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
web02的操作与web01一样,可以使用脚本来操作:
[root@web02 ~]# cat arp.sh
ifconfig lo:0 192.168.118.203 broadcast 192.168.118.203 netmask 255.255.255.255 up
route add -host 192.168.118.203 dev lo:0
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
测试使用,查看状态
在浏览器上访问vip 192.168.118.203,在dr上查看详情
[root@dr ~]# ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.168.118.203:80 6 140 0 39432 0
-> 192.168.118.200:80 3 12 0 518 0
-> 192.168.118.201:80 3 128 0 38914 0
相关文章:
LVS-NAT + LVS-DR
LVS 现在lvs已经是linux内核标准的一部分,使用lvs可以达到的技术目标是:通过linux达到负载均衡技术和linux操作系统实现一个高性能高可用的linux服务器集群,他具有良好的可靠性,可延展性和可操作性,从而以低廉的成本实…...
排序算法——插入排序
一、插入排序概念 直接插入排序(Insertion Sort)是一种简单的排序算法,它的工作原理类似于人们手动排序卡片的方式。该算法通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插…...
重修设计模式-行为型-状态模式
重修设计模式-行为型-状态模式 先了解一下状态机的概念,状态机是软件编程中对一种状态场景的抽象表达,构成状态机三要素是:状态(State)、事件(Event)、动作(Action)&…...
网络安全知识渗透测试
渗透测试是一种模拟网络攻击,用于识别漏洞并制定规避防御措施的策略。及早发现缺陷使安全团队能够修复任何漏洞,从而防止数据泄露,否则可能会造成数十亿美元的损失。笔测试还有助于评估组织的合规性、提高员工对安全协议的认识、评估事件响应…...
我国卫星互联网产业集群崛起;1000万资金扶持 上海助推产业互联网平台跨越式发展;河南“数据要素×”行动实施方案发布 | 产业互联网观察第179期
我国卫星互联网产业集群崛起:千帆星座首批卫星发射成功 8月6日,中国版"星链"项目"千帆星座"(G60星链)首批18颗组网卫星在太原卫星发射中心成功发射升空。这些卫星采用上海格思航天自主研发的可堆叠型平板卫星…...
《RT-DETR》论文笔记
原文出处 [2304.08069] DETRs Beat YOLOs on Real-time Object Detection (arxiv.org)https://arxiv.org/abs/2304.08069 原文笔记 What DETRs Beat YOLOs on Real-time Object Detection 1、设计了一种高效的混合编码器,通过解耦尺度内交互和跨尺度融合来提高…...
输出Docker容器的启动命令行脚本
当Docker容器启动后,如果忘记启动参数,比如目录挂载、端口映射等,可以通过Portainer等容器管理工具查看。但是,有时希望能获取容器启动的命令行,因为需要再启动一个类似容器,怎么办呢? 有一款工…...
Dubbo 快速掌握 这篇就够了
1. Dubbo概述 Dubbo 是一款高性能、轻量级的开源Java RPC框架,由阿里巴巴公司开发并在2011年开源。它主要用于解决分布式系统中服务之间的通信问题,支持多种协议,如Dubbo、HTTP、Hessian等,具有服务注册、服务发现、负载均衡、故…...
【每日刷题】Day100
【每日刷题】Day100 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 【模板】堆_牛客题霸_牛客网 (nowcoder.com) 2. 【模板】链表_牛客题霸_牛客网 (nowcoder.com) 3…...
网络协议九 应用层 HTTPS
一 什么是 HTTPS 二 什么是 SSL/TLS 协议 ,TLS 是 SSL 升级后的名字 三. TLS 协议 工作在那一层 四 。OpenSSL 是 SSL/TLS协议的开源实现。 五。重点 HTTPS 的通讯过程 六 TLS 1.2 的连接过程 1. client hello 是浏览器发送给服务器的第一条信息, 是客户…...
【ArrayList】JDK1.8源码详细注释 以及如何实现线程安全的链表
ArrayList(JDK8) ArrayList有四个内部类,成员内部类Itr,成员内部类ListItr,静态内部类SubList,ArrayListSpliterator(暂时用不到)Itr是Iterator的实现类,支持正向遍历,ArrayList的i…...
[python]rasterio运行代码警告proj_create_from_database: Cannot find proj.db
这个报错要分原因还有rasterio版本讨论,因此官方给出了十分具体回答 Frequently Asked Questions What does "RasterioIOError: file.ecw not recognized as a supported file format." mean? This exception is raised when none of rasterios format …...
ThinkPHP5.1.C+CmsEasy-SQL注入
目录 1、ThinkPHP 中存在的 SQL注入 漏洞( select 方法注入) 1.1环境配置 1.1.1将 composer.json 文件的 require 字段设置成如下: 1.1.2设置application/index/controller/Index.php 文件 1.1.3在 application/database.php 文件中配置…...
Python 绘图进阶之词云图:文本数据的可视化艺术
Python 绘图进阶之词云图:文本数据的可视化艺术 引言 在数据科学和自然语言处理领域,词云图(Word Cloud)是一种常用的可视化工具。它通过直观的图形展示文本数据中的高频词汇,使得我们能够快速抓住文本内容的核心主题…...
【Windows】Q-Dir(资源管理器)软件介绍
软件介绍 Q-Dir是一款免费的文件管理器软件,它可以让您更方便地浏览和管理计算机上的文件和文件夹。与Windows自带的资源管理器相比,Q-Dir具有更多的功能和选项。 安装教程 软件下载完成,解压软件。 点击Q-Dir.exe即可打开软件。 功能…...
什么是令牌桶算法?工作原理是什么?使用它有哪些优点和注意事项?
大家好,我是鸭鸭! 此答案节选自鸭鸭最近弄的面试刷题神器面试鸭 ,更多大厂常问面试题,可以点击下面的小程序进行阅读哈! 目前这个面试刷题小程序刚出,有网页和小程序双端可以使用! 回归面试题…...
C++-类与对象(中上篇)
一、目标 1. 类的 6 个默认成员函数 2. 构造函数 3. 析构函数 二、对目标的介绍 1. 类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生…...
链表 206.反转链表
一般方法 不需要一个个来回换,只需要改变链表的指向,即可完成 一个链表的头节点,也代表了整个链表 class Solution {public ListNode reverseList(ListNode head) {ListNode temp;ListNode cur head;ListNode pre null;while(cur ! null…...
Ubuntu18.04 配置EtherCAT主站IGH SOEM
IGH IGH 是开源的EtherCAT 主站软件 一、安装依赖 sudo apt update sudo apt install build-essential linux-headers-$(uname -r) mercurial autoconf libtool 也不知道安装的完全不完全 uname -r 可以查看内核,我安装的ubuntu18.04的内核版本是 5.4.0-84-gen…...
航空航天构型管理
构型管理(CM)被定义为在产品的生命周期中应用的SE技术和管理规程。CM的五个原则是:CM计划与执行、配置识别、配置变更和差异控制、配置状态核算和配置验证。 广义上的构型管理规划和管理是有效实施配置管理的关键。特别是在不同项目之间的差异中,构型管理…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...
Axure Rp 11 安装、汉化、授权
Axure Rp 11 安装、汉化、授权 1、前言2、汉化2.1、汉化文件下载2.2、windows汉化流程2.3、 macOs汉化流程 3、授权 1、前言 Axure Rp 11官方下载链接:https://www.axure.com/downloadthanks 2、汉化 2.1、汉化文件下载 链接: https://pan.baidu.com/s/18Clf…...
