前言:
TUN模式(隧道模式)
原理:
virtual server via ip tunneling模式,采用NAT模式时,由于请求和
响应的报文必须通过调度器地址重写,当用户请求越来越多时,调度
器处理能力将成为瓶颈,为了解决这个问题,调度器把请求的报文通
过IP隧道转发到真实的服务器,真实的服务器将响应处理后的数据直
接返回到客户端,这样调度器九值处理请求入站的报文,由于一般网
络读物应答数据比请求报文大很多,彩英VS/TUN模式后,集群系统的
最大吞吐量可以提高10倍。
VS/TUN的工作流程图如下所示,它与NAT模式不同的是,他在LB和
RS之间的传输不用改写IP地址,而是把客户请求的数据包封装在一
个IP tunnel里面,然后发送给RS节点服务器,节点服务器接收之后
解开 IP tunnel后,进行响应处理,并且直接把包通过自己的外网地
址发送给客户,不用经过LB服务器。
Tunnel原理流程图:
正文:
一、进行实验环境的配置
1、进行策略的清空
ipvsadm -C ###进行策略的清空
ipvsadm -ln ###进行策略的查看
2、进行模块的添加和隧道的打开
modprobe ipip ##添加ipip模块
ip a ###进行隧道的查看
3、进行隧道的打开
ip addr add 172.25.68.100/24 dev tunl0 ###进行隧道的网络的添加
ip link set up tunl0 ###进行隧道的打开
ip a ###进行隧道的查看
二、进行策略的部署
1、进行策略的部署
ipvsadm -A -t 172.25.68.100:80 -s rr
ipvsadm -a -t 172.25.68.100:80 -r 172.25.68.2:80 -i
ipvsadm -a -t 172.25.68.100:80 -r 172.25.68.3:80 -i ###其中i表示隧道模式
2、进行策略的查看
ipvsadm -ln ###进行策略的查看
3、进行策略的保存
/etc/init.d/ipvsadm save ###进行策略的保存
三、在服务器上进行隧道的打开和关闭防火墙的过滤
server2:
1、进行模块的添加和隧道的开启
modprobe ipip ##添加ipip模块
ip addr add 172.25.68.100/32 dev tunl0
ip link set up tunl0
ip a ###进行隧道状态的查看
2、将反向过滤关闭 (linux系统反向过滤 系统在接收到一个IP包后
,检查该IP是不是合乎要求,不合要求的IP包会被系统丢弃)
sysctl -a | grep rp_filter ###查看反向过滤的状态
sysctl -w net.ipv4.conf.lo.rp_filter=0
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl -w net.ipv4.conf.tunl0.rp_filter=0 ###进行反向过滤的关闭
vim /etc/sysctl.conf ###进行配置文件的编辑
net.ipv4.conf.default.rp_filter = 0
3、进行重新加载
sysctl -p ###进行重新加载
server3:
1、进行模块的添加和隧道的开启
modprobe ipip ##添加ipip模块
ip addr add 172.25.68.100/32 dev tunl0
ip link set up tunl0
ip a ###进行隧道状态的查看
2、将反向过滤关闭 (linux系统反向过滤 系统在接收到一个IP包后
,检查该IP是不是合乎要求,不合要求的IP包会被系统丢弃)
sysctl -a | grep rp_filter ###查看反向过滤的状态
sysctl -w net.ipv4.conf.lo.rp_filter=0
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl -w net.ipv4.conf.tunl0.rp_filter=0 ###进行反向过滤的关闭
vim /etc/sysctl.conf ###进行配置文件的编辑
net.ipv4.conf.default.rp_filter = 0
3、进行重新加载
sysctl -p ###进行重新加载
四、在真机上进行相关测试
curl 172.25.68.100