LVS——TUN隧道模式(负载均衡)
1、什么IP隧道技术?
简单来说IP隧道技术就是将 【IP数据包】 的上面再封装一层【IP数据包】, 然后路由器根据最外层的IP地址路由到目的地服务器,目的地服务器拆掉最外层的IP数据包,拿到里面的IP数据包进行处理。
2、LVS-TUN模式是如何工作的?
用户请求负载均衡服务器,当IP数据包到达负载均衡服务器后,根据算法选择一台真实的服务器,然后通过IP隧道技术将数据包原封不动再次封装,并发送给真实服务器,当这个数据包到达真实服务器以后,真实服务器进行拆包(拆掉第一层的IP包)拿到里面的IP数据包进行处理,然后将结果直接返回给客户端。
3、lvs隧道模式原理(ip隧道协议)
ip隧道是一个将ip报文封装到另一个ip报文的技术,这可以使得目标为一个ip地址的数据报文被封装和转发到另一个ip地址。ip隧道技术也成为ip封装技术。
lvs隧道模式类似于vpn的方式,使用网络分层的原理,在客户端发的数据包的基础上,封装一个新的ip头标记,根据调度算法,将封装后的数据包放松给realserver,realserver收到后,先把dr发过来的数据包的头给解开,还原其数据包原样,处理后直接返回给客户端。由于realserver需要将封装后的数据包还原,也就是将一个数据包变为另一个数据包,所以realserver也需要支持ip隧道协议。
4、实验
实验环境:
实验步骤:
server1主机上:
1、首先删除之前在eth0网卡上添加的ip172.25.12.100删除,然后添加虚拟网卡(隧道),在隧道tunl0上添加ip,如下所示:
ip addr del 172.25.10.100/24 dev eth0 ###删除eth0上的ip modprobe ipip ###安装虚拟网卡 ip addr add 172.25.10.100/24 dev tunl0 ###添加ip到虚拟网卡ip a ##查看ip
2、将虚拟网卡激活并查看状态,如下所示:
ip link set up tunl0 ###激活网卡,只要不在down状态都可以使用
ip a
注意:此时虚拟网卡的状态是DOWN,只要不在down状态都可以
3、清除之前做的ipvsadm配置,再次查看发现没有策略,如下所示:
ipvsadm -C ###清除策略ipvsadm -ln
4、添加新的策略,如下所示:
ipvsadm -A -t 172.25.10.100:80 -s rr ###论循ipvsadm -a -t 172.25.10.100:80 -r 172.25.10.2:80 -i ###-i表示隧道模式ipvsadm -a -t 172.25.10.100:80 -r 172.25.10.3:80 -isystemctl restart ipvsadm.service cat /etc/sysconfig/ipvsadm
server3主机上:
1、删除之前在eth0网卡上添加的ip172.25.12.100删除,然后添加虚拟网卡(隧道),在隧道tunl0上添加ip,如下所示:
ip addr del 172.25.10.100/24 dev eth0 ###删除eth0上的ip modprobe ipip ###安装虚拟网卡 ip addr add 172.25.10.100/24 dev tunl0 ###添加ip到虚拟网卡ip a ##查看ip
2、将虚拟网卡激活并查看状态,如下所示:
ip link set up tunl0 ###激活网卡,只要不在down状态都可以使用
ip a
3、查看rp_filter的参数并修改(关闭所有的反向,即将其都设置成0,但是其中的net.ipv4.conf.default.rp_filter参数必须通过文件修改)
sysctl -a | grep rp_filter ###反向过滤规则,需要关闭,0表示关闭sysctl -w net.ipv4.conf.all.rp_filter=0sysctl -w net.ipv4.conf.default.rp_filter=0sysctl -w net.ipv4.conf.eth0.rp_filter=0sysctl -w net.ipv4.conf.tunl0.rp_filter=0
配置文件中的修改内容如下:
4、刷新,再次查看,发现修改成功,如下所示:
sysctl -a | grep rp_filter
sysctl -p
sysctl -a | grep rp_filter
server2主机上:
1、删除之前在eth0网卡上添加的ip172.25.12.100删除,然后添加虚拟网卡(隧道),在隧道tunl0上添加ip,如下所示:
ip addr del 172.25.10.100/24 dev eth0 ###删除eth0上的ip modprobe ipip ###安装虚拟网卡 ip addr add 172.25.10.100/24 dev tunl0 ###添加ip到虚拟网卡ip a ##查看ip
2、将虚拟网卡激活并查看状态,并关闭所有的反向和net.ipv4.conf.default.rp_filter参数,如下所示:
ip link set up tunl0 ###激活网卡,只要不在down状态都可以使用
sysctl -a | grep rp_filter
sysctl -w net.ipv4.conf.all.rp_filter=0
sysctl -w net.ipv4.conf.default.rp_filter=0
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl -w net.ipv4.conf.tunl0.rp_filter=0
配置文件中的修改内容如下:
3、刷新,再次查看,发现修改成功,如下所示:
sysctl -a | grep rp_filter
sysctl -p
sysctl -a | grep rp_filter
物理机测试:
curl 172.25.10.100 ###发现来回切换
curl 172.25.10.100
curl 172.25.10.100
curl 172.25.10.100
LVS——TUN隧道模式(负载均衡)相关推荐
- 企业运维实战--lvs之DR模式负载均衡、keepalived、lvs高可用
LVS 介绍 lvs 负载均衡( linux virtual server),linux虚拟服务器,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求 ...
- Lvs Tun隧道模式配置
######## TUN是IP Tunneling ,IP隧道的简称,它将调度器收到的IP数据包封装在一个新的IP数据包中,转交给应用服务器,然后实际服务器的返回数据会直接返回给用户. 工作原理: 用 ...
- LVS+Keepalived-DR模式负载均衡高可用集群
LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...
- 运维企业专题(6)LVS高可用与负载均衡中篇——VS/TUN模式配置详解
VS/TUN隧道模式(原理就是将传输报头加一个IP进行封装),DR和NAT模式都不能跨网络,IP隧道可以,但是弊端是:IP报文进行传递时不能跨过MTU传输单元 实验准备 1.下面的实验使用的是rhel ...
- LVS DR模式 负载均衡服务搭建
LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层 ...
- LVS详解及基于LVS实现web服务器负载均衡
前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.通过LVS提供的 ...
- LVS集群-DR负载均衡集群
LVS集群-DR负载均衡集群 服务介绍 Director 分配请求到不同的real server. real server 处理请求后直接回应给用户,这样director 负载均衡器仅处理客户机与服务 ...
- Lvs+Keepalived高可用负载均衡配置
Lvs+Keepalived高可用负载均衡配置 环境介绍: vip=192.168.3.80 (负载均衡虚拟ip) lvs+keepalived_master eth0:172. ...
- 分布式数据库DDM Sidecar模式负载均衡
1 简介 分布式数据库中间件 DDM 分布式数据库中间件(Distributed Database Middleware)是解决数据库容量.性能瓶颈和分布式扩展问题的中间件服务,提供分库分表.读写分离 ...
最新文章
- 2009第二届C++技术大会即将在上海隆重召开
- jittor和pytorch生成网络对比之softmax_gan
- 加载dict_Pytorch模型resume training,加载模型基础上继续训练
- 快速解读linq语法
- HTML在手机上实现直接拨打电话以及发送短信
- Activity Intent相关FLAG介绍
- 一个技术人的知识管理方法论
- nfc sim android8,Android NFC相关资料之MifareClassic卡(读写)
- docker部署python web应用_安装docker并部署web项目
- 华为云MVP:来自工业制造领域的微服务与云平台实践
- 2009-03-24 20:01 Matlab 7.0 添加BNT工具箱(转)
- 算法的基本控制结构之选择结构
- innodb事务锁的一些常见数据结构
- python怎么重新运行,如何让python程序重新运行其
- 非同质化代币(NFT)概述
- 视频教程 C语言全套视频教程(已更新完毕
- 英飞凌XC2000系列CAN BootLoader(CAN_BSL)的实现
- 典型问题分析——三方应用网络异常分析方法
- 苹果6s照相快门声音设置_苹果手机内置录屏技巧,还能加入自己的声音,花3秒钟设置一下...
- 选择商品的时候,弹不出来商品选择框
热门文章
- Linux学习笔记015---Centos关机命令
- pylon 内存泄露的问题
- ubuntu登陆死循环(全是搜狗拼音的锅!!!!!!!!!!!)
- html中输出 u263c,二级C语言笔试必过399题
- redhat 7 oracle 11,redhat7 搭建oracle 11g RAC 问题与处理
- 机器学习与计算机视觉(被忽视的isp图像处理)
- eve星战前夜登录提示服务器维护中,EVE星战前夜进不去怎么办 游戏进不去问题解决方法...
- c++ 写入文件_利用Python把数据存储在csv文件中
- linux7自动挂载怎么做,CentOS7 Virtual Box 开机自动挂载共享文件夹
- linux git添加密钥,centos – 无法在Gitlab上创建项目或添加ssh密钥