当前位置: 首页 > news >正文

centos7之LVS-TUNNEL模式

介绍
在这里插入图片描述

优缺点以及适用场景

优点:能负载更多的Realserver减轻LB的压力。LVS和Realserver可以不再同一网段。
缺点:tun模式的开销比较大(出口流量大),性能不如DR模式。不支持端口转发。后端Realserver系统必须支持tunnel协议。
适用:有局域网+广域网负载需求的公司(用的少)

tun模式:隧道模式,以封装数据包为主,原理

1.客户端发送请求给LB
2.LB收到数据包拆包(源ip:CIP 目标ip:VIP),发现是给自己的就收下数据包。
3.LB根据算法(rr wrr)选择合适的RealServer,并建一层隧道把源报文封装进去[外层源ip:DIP(内层源ip:CIP 内层目标ip:VIP)外层目标ip:RIP]发给RS
4.RS收到数据包拆包并还原之前的数据包(源ip:CIP 目标ip:VIP),并把回复的数据加进去直接发给客户端。

1、准备环境

在这里插入图片描述
所有主机关闭selinux iptables firwalld
lvs基于四层ip+端口转发,不支持基于url和目录的转发

2、部署lvs

(1) 查看当前隧道模块
# lsmod |grep ipip    # 目前是没有的(2) 添加虚拟网卡tunl0并配置vip
# ip addr add 192.168.1.100/32 dev tunl0(3) 再次查看隧道模块已经有了
# lsmod |grep ipip
ipip                   13465  0 
tunnel4                13252  1 ipip
ip_tunnel              25163  1 ipip(4) 查看新增加的虚拟网卡tunl0,状态为DOWN
# ip addr
5: tunl0@NONE: <NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state DOWN group default qlen 1000link/ipip 0.0.0.0 brd 0.0.0.0inet 192.168.1.100/32 scope global tunl0valid_lft forever preferred_lft forever(5) 激活虚拟网卡并再次查看虚拟网卡状态为UNKNOWN,通过ifconfig也能看到tunl0网卡了
# ip link set up tunl0
# ip addr 
5: tunl0@NONE: <NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN group default qlen 1000link/ipip 0.0.0.0 brd 0.0.0.0inet 192.168.1.100/32 scope global tunl0valid_lft forever preferred_lft forever
(6) 安装ipvsadm并配置负载均衡
# yum -y install ipvsadm
# ipvsadm -A -t 192.168.1.100:80 -s rr                       # 创建虚拟服务器并添加vip
# ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.23:80 -i -w 1  # 为虚拟服务器添加后端realserver
# ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.24:80 -i -w 1  
----------------------------------------------------
-A:添加虚拟服务器
-t: 指定vip和tcp端口
-a: 添加realserver
-r: realserver地址
-i: tunnel模式 -m:nat模式 -g dr模式
-w: 权重(7) 也可以设置基于udp的
# ipvsadm -A -u 192.168.1.100:30005 -s rr
# ipvsadm -a -u 192.168.1.100:30005 -r 192.168.1.11:30005 -i -w 1
# ipvsadm -a -u 192.168.1.100:30005 -r 192.168.1.12:30005 -i -w 1(8) 保存ipvsadm规则并重启
# ipvsadm -Sn > /etc/sysconfig/ipvsadm      # 保存规则
# ipvsadm-restore < /etc/sysconfig/ipvsadm  # 导入规则
# systemctl restart ipvsadm  # 导入规则后才会有ipvsadm.service文件
# systemctl enable ipvsadm(9) 查看lvs状态
# ipvsadm -ln
# ipvsadm -ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.100:80 rr-> 192.168.1.23:80              Tunnel  1      0          0         -> 192.168.1.24:80              Tunnel  1      0          0 UDP  192.168.1.100:30005 rr-> 192.168.1.11:30005           Tunnel  1      0          6         -> 192.168.1.12:30005           Tunnel  1      0          6(10)脚本配置
# cat /usr/local/sbin/lvs_tun.sh 
#!/bin/bash                                                                             
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.3.229
rs1=192.168.3.225
rs2=192.168.3.226
#注意这里的网卡名字
ifconfig tunl0 $vip broadcast $vip netmask 255.255.255.255 up
# 让vip走虚拟网卡
route add -host $vip dev tunl0
$ipv -C
$ipv -A -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1:80 -i -w 1
$ipv -a -t $vip:80 -r $rs2:80 -i -w 1

