LVS(虚拟服务器)实现负载均衡——TUN模式

LVS-TUN模式工作原理

和DR模式差不多,但是比DR多了一个隧道技术以支持realserver不在同一个物理环境中。就是realserver一个在北京,一个工作在上海。

在原有的IP报文外再次封装多一层IP首部,内部IP首部(源地址为CIP,目标IIP为VIP),外层IP首部(源地址为DIP,目标IP为RIP
在这里插入图片描述

1.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP。

2.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将在客户端请求报文的首部再封装一层IP报文,将源地址改为DIP,目标地址改为RIP,并将此包发送给RS。

3.RS收到请求报文后,会首先拆开第一层封装,然后发现里面还有一层IP首部的目标地址是自己lo接口上的VIP,所以会处理次请求报文,并将响应报文通过lo接口送给eth0网卡(这个网卡一般指和调度器在一个网段的网卡)直接发送给客户端。注意:需要设置lo接口的VIP不能在公网上出现

LVS-TUN的特点

特点:
(1)RIP,DIP可以使用私有地址;
(2)RIP和DIP可以不再同一个网络中,且RIP的网关未必需要指向DIP;
(3)支持端口映射;
(4)RS的OS可以使用任意类型;
(5)请求报文经由Director,响应报文也经由Director

配置环境

sfj1(172.25.69.1)负载均衡服务器
sfj2(172.25.69.2)后端真实服务器web1
sfj3(172.25.69.3)后端真实服务器web2

负载均衡服务器
[root@sfj1 ~]# modprobe ipip  #添加隧道模式模块
[root@sfj1 ~]# ip addr show # 多出一个tunl0网卡

在这里插入图片描述

[root@sfj1 ~]# ip addr add 172.25.69.100/24 dev tunl0  # 添加IP
[root@sfj1 ~]# ip addr show

在这里插入图片描述

[root@sfj1 ~]# ip link set up tunl0   #激活tunl0网卡
[root@sfj1 ~]# ip addr show

在这里插入图片描述

添加策略

[root@sfj1 ~]# ipvsadm -A -t 172.25.69.100:80 -s rr
[root@sfj1 ~]# ipvsadm -a -t 172.25.69.100:80 -r 172.25.69.2:80 -i
[root@sfj1 ~]# ipvsadm -a -t 172.25.69.100:80 -r 172.25.69.3:80 -i
[root@sfj1 ~]# ipvsadm -Ln
[root@sfj1 ~]# cat /etc/sysconfig/ipvsadm #文件方式查看策略

在这里插入图片描述
在这里插入图片描述

后端服务器sfj2
[root@sfj2 network-scripts]# modprobe ipip
[root@sfj2 ~]# ip addr add 172.25.69.100/24 dev tunl0
[root@sfj2 ~]# ip link set up tunl0
[root@sfj2 ~]# ip addr show

在这里插入图片描述

此时在客户端访问172.25.69.100会失败,因为隧道模式,有反向校验的功能,需要将其sfj2,sfj3的反向校验功能关闭,否则后端服务器不会返回数据

[root@sfj2 ~]# sysctl -a | grep rp_filter   # 查看反响检验参数

在这里插入图片描述

[root@sfj2 ~]# sysctl -w net.ipv4.conf.all.rp_filter=0  # -w为临时改变
net.ipv4.conf.all.rp_filter = 0
[root@sfj2 ~]# sysctl -w net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.default.rp_filter = 0
[root@sfj2 ~]# sysctl -w net.ipv4.conf.eth0.rp_filter=0
net.ipv4.conf.eth0.rp_filter = 0
[root@sfj2 ~]# sysctl net.ipv4.conf.tunl0.rp_filter=0
net.ipv4.conf.tunl0.rp_filter = 0
[root@sfj2 ~]# sysctl -a | grep rp_filter
[root@sfj2 ~]# sysctl -p  # -p表示从文件中加载系统参数,使修改生效
[root@sfj2 ~]# sysctl -a | grep rp_filter

在这里插入图片描述
在这里插入图片描述

后端服务器sfj3

与sfj2配置相同

客户端测试

成功进行轮询
在这里插入图片描述

验证完毕后卸载隧道模式模块网卡

modprobe -r ipip #卸载
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值