企业级负载均衡集群—LVS(五)—TUN隧道模式
1.隧道模式
- IP隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可以使得目标为一个IP地址的数据报文能被封装和转发到另一个IP地址。
- IP隧道技术亦称为IP封装技术
- IP隧道主要用于移动主机和虚拟私有网络(Virtual Private Network),在其中隧道都是静态建立的,隧道一端有一个IP地址,另一端也有唯一的IP地址
2.添加隧道
分别在server1、server2和server3中做以下操作:
modprobe ipip #添加隧道
ip addr show #查看是否成功添加
ip addr del 172.25.254.100/32 dev eth0 #删除上一实验中的VIP
ip addr add 172.25.254.100/32 dev tunl0 #隧道添加VIP
ip link set up tunl0 #隧道激活
3.添加策略
在server上清除之前的策略重新添加新的策略:
ipvsadm -C #清除策略
ipvsadm -A -t 172.25.254.100:80 -s rr #添加vip,对后端服务器采用rr算法
ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.2:80 -i #添加后端真实服务器server2
ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.3:80 -i #添加后端真实服务器server3
ipvsadm -l
4.关闭反向过滤规则
在server2和server3中:
sysctl -a | grep rp_filter #把所有等于0的项都改为1
sysctl -w net.ipv4.conf.all.rp_filter=0
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl -w net.ipv4.conf.tunl0.rp_filter=0
sysctl -w net.ipv4.conf.default.rp_filter=0
sysctl -p
sysctl -a | grep rp_filter
为什么要修改这个参数?
rp_filter参数用于控制系统是否开启对数据包源地址的校验
有三个值:
- 0:不开启源地址校验。
- 1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包。
- 2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),如果反向路径不同,则直接丢弃该数据包。
5.测试
curl 172.25.254.100