3、部署realserver

(1) 配置nginx略(2) 在两台realserver添加tunl0网卡并配置vip
# ip addr add 192.168.1.100/32 dev tunl0
# ip link set up tunl0     # 激活网卡(3) 配置内核关闭arp转发(否则客户端没有经过lvs负载就直接访问到后端realserver的vip上去了)
echo "1" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore 
echo "2" > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce 
# 关闭地址校验
echo "0" > /proc/sys/net/ipv4/conf/tunl0/rp_filter 
echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter 
--------------------------------------------------
rp_filter:默认为1,linux会反向校验来源ip是否从同一张网卡进出,如果不是就会丢弃数据包,而TUNNEL模式是从tunl0网卡进物理网卡出,如果不关闭这个功能会导致数据包被丢弃。(4) 脚本
# cat /usr/local/sbin/lvs_tun_rs.sh 
#/bin/bash                                                                               
vip=192.168.3.229
#把vip绑定在tunl0上,是为了实现rs直接把结果返回给客户端
ifconfig tunl0 $vip broadcast $vip netmask 255.255.255.255 up
# 让vip走虚拟网卡
route add -host $vip tunl0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
echo "1" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore 
echo "2" > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/tunl0/rp_filter 
echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter

4、验证不要在lvs上curl,这样不通,需要通过windows的浏览器访问才行(用linux做客户端测试最好)

相关文章:

centos7之LVS-TUNNEL模式

介绍 优缺点以及适用场景 优点&#xff1a;能负载更多的Realserver减轻LB的压力。LVS和Realserver可以不再同一网段。 缺点&#xff1a;tun模式的开销比较大(出口流量大)&#xff0c;性能不如DR模式。不支持端口转发。后端Realserver系统必须支持tunnel协议。 适用&#xff…...

Linux驱动开发(3):字符设备驱动

上一章节我们了解到什么是内核模块&#xff0c;模块的加载卸载详细过程以及内核模块的使用等内容。 本章&#xff0c;我们将学习驱动相关的概念&#xff0c;理解字符设备驱动程序的基本框架&#xff0c;并从源码上分析字符设备驱动实现和管理。 主要内容有如下五点&#xff1a;…...

刘艳兵-DBA023-控制文件是Oracle 数据库用来查找数据库文件,控制文件包含以下哪些信息:

控制文件是Oracle 数据库用来查找数据库文件&#xff0c;控制文件包含以下哪些信息&#xff1a; A 表空间信息 B 创建数据库的时间戳 C 有关数据文件、 联机重做日志文件、和归档重做日志文件的信息 D 数据库名称和数据库唯一标识符&#xff08;DBID) E RMAN备份…...

Vue Scoped CSS深度解析:原理、误区与最佳实践

引言 在Vue开发中&#xff0c;Scoped CSS是一个强大而复杂的功能。它允许我们将样式限制在特定组件内&#xff0c;但同时也带来了一些细微的行为&#xff0c;可能导致意外的样式"泄漏"。本文将深入探讨Vue Scoped CSS的工作原理&#xff0c;解释常见的误区&#xff…...

744. 寻找比目标字母大的最小字母

目录 题目解法一解法二如何比较字符串letters.back()*upper_bound为什么要加* 题目 给你一个字符数组 letters&#xff0c;该数组按非递减顺序排序&#xff0c;以及一个字符 target。letters 里至少有两个不同的字符。 返回 letters 中大于 target 的最小的字符。如果不存在这…...

浅谈QT中Tab键的切换逻辑

浅谈QT中Tab键的切换逻辑 无意中发现在输入界面中按下Tab键时&#xff0c;没有按照预想的顺序切换焦点事件&#xff0c;如下图所示 这个现象还是很有趣&#xff0c;仔细观察了下&#xff0c;默认的切换顺序是按照控件拖入顺序&#xff0c;那么知道了这个问题想要解决起来就很简…...

基于MoviNet检测视频中危险暴力行为

项目源码获取方式见文章末尾&#xff01; 600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【Faster & Mask R-CNN模型实现啤酒瓶瑕疵检测】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生…...

《等保测评:抵御网络威胁的盾牌》

