LVS-DR的RS进行ARP抑制的原因和LVS持久连接配置

news2024/9/28 13:15:53

一.RS的ARP抑制

1.为什么要抑制

2.如何抑制

(1)修改/etc/sysctl.conf文件,增加以下内容

(2)命令行临时设置

二.LVS持久连接

1.客户端持久连接

2.端口持久连接

3.防火墙标记持久连接


一.RS的ARP抑制

1.为什么要抑制

避免RS在接受到客户端发来的ARP请求后,RS自己通过广播去回复带有VIP的MAC地址。

如果不进行ARP广播抑制,RS在被调度器分配到后,RS回复的ARP广播会导致局域网内的设备都将RS发出的ARP进行缓存,那么其他客户端发出的请求包将会绕过负载均衡器直接发送到RS,破坏了LVS-DR模式的机制。

进行RS的ARP广播抑制,让客户端的ARP请求都交给负载均衡器进行mac地址回复,RS不进行回复。

 

2.如何抑制

(1)修改/etc/sysctl.conf文件,增加以下内容

[root@localhost ~]# vim /etc/sysctl.conf 
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[root@localhost ~]# sysctl -p

(2)命令行临时设置

[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
[root@localhost ~]# sysctl -p
arp_ignore——定义对目标地址为本地IP的ARP询问不同的应答模式
0 (默认值):回应任何网络接口上对任何本地IP地址的arp查询请求。
1 只回答目标IP地址是来访网络接口本地地址的ARP查询请求。
2 只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内。
3 不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应。
4-7 保留未使用。
8 不回应所有(本地地址)的arp查询
 
arp_announce——对网络接口上,本地IP地址发出的ARP回应,做出相应级别的限制
0 (默认)在任意网络接口(eth0,eth1,lo)上的任何本地地址
1 尽量避免不在该网络接口子网段的本地地址做出arp回应,当发起ARP请求的源IP地址是被设置应该经路由到达此网络接口的时候很有用,此时会检查来访IP是否为所有接口上的子网段内ip之一。如果该来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理。
2 对查询目标是要最适当的本地地址,在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通 信的本地地址。首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址。如果没有合适的地址被发现,将选择当前的网络发送接口或其他的有可能接受到该ARP回应的网络接口来进行发送。限制了使用本地的vip地址作为优先的网络接口。

二.LVS持久连接

未持久化的情况

[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.2.188:80 rr
  -> 192.168.2.191:80             Route   1      0          7         
  -> 192.168.2.192:80             Route   1      0          7         
[root@localhost ~]# for ((i=1;i<=10;i++));
> do
> curl 192.168.2.188
> done
share192
share191
share192
share191
share192
share191
share192
share191
share192
share191

1.客户端持久连接

将来自于同一个客户端的所有请求都定向至此前选定的 RS, 只要 IP 相同,分配的服务器始终相同
[root@localhost ~]# ipvsadm -E -t 192.168.2.188 -s rr -p 20
[root@localhost ~]# for ((i=1;i<=10;i++)); do curl 192.168.2.188; done
share192
share192
share192
share192
share192
share192
share192
share192
share192
share192

2.端口持久连接

将来自于同一个客户端同一个 端口 的请求,始终定向至此前选定的 RS
[root@localhost ~]# ipvsadm -E -t 192.168.2.188:80 -s rr -p 20
[root@localhost ~]# for ((i=1;i<=10;i++)); do curl 192.168.2.188; done
share192
share192
share192
share192
share192
share192
share192
share192
share192
share192

3.防火墙标记持久连接

将来自于同一客户端对指定服务 ( 端口 ) 的请求,始终定向至此选定的 RS, 它可以将两个
毫不相干的端口定义为一个集群服务
[root@localhost ~]# yum install -y iptables*
[root@localhost ~]# systemctl start iptables.service
[root@localhost ~]# iptables -t mangle -A PREROUTING -d 192.168.2.188 -p tcp --dport 80 -j MARK --set-mark 10
[root@localhost ~]# service iptables save
[root@localhost ~]# ipvsadm -A -f 10 -s rr -p 20

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

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

相关文章

提示丢失vcomp140.dll怎么办?如何快速修复vcomp140.dll丢失问题

最近我遇到了一个程序启动失败的问题&#xff0c;错误提示显示缺少了vcomp140.dll文件。经过一番研究和尝试&#xff0c;我终于成功修复了这个问题。在这里&#xff0c;我将分享一下我的修复方法。 目录 vcomp140.dll是什么&#xff1f; 如何快速修复呢&#xff1f; vcomp140…

mysql 01.三范式,数据类型

01.概念的区分&#xff1a; mysql是属于DBMS层次的&#xff0c;sql语句是用于DBMS的语句。 02.sql语句详细介绍&#xff1a; SQL的概述Structure Query Language(结构化查询语言)简称SQL&#xff0c;它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准&#xff0c;后…

Nginx安全加固,版本隐藏及HTTP请求头修改方法

1 隐藏nginx版本号 1.1 引言 nginx作为目前较为流行的http server软件&#xff0c;其相关的安全漏洞也非常多&#xff0c;攻击者可以根据我们的nginx版本来了解到相关的漏洞从而针对性的进行攻击。 通过新版本的nginx都会修复一些老版本的已知漏洞&#xff0c;但有时候我们生…

Android Studio实现读取本地相册文件并展示

目录 原文链接效果 代码activity_main.xmlMainActivity 原文链接 效果 代码 activity_main.xml 需要有一个按钮和image来展示图片 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk…

华硕win11笔记本双系统deepin 解决更改硬盘模式为AHCI后无法进入Windows的问题

华硕win11笔记本双系统deepin 解决更改硬盘模式为AHCI后无法进入Windows的问题 重新将硬盘模式改为Intel RST Premium With Intel Optane System Acceleration(RAID)然后才能进入Windows&#xff0c;但是改了之后又不能进deepin了&#xff0c;需要再将硬盘模式改为AHCI才能进de…

【100天精通python】Day37:GUI界面编程_PyQT从入门到实战(上)

目录 专栏导读 1 PyQt6 简介&#xff1a; 1.1 安装 PyQt6 和相关工具&#xff1a; 1.2 PyQt6 基础知识&#xff1a; 1.2.1 Qt 的基本概念和组件&#xff1a; 1.2.2 创建和使用 Qt 窗口、标签、按钮等基本组件 1.2.3 布局管理器&#xff1a;垂直布局、水平布局、网格布局…

生信豆芽菜-细胞丰度比较

网址&#xff1a;生信豆芽菜-细胞丰度比较 一、使用方法 1、数据准备 这里需要上传一个行为样本&#xff0c;列为细胞评分的矩阵数据 分组信息 2、选择检验的方法&#xff0c;其中两组的可以选择用wilcox.test/test&#xff0c;三组的可以选择用kruskat.test/anova 3、分组…

最强自动化测试框架Playwright(29)-文件选择对象

FileChooser对象通过page.on("filechoose")事件监听。 如下代码实现点击百度搜图按钮&#xff0c;上传文件进行搜索。 from playwright.sync_api import Playwright, sync_playwright, expectdef run(playwright: Playwright) -> None:browser playwright.chro…

php+echarts实现数据可视化实例2

效果: 代码 php <?php include(includes/session.inc); include(includes/SQL_CommonFunctions.inc); ?> <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible"…

notepad++正则表达式匹配方括号及里面的内容

可以用于去除注释 在notepad也可以直接使用 (\[.*?\])

【Redis】Redis 的学习教程(五)之 SpringBoot 集成 Redis

在前几篇文章中&#xff0c;我们详细介绍了 Redis 的一些功能特性以及主流的 java 客户端 api 使用方法。 在当前流行的微服务以及分布式集群环境下&#xff0c;Redis 的使用场景可以说非常的广泛&#xff0c;能解决集群环境下系统中遇到的不少技术问题&#xff0c;在此列举几…

【项目管理】PMP备考宝典-第三章《人》

文章目录 第一节&#xff1a;概述1.项目涉及的人2.项目经理3.团队4.干系人 第二节&#xff1a;原则1.有效的干系人参与2.成为勤勉尊重关心他人的管家3.创建协作的项目团队环境4.展现领导力行为 第三节&#xff1a;任务1.定义团队的基本原则2.建设团队3.领导团队4.管理冲突5.凝聚…

2022年工作架构分析

mpmw自动化流程工具 schema动态数据 Schema 本身是一个JSON &#xff0c;Schema 通过一些特定字段描述和定义 JSON的数据结构。 最常见的表单通过类XML语法定义。一些库支持通过一些特定结构的 JSON (Schema)来生成类XML标签。 formily 是其中实现之一。 表单设计器通过可视…

S03-快速填充,批量提取和组合数据的神奇

视频教程 快速填充&#xff08;Ctrl➕E&#xff09; 作用&#xff1a;对数据进行拆分重组合并 方式 1 CtrlE 2 双击加号选择智能填充 快速填充数据<>智能填充 开始☞填充☞快速填充&#xff08;注意附近一个单元格&#xff0c;是一定要有数据的&#xff0c;不能出现单独…

前后端分离-毕业生就业服务平台SpringBoot+Redis+Vue校园实习招聘指导java jsp源代码

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 前后端分离-毕业生就业服务平台SpringBootRedisVue 系…

招生老师如何制作发布录取通知书文案?这个开发教程一看就会

作为一名负责招生的老师&#xff0c;录取通知的公布是整个招生环节最重要的一环&#xff0c;如何快速搞定这项工作&#xff1f;传统的公布方式需要设及技术开发、服务器搭建等&#xff0c;一起来看看传统方法制作录取通知查询系统的教程&#xff08;结尾有惊喜&#xff09;&…

高忆管理:股票T+0交易是什么意思?t+0交易有什么好处?

股票的买卖准则有很多种&#xff0c;T0买卖便是其中之一。那么股票T0买卖是什么意思&#xff1f;t0买卖有什么优点&#xff1f;高忆管理也为大家预备了相关内容&#xff0c;以供参考。 股票T0买卖是什么意思&#xff1f; T0买卖准则是指出资者当天买入的股票能够在当天卖出&am…

C++ 好用的包管理工具--vcpkg

背景 Windows 下开发 C/C 程序&#xff0c;少不了编译开源的第三方库&#xff0c;使用这些库开发极大的方便了程序员&#xff0c;使得我们不必重复造轮子。 由于开源库绝大部分都来源于 Linux 系统、将其移植到 Windows 的 VC 开发环境下编译比较复杂和麻烦&#xff1b;而且我…

Hi-TRS:骨架点视频序列的层级式建模及层级式自监督学习

论文题目&#xff1a;Hierarchically Self-Supervised Transformer for Human Skeleton Representation Learning 论文下载地址&#xff1a;https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136860181.pdf 代码地址&#xff1a;https://github.com/yuxiaochen1103…

K8S用户管理体系介绍

1 K8S账户体系介绍 在k8s中&#xff0c;有两类用户&#xff0c;service account和user&#xff0c;我们可以通过创建role或clusterrole&#xff0c;再将账户和role或clusterrole进行绑定来给账号赋予权限&#xff0c;实现权限控制&#xff0c;两类账户的作用如下。 server acc…