LVS-TUN(隧道模式)

1、环境搭建
server1:172.25.254.1 LB调度机
server2:172.25.254.2 RealServer1
server3:172.25.254.3 RealServer2
Virtual IP:172.25.254.111
client:172.25.254.55

2、LB上配置yum源
1、开启真机的网络共享yum源,共享6.5的镜像
2、server1做为负载均衡的调度机,在server1上面添加负载均衡的yum源配置。
在这里插入图片描述
3、LB调度机加载rule
1、导入ipip模块

modprobe ipip

modprobe 用于在linux系统中加载指定的模块。
Linux系统内核实现的IP隧道技术主要有三种:ipip、gre、sit ;这三种隧道技术都需要内核模块tunnel4.ko的支持。

ipip 需要内核模块ipip.ko,该方式最为简单!但不能通过IP-in-IP隧道转发广播或者IPv6数据包。只是连接了两个一般情况下无法直接通讯的IPv4网络而已。
2、加载rule

[root@server1 ~]# ipvsadm -C	###清除以前的rule
[root@server1 ~]# ipvsadm -A -t 172.25.254.111:80 -s rr
[root@server1 ~]# ipvsadm -a -t 172.25.254.111:80 -r 172.25.254.2:80 -i
[root@server1 ~]# ipvsadm -a -t 172.25.254.111:80 -r 172.25.254.3:80 -i
[root@server1 ~]# /etc/init.d/ipvsadm save

在这里插入图片描述
4、添加TUN网卡接口,绑定VIP
server1:

ip addr add 172.25.254.111/24 dev tunl0
ip link set up tunl0	###激活tunl0

在这里插入图片描述

server2:

[root@server2 ~]# ip addr add 172.25.254.111/32 dev tunl0
[root@server2 ~]# ip link set up tunl0

在这里插入图片描述
server3与server2配置一致

5、RealServer设置

sysctl -a | grep rp_filter

在这里插入图片描述

arp_filter用来控制arp的响应报文的;rp_filter和IP数据包的响应有关。
rp_filte的作用: 用于控制系统是否开启对数据包源地址的校验。
rp_filter参数有三个值,0、1、2,具体含义
0:不开启源地址校验。
1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包。
2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),如果反向路径不通,则直接丢弃该数据包。
arp_filter参数有两个值:0、1,含义如下
0: 内核接口可回复接收到的目标IP为其它接口IP地址的arp请求。看起来这样是错误的,但是通常还是有道理的,因为增加了正常通信的几率。在Linux看来,系统拥有所有配置的IP地址,而不是某个特定端口。只是在复杂的配置情况下,比如负载均衡,才会产生问题。
1:允许系统中多个网络接口工作在相同的网段,在回复某一接口收到的arp请求时,内核根据能否路由源地址为请求的目标IP的数据包,从此接口发出来,决定是否回复arp(通过源IP地址查询出口路由实现)。换句话说,可控制哪个网卡回复arp请求。

tunl0网络接口是虚拟接口,为了实现通信,我们将参数为1的都设置为0:

sysctl -w    ## 直接将修改的参数写入到内存

在这里插入图片描述
6、测试
1、开启server2,server3的httpd服务,用cilent不断访问刷新172.25.254.111,每次出现不同网页则表示成功
在这里插入图片描述

LB虚拟服务器上查看我们每个RealServer各访问了三次
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43314056/article/details/86713065