LVS的TUN模式(隧道模式)

LVS的TUN模式(隧道模式)

工作流程:

1)客户请求数据包,目标地址VIP发送到LB上。

2)LB接收到客户请求包,进行IP Tunnel封装。即在原有的包头加上IP Tunnel的包头。然后发送出去。

3)RS节点服务器根据IP Tunnel包头信息(此时就又一种逻辑上的隐形隧道,只有LB和RS之间懂)收到请求包,然后解开IP Tunnel包头信息,得到客户的请求包并进行响应处理。

4)响应处理完毕之后,RS服务器使用自己的出公网的线路,将这个响应数据包发送给客户端。源IP地址还是VIP地址。

搭建环境

真机:做客户端
虚拟机server3(172.25.76.3):做lvs调度器(DS)
虚拟机server2(172.25.76.2):做后端的web服务器2(RS)
虚拟机server1(172.25.76.1):做后端的web服务器1(RS)

server3中:
modprobe ipip								添加ipip模块
ip addr add 172.25.66.100/24 dev tunl0		在隧道网卡上添加vip
ipvsadm -A -t 172.25.66.100:80 -s rr
ipvsadm -a -t 172.25.66.100:80 -r 172.25.66.2:80 -i	 隧道模式
ipvsadm -a -t 172.25.66.100:80 -r 172.25.66.1:80 -i
ip link set up tunl0				激活(是unknow,只要不是down就可以)

LVS的TUN模式(隧道模式)_第1张图片
LVS的TUN模式(隧道模式)_第2张图片

server2和server1中:
modprobe ipip					添加隧道模块
ip addr add 172.25.66.100/32 dev tunl0
ip link set up tunl0

LVS的TUN模式(隧道模式)_第3张图片
LVS的TUN模式(隧道模式)_第4张图片

sysctl -a |grep rp_filter					查看过滤表

sysctl -w net.ipv4.conf.all.rp_filter=0		将所有的过滤规则都关闭
sysctl -w net.ipv4.conf.default.rp_filter=0
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl -w net.ipv4.conf.tunl0.rp_filter=0

sysctl -p								使设置生效

LVS的TUN模式(隧道模式)_第5张图片
LVS的TUN模式(隧道模式)_第6张图片
LVS的TUN模式(隧道模式)_第7张图片

测试:
curl 172.25.66.100

LVS的TUN模式(隧道模式)_第8张图片

你可能感兴趣的:(学习,linux,运维)