TUN模式:
1.客户端将访问vip报文发送给LVS服务器;
2.LVS服务器将请求报文重新封装,发送给后端真实服务器;
3.后端真实服务器将请求报文解封,在确认自身有vip之后进行请求处理;
4.后端真实服务器在处理完数据请求后,直接响应客户端。
要求:
1.lvs和后端真实服务器上都要有vip。
2.不会成为瓶颈。
3.请求的报文不能太大。
优点:
1.快速
2.不安全,不能抵抗DOS攻击
在server1上:
ip addr
添加隧道tun:
ip addr add 172.25.3.100/24 dev tunl0
ip link set up dev tunl0
ip addr ##查看是否添加上 tunl0
添加规则:
yum install ipvsadm -y
ipvsadm -A -t 172.25.3.100:80 -s rr
ipvsadm -a -t 172.25.3.100:80 -r 172.25.3.2:80 -i
ipvsadm -a -t 172.25.3.100:80 -r 172.25.3.3:80 -i
禁用rp_filter内核和打开内部路由
vim /etc/sysctl.conf ##更改设置
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
sysctl -p ###查看配置
在server2上:
安装arptables_jf
因为设置172.25.3.100/24作为vip,不可以和外部通信,所以设用arptables将其的访问全部DROP,出去的包全部转化为本机的ip
添加策略:
yum install arptables_jf
arptables -A IN -d 172.25.3.100 -j DROP
arptables -A OUT -s 172.25.3.100 -j mangle --mangle-ip-s 172.25.3.2
arptables -L -n ###查看策略添加情况
/etc/init.d/arptables_jf save
禁用rp_filter内核和打开内部路由
vim /etc/sysctl.conf ##更改设置
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
sysctl -p ###刷新
添加隧道tun:
ip addr add 172.25.3.100/24 dev tunl0
ip link set up dev tunl0
ip addr ##查看是否添加上 tunl0
在server3中:
安装arptables_jf
因为设置172.25.3.100/24作为vip,不可以和外部通信,所以设用arptables将其的访问全部DROP,出去的包全部转化为本机的ip
添加策略:
yum install arptables_jf
arptables -A IN -d 172.25.3.100 -j DROP
arptables -A OUT -s 172.25.3.100 -j mangle --mangle-ip-s 172.25.3.3
arptables -L -n ###查看策略添加情况
/etc/init.d/arptables_jf save
禁用rp_filter内核和打开内部路由
vim /etc/sysctl.conf ##更改设置
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
sysctl -p ###刷新
添加隧道tun:
ip addr add 172.25.3.100/24 dev tunl0
ip link set up dev tunl0
ip addr ##查看是否添加上 tunl0
在真机中访问:
Curl 172.25.3.100 ##出现轮询即ok