LVS模式三:TUN隧道模式

IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。IP隧道技术亦称为IP封装技术(IP encapsulation)。IP隧道主要用于移动主机和虚拟私有网络(Virtual Private Network),在其中隧道都是静态建立的,隧道一端有一个IP地址,另一端也有唯一的IP地址
这里写图片描述

TUN 模式LVS的配置:

1.在server1,server2,server3上添加隧道(三个都要添加,因为在虚拟服务器和真实服务器之间是直接通过隧道交换包的)

modprobe ipip

之后将三台服务器上隧道全部激活

ip link set up tunl0

2.在sever1,server2和server3上通过隧道添加对外暴露的VIP

 ip addr add 172.25.77.100/24 dev tunl0

3.因为在一个网内,如果三台服务器有着相同的ip,那么会发生冲突,那么我们可以利用arptables将servere2和server3的ip端口对外隐藏。

(1)在server2和server3上打开arptables_jf
/etc/init.d/arptables_jf start2)添加DROP策略
arptables -A IN -d 172.25.77.100 -j DROP

这里写图片描述
4.在server2和server3上修改rp_filter参数

sysctl -w net.ipv4.conf.tunl0.rp_filter=0

为什么要修改这个参数呢?是因为:
rp_filter参数用于控制系统是否开启对数据包源地址的校验。
有三个值,0、1、2,具体含义:
0:不开启源地址校验。
1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包。
2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),如果反向路径不同,则直接丢弃该数据包。

5.在server上清除之前的策略重新添加新的策略

 ipvsadm -C   #清除策略
 ipvsadm -A -t 172.25.1.100:80 -s rr   #添加vip,对后端服务器采用rr算法
 ipvsadm -a -t 172.25.1.100:80 -r 172.25.1.2:80 -i   #添加后端真实服务器server2
 ipvsadm -a -t 172.25.1.100:80 -r 172.25.1.3:80 -i   #添加后端真实服务器servere3

这里写图片描述
6.在测试端测试curl172.25.77.100
这里写图片描述
调度器处的情况:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/jay_youth/article/details/81320792