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隧道模式(负载均衡)相关推荐

  1. 企业运维实战--lvs之DR模式负载均衡、keepalived、lvs高可用

    LVS 介绍 lvs 负载均衡( linux virtual server),linux虚拟服务器,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求 ...

  2. Lvs Tun隧道模式配置

    ######## TUN是IP Tunneling ,IP隧道的简称,它将调度器收到的IP数据包封装在一个新的IP数据包中,转交给应用服务器,然后实际服务器的返回数据会直接返回给用户. 工作原理: 用 ...

  3. LVS+Keepalived-DR模式负载均衡高可用集群

    LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...

  4. 运维企业专题(6)LVS高可用与负载均衡中篇——VS/TUN模式配置详解

    VS/TUN隧道模式(原理就是将传输报头加一个IP进行封装),DR和NAT模式都不能跨网络,IP隧道可以,但是弊端是:IP报文进行传递时不能跨过MTU传输单元 实验准备 1.下面的实验使用的是rhel ...

  5. LVS DR模式 负载均衡服务搭建

    LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层 ...

  6. LVS详解及基于LVS实现web服务器负载均衡

    前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.通过LVS提供的 ...

  7. LVS集群-DR负载均衡集群

    LVS集群-DR负载均衡集群 服务介绍 Director 分配请求到不同的real server. real server 处理请求后直接回应给用户,这样director 负载均衡器仅处理客户机与服务 ...

  8. Lvs+Keepalived高可用负载均衡配置

    Lvs+Keepalived高可用负载均衡配置 环境介绍: vip=192.168.3.80   (负载均衡虚拟ip) lvs+keepalived_master          eth0:172. ...

  9. 分布式数据库DDM Sidecar模式负载均衡

    1 简介 分布式数据库中间件 DDM 分布式数据库中间件(Distributed Database Middleware)是解决数据库容量.性能瓶颈和分布式扩展问题的中间件服务,提供分库分表.读写分离 ...

最新文章

  1. 2009第二届C++技术大会即将在上海隆重召开
  2. jittor和pytorch生成网络对比之softmax_gan
  3. 加载dict_Pytorch模型resume training,加载模型基础上继续训练
  4. 快速解读linq语法
  5. HTML在手机上实现直接拨打电话以及发送短信
  6. Activity Intent相关FLAG介绍
  7. 一个技术人的知识管理方法论
  8. nfc sim android8,Android NFC相关资料之MifareClassic卡(读写)
  9. docker部署python web应用_安装docker并部署web项目
  10. 华为云MVP:来自工业制造领域的微服务与云平台实践
  11. 2009-03-24 20:01 Matlab 7.0 添加BNT工具箱(转)
  12. 算法的基本控制结构之选择结构
  13. innodb事务锁的一些常见数据结构
  14. python怎么重新运行,如何让python程序重新运行其
  15. 非同质化代币(NFT)概述
  16. 视频教程 C语言全套视频教程(已更新完毕
  17. 英飞凌XC2000系列CAN BootLoader(CAN_BSL)的实现
  18. 典型问题分析——三方应用网络异常分析方法
  19. 苹果6s照相快门声音设置_苹果手机内置录屏技巧,还能加入自己的声音,花3秒钟设置一下...
  20. 选择商品的时候,弹不出来商品选择框

热门文章

  1. Linux学习笔记015---Centos关机命令
  2. pylon 内存泄露的问题
  3. ubuntu登陆死循环(全是搜狗拼音的锅!!!!!!!!!!!)
  4. html中输出 u263c,二级C语言笔试必过399题
  5. redhat 7 oracle 11,redhat7 搭建oracle 11g RAC 问题与处理
  6. 机器学习与计算机视觉(被忽视的isp图像处理)
  7. eve星战前夜登录提示服务器维护中,EVE星战前夜进不去怎么办 游戏进不去问题解决方法...
  8. c++ 写入文件_利用Python把数据存储在csv文件中
  9. linux7自动挂载怎么做,CentOS7 Virtual Box 开机自动挂载共享文件夹
  10. linux git添加密钥,centos – 无法在Gitlab上创建项目或添加ssh密钥