LVS-TUN模式负载均衡构建配置
2018-08-13 14:45
417 查看
过程(用IP隧道技术实现虚拟服务器)
Client->VS->RS->client
采用NAT技术时,由于请求和响应都需要通过调度器进行地址的改写,那么当客户端的请求越来越多的时候,调度器的处理能力就会成为一个瓶颈。为了解决这个问题,调度器通过IP隧道,将客户端的请求通过IP隧道,发送给真实的服务器,服务器处理完请求之后,将响应请求的IP改为调度器的IP,然后将响应报文发送给客户端。
原理详情:
1.客户请求数据包,目标地址VIP(调度器的IP地址)发送到调度器上
2.调度器接收到客户请求包,进行IP Tunnel封装,在原有的包头加上IP Tunnel的包头,然后发送给服务器
3.服务器根据IP Tunnel包头信息(此时就又一种逻辑上的隐形隧道,只有调度器和服务器之间懂)收到请求包,然后解开IP Tunnel包头信息,得到客户的请求包并进行响应处理
4.响应处理完毕之后,服务器使用自己的出公网的线路,将这个响应数据包发送给客户端,源IP地址还是VIP地址
实验环境
iptables和selinux关闭
redhat6.5
VS:server1 172.25.35.51 VIP:172.25.35.61
RS:server2 172.25.35.52 VIP:172.25.35.61
RS:server3 172.25.35.53 VIP:172.25.35.61
VS:
[root@server1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 //添加vip,内容如下
[root@server1 ~]# /etc/init.d/network restart //重启网络 [root@server1 ~]# ipvsadm -C //清除所有策略 [root@server1 ~]# ipvsadm -A -t 172.25.35.61:80 -s rr [root@server1 ~]# ipvsadm -a -t 172.25.35.61:80 -r 172.25.35.53 -i //-i 表示隧道模式 [root@server1 ~]# ipvsadm -a -t 172.25.35.61:80 -r 172.25.35.52 -i [root@server1 ~]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 172.25.35.61:80 rr -> 172.25.35.52:80 Tunnel 1 0 0 -> 172.25.35.53:80 Tunnel 1 0 0 [root@server1 ~]# echo "1" >/proc/sys/net/ipv4/ip_forward //临时开启:sysctl -w net.ipv4.ip_forward=1
RS:(server2、server3操作相同)
server2: [root@server2 network-scripts]# modprobe ipip //也可以在VS执行此命令,加载隧道模块生成tunl0,给tunl0添加vip [root@server2 network-scripts]# ifconfig -a tunl0 Link encap:IPIP Tunnel HWaddr [root@server2 network-scripts]# lsmod | grep ipip ipip 8371 0 tunnel4 2943 1 ipip [root@server2 network-scripts]# vim ifcfg-tunl0 //当临时添加vip时也需要激活tunl0 DEVICE=tunl0 IPADDR=172.25.35.61 NETMASK=255.255.255.0 ONBOOT=yes NAME=tunl0 [root@server2 network-scripts]# /etc/init.d/network restart [root@server2 network-scripts]# vim /etc/sysctl.conf //arp抑制,保证客户不会访问到,只有调度器正常响应 net.ipv4.conf.tunl0.arp_ignore = 1 net.ipv4.conf.tunl0.arp_announce = 2 net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.tunl0.rp_filter = 0 net.ipv4.conf.all.rp_filter = 0 //没有走正常接口就忽略 //临时开启:sysctl -w net.ipv4.tunl0.rp_filter=0 [root@server2 network-scripts]# sysctl -p [root@server2 network-scripts]# echo '0'>/proc/sys/net/ipv4/ip_forward [root@server2 network-scripts]# cat /var/www/html/index.html www.westos.org-Server2 [root@server2 network-scripts]# /etc/init.d/httpd start server3:步骤与server2相同 [root@server3 ~]# cat /var/www/html/index.html www.westos.org [root@server3 ~]# /etc/init.d/httpd start
客户端测试:
发生轮询
相关文章推荐
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- Lvs_DR模式构建配置
- LVS_DR模式构建配置
- LVS+keepalived DR模式配置高可用负载均衡集群
- Lvs之NAT、DR、TUN三种模式的应用配置案例 推荐
- lvs 负载均衡原理及其配置之 nat 模式
- 四层负载均衡LVS DR模式配置
- LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置(DR模式,一个VIP,多个端口)
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- 菜鸟版构建负载均衡集群LVS服务器的搭建配置步骤
- 负载均衡(LVS)DR+(HA)heartbeat主备模式配置案例 推荐
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- LVS+Keepalived构建高可用负载均衡配置方法(配置篇)
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- LVS+Heartbeat+ldirectord构建高可用负载均衡群集(DR模式)
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- LVS-DR模式的配置及Heartbeat+Ldirectord+DR高可用负载均衡集群的搭建