在网络空间的无垠战场上&#xff0c;网络安全威胁如同暗夜之狼&#xff0c;潜伏在每一个角落&#xff0c;随时准备对企业和个人发动致命一击。在这场没有硝烟的战争中&#xff0c;等保测评作为国家网络安全等级保护制度的重要组成部分&#xff0c;犹如坚固的盾牌&#xff0c;为…...

前端必知必会-JavaScript 对象属性

文章目录 JavaScript 对象属性访问 JavaScript 属性添加新属性删除属性嵌套对象 总结 JavaScript 对象属性 对象是无序的属性集合 属性是 JavaScript 对象中最重要的部分。 属性可以更改、添加、删除&#xff0c;有些属性是只读的。 访问 JavaScript 属性 访问对象属性的语…...

双11都有什么值得入手的好物?双十一最建议买的5样东西

双11的脚步逐步渐近&#xff0c;我们点开各大电商平台也可以看到&#xff0c;各个商家已经开始大激烈的促销大战&#xff0c;那么双十一作为一年之中最盛大的购物节&#xff0c;都有什么值得入手的好物呢&#xff1f;今天就给大家建议买的5样东西&#xff0c;从家电好物到生活用…...

Xcode 15.4 运行flutter项目,看不到报错信息详情?

Xcode升级后&#xff0c;遇到了奇怪的事情&#xff1a; 运行flutter项目&#xff0c;左侧栏显示有报错信息&#xff0c;但是点击并没有跳转出具体的error详情。【之前都会自己跳转出来的&#xff0c;升级后真的是无厘头】 方案&#xff1a; 点击左侧导航栏最右边的图标——>…...

AMD开始为基于RDNA的GPU开发自己的神经超采样和去噪技术

NVIDIA 的升级技术已经取得了长足的进步&#xff0c;这些技术解决了现代游戏在开启光线追踪时在苛刻场景中的性能问题。NVIDIA 开始实施各种光线追踪和升级技术后&#xff0c;AMD 和英特尔也紧随其后&#xff0c;推出了自己的 FSR 和 XeSS 升级方法。据报道&#xff0c;AMD 将跟…...

Python中的文件I/O操作

在Python编程中&#xff0c;文件I/O&#xff08;输入/输出&#xff09;是一个重要的主题&#xff0c;涉及如何读取和写入文件。无论是处理文本文件还是二进制文件&#xff0c;Python提供了简洁易用的接口。本文将介绍如何在Python中进行文件I/O操作&#xff0c;包括读取、写入和…...

.net framework 3.5sp1开启错误进度条不动如何解决

浏览器地址栏输入www.dnz9.com远程解决netframework问题 在Windows操作系统上安装或启用.NET Framework 3.5 SP1时&#xff0c;如果遇到进度条不动的问题&#xff0c;可能由多种原因引起。以下是一些可能的解决方案&#xff1a; 1. 使用Windows功能对话框 1.打开“控制面板”。…...

什么影响网站的SEO排名

1.多IP多C段配置&#xff1a;海外站群服务器通常提供多IP多C段配置&#xff0c;这使得网站可以拥有多个独立的IP地址&#xff0c;有效避免同一IP下多个网站之间的关联性问题&#xff0c;降低被搜索引擎认为是站群作弊的风险。通过将不同的内容部署在不同的IP地址和C段上&#x…...

css绘制s型(grid)

在之前有通过flex布局实现了s型布局&#xff0c;是通过截取数组形式循环加载数据 这次使用grid直接加载数据通过css实现 <div id"app"><template v-for"(item,inx) in items"><div class"row"><template v-for"(ite…...

【华为HCIP实战课程二十八】中间到中间系统协议IS-IS邻居关系排错,网络工程师

一、ISIS邻居关系条件 1、同一层次(比如Level-2路由器不能和Level-1路由器形成邻居关系) 2、同一区域(L1必须同一区域) 3、同一网段 R1和R2之间分别配置如下IP地址和掩码: R1 的接口S1/0/0掩码为/24 R2的接口S1/0/0配置成掩码/28: 此时R1和R2依然可以建立ISIS邻居关系…...

Word首行空格不显示空格符号问题

Word段落首行空格设置指南 问题描述 在Word中编辑文档时&#xff0c;有时会遇到段落首行敲击空格键却不显示空格的问题。这通常与Word的自动更正设置有关。 解决方法 要解决此问题&#xff0c;需要调整Word的自动更正设置。具体步骤如下&#xff1a; 打开Word的"自动更…...

