负载均衡LVS的TUN模式隧道搭建

早过忘川 提交于 2019-12-23 14:01:14

TUN的LVS负载均衡

在LVS(NAT)模式的集群环境中,由于所有的数据请求及响应的数据包都需要经过LVS调度器转发,如果后端服务器的数量大于10台,则调度器就会成为整个集群环境的瓶颈。我们知道,数据请求包往往远小于响应数据包的大小。因为响应数据包中包含有客户需要的具体数据,所以LVS(TUN)的思路就是将请求与响应数据分离,让调度器仅处理数据请求,而让真实服务器响应数据包直接返回给客户端。其中,IP隧道(IP tunning)是一种数据包封装技术,它可以将原始数据包封装并添加新的包头(内容包括新的源地址及端口、目标地址及端口),从而实现将一个目标为调度器的VIP地址的数据包封装,通过隧道转发给后端的真实服务器(Real Server),通过将客户端发往调度器的原始数据包封装,并在其基础上添加新的数据包头(修改目标地址为调度器选择出来的真实服务器的IP地址及对应端口),LVS(TUN)模式要求真实服务器可以直接与外部网络连接,真实服务器在收到请求数据包后直接给客户端主机响应数据。

实验环境配置

server1 为lvs的服务主机
server2 为后端服务器1
server3 也为后端服务器2

1,server1配置

modprobe ipip  #添加隧道模式模块
ip addr show # 多出一个tunl0网卡
ip addr add 172.25.88.100/24 dev   tunl0  #添加IP
ip link set up tunl0   #激活tunl0网卡
ipvsadm -A -t 172.25.88.100:80 -s rr
ipvsadm -a -t 172.25.88.100:80 -r 172.25.88.2:80 -i
ipvsadm -a -t 172.25.88.100:80 -r 172.25.88.3:80 -i
ipvsadm -Ln
cat /etc/sysconfig/ipvsadm #文件方式查看策略

2,server2配置

modprobe ipip
ip addr add 172.25.88.100/24 dev tunl0
ip link set up tunl0
ip addr show
因为隧道模式,有反向校验的功能要关闭效验,
sysctl -a | grep re_filter  #修改内核效验功能为0
sysctl -w net.ipv4.conf.all.rp_filter=0  # -w为临时改变
sysctl -w net.ipv4.conf.default.rp_filter=0
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl net.ipv4.conf.tunl0.rp_filter=0

3,server3配置

modprobe ipip
ip addr add 172.25.88.100/24 dev tunl0
ip link set up tunl0
ip addr show
因为隧道模式,有反向校验的功能要关闭效验,
sysctl -a | grep re_filter  #修改内核效验功能为0
sysctl -w net.ipv4.conf.all.rp_filter=0  # -w为临时改变
sysctl -w net.ipv4.conf.default.rp_filter=0
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl net.ipv4.conf.tunl0.rp_filter=0

modprobe -r ipip #卸载网卡

4,真机测试

curl  172.25.88.100
server2 和 server 2轮询
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!