VS TUN模式

Virtual Server via IP Tunneling
  在VS/TUN 的集群系统中,负载调度器只将请求调度到不同的后端服务器,后端服务器将应答的数据直接返回给用户。这样,负载调度器就可以处理大量的请求,它甚至可以调 度百台以上的服务器(同等规模的服务器),而它不会成为系统的瓶颈。即使负载调度器只有100Mbps的全双工网卡,整个系统的最大吞吐量可超过 1Gbps。所以,VS/TUN可以极大地增加负载调度器调度的服务器数量。VS/TUN调度器可以调度上百台服务器,而它本身不会成为系统的瓶颈,可以 用来构建高性能的超级服务器。
  VS/TUN技术对服务器有要求,即所有的服务器必须支持“IP Tunneling”或者“IP Encapsulation”协议。目前,VS/TUN的后端服务器主要运行Linux操作系统,我们没对其他操作系统进行测试。因为“IP Tunneling”正成为各个操作系统的标准协议,所以VS/TUN应该会适用运行其他操作系统的后端服务器。

一.环境配置

server1 (调度器)IP:172.25.0.116

server2 (服务器)IP:172.25.0.117

server3 (服务器)IP:172.25.0.118

1.在server1中设置如下:

modprobe ipip 加载隧道模块,ip addr出现tunl0网卡

Linux系统内核实现的IP隧道技术主要有三种(PPP、PPTP和L2TP等协议或软件不是基于内核模块的):ipip、gre、sit 。这三种隧 道技术都需要内核模块 tunnel4.ko 的支持。ipip 需要内核模块 ipip.ko ,该方式最为简单!但是你不能通过IP-in-IP隧道 转发广播或者IPv6数据包。你只是连接了两个一般情况下无法直接通讯的IPv4网络而已。至于兼容性,这部分代码已经有很长一段历史了,它的兼容性可以 上溯到1.3版的内核。据网上查到信息,Linux的IP-in-IP隧道不能与其他操作系统或路由器互相通讯。它很简单,也很有效。

ip link set up tunl0 #启用网卡

ip addr add 172.25.0.120/24 dev tunl0 #给网卡添加ip

2.server1写入策略

ipvsadm -A -t 172.25.0.120:80 -s rr

ipvsadm -a -t 172.25.0.120:80 -r 172.25.0.117:80 -i  #-m表示tun模型

ipvsadm -a -t 172.25.0.120:80 -r 172.25.0.118:80 -i

在server2中设置如下:

安装arptables_jf包

添加策略(arptables -nL查看策略)

arptables -A IN -d 172.25.0.120:80 -j DROP    ##不缓存ip的MAC地址

arptables -A OUT -s 172.25.0.120:80 -j mangle --mangle-ip-s 172.25.0.120 ##mangle是转换

ip link set up tunl0 #启用网卡

ip addr add 172.25.28.100/24 dev tunl0 #给网卡添加ip

server3中同样进行server2中的操作

测试:在client访问vip实现了轮询

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值