vue+element上传图片

一、html页面上传图片 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> <…...

用ChatGPT提升工作效率:从理论到实际应用

伴人工智能技术的迅速演进&#xff0c;像ChatGPT这类语言模型已成为提升工作效率的关键工具。这类模型不仅具备处理海量数据的能力&#xff0c;还能自动化许多日常任务&#xff0c;从而提高决策的准确性。本文将深入探讨如何在工作中利用ChatGPT等AI工具提升效率&#xff0c;涵…...

【更新 v 2.7.5 版本】桌面版 Open Claw 本地一键部署指南

✨ 核心亮点 零代码门槛&#xff5c;全程可视化&#xff5c;无需手动配环境&#xff5c;内置所有依赖&#xff5c;28 万 Tokens 额度 &#x1f517; 下载地址 https://xiake.yun/api/download/package/16?promoCodeIV8E496E2F7A &#x1f4dd; 前言 开源圈热门的「数字员…...

PowerBI主题模板终极指南:35款专业模板一键美化数据报表

PowerBI主题模板终极指南&#xff1a;35款专业模板一键美化数据报表 【免费下载链接】PowerBI-ThemeTemplates Snippets for assembling Power BI Themes 项目地址: https://gitcode.com/gh_mirrors/po/PowerBI-ThemeTemplates 还在为PowerBI报表的单调外观而烦恼吗&…...

长期使用Taotoken Token Plan套餐对项目研发成本的控制效果

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken Token Plan套餐对项目研发成本的控制效果 在项目研发中&#xff0c;大模型API调用成本是预算管理的重要一环。对…...

从一次任务到一次进化:完整拆解 Skill 创建、复用、修补链路

点击上方 前端Q&#xff0c;关注公众号回复加群&#xff0c;加入前端Q技术交流群写到这一篇&#xff0c;第二章的拼图终于齐了。 前面四篇我把 Hermes 的自学习系统拆成了 4 个零件&#xff1a;Memory&#xff08;记知识&#xff09;、Skill&#xff08;记做法&#xff09;、Nu…...

获 800 万美元融资,MAU 超 40 万!「shapes」AI 社交能否成下一代聊天应用?

《「shapes」获 800 万美元种子轮融资&#xff0c;AI 助力社交“入场”&#xff0c;能否成下一代聊天应用&#xff1f;》这几天&#xff0c;我在「shapes」随机进了个陌生群聊&#xff0c;发了句 "hello"&#xff0c;三秒内就有 AI 角色接上&#xff0c;回了串热情有…...

5分钟让你的Python应用拥有Windows 11专业界面:py-window-styles完全指南

5分钟让你的Python应用拥有Windows 11专业界面&#xff1a;py-window-styles完全指南 【免费下载链接】py-window-styles Customize your python UI window with awesome pre-built windows 11 themes. 项目地址: https://gitcode.com/gh_mirrors/py/py-window-styles 还…...

如何永久保存你的数字记忆:WeChatMsg终极免费指南与AI相册创新

如何永久保存你的数字记忆&#xff1a;WeChatMsg终极免费指南与AI相册创新 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…...

InfluxDB Studio:如何用一款工具解决时间序列数据库管理的三大痛点

InfluxDB Studio&#xff1a;如何用一款工具解决时间序列数据库管理的三大痛点 【免费下载链接】InfluxDBStudio InfluxDB Studio is a UI management tool for the InfluxDB time series database. 项目地址: https://gitcode.com/gh_mirrors/in/InfluxDBStudio 时间序…...

VoiceFixer终极指南:三分钟让模糊录音变清晰的免费语音修复神器

VoiceFixer终极指南&#xff1a;三分钟让模糊录音变清晰的免费语音修复神器 【免费下载链接】voicefixer General Speech Restoration 项目地址: https://gitcode.com/gh_mirrors/vo/voicefixer 你是否曾经因为一段珍贵的录音模糊不清而遗憾&#xff1f;也许是重要的会议…...

视频修复终极指南:3步拯救你的损坏视频文件

视频修复终极指南&#xff1a;3步拯救你的损坏视频文件 【免费下载链接】untrunc Restore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video. 项目地址: https://gitcode.com/gh_mirrors/unt/untrunc 你是否曾经遇到过这…...