lvs的nat集群会将请求报文中的目标地址和目标端口修改成选定到的真实服务器的Ip和端口,从而实现报文的转发。
lvs-nat集群应用时由如下几点注意实现:前端
1.RIP和DIP必须在同一个Ip网络中,且应使用私网地址,RS的网关要指向DIP; 2.请求报文和响应报文必须经由Director转发; 3.支持端口映射,可修改请求报文的目标端口; 4.director必须为Linux系统,RS能够为任意系统;
此集群类型的优势在于RS可支持任意TCP/IP操做系统,且仅需一个合法的公网Ip便可部署。可是其缺点为当集群扩展到必定程度后,Director容易成为整个集群系统的瓶颈。算法
lvs-dr集群是Lvs的默认模式,又称为Direct Routing,直接路由模式。经过为请求报文从新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变。后端
在DR 模式下须要在 Director 和 RS 集群绑定同一个 VIP(RS 经过将 VIP 绑定在 loopback 实现)。因为在VIP在同一个网络中的多台服务器上都须要配置,所以必须对RS的ARP响应报文规则进行修改,其方式有三种:服务器
(a) 在前端网关作静态绑定; (b) 在RS上使用arptables工具; # arptables -A IN -d $VIP -j DROP # arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP (c) 在RS上修改内核参数以限制arp通告及应答级别; echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
总的来讲,DR模式在部署时有如下几点须要注意的:网络
1.确保前端路由器将目标Ip为VIP的请求报文发往director; 2.RS的RIP可使用私网地址,也能够是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director; 3.RS跟Director要在同一个物理网络; 4.请求报文要经由Director,但响应不能经由Director,而是由RS直接发往Client; 5.dr模式不支持端口映射;
lvs-dr模式的优势在于:Director只是分发请求,应答包经过单独的路由方法返回给客户端。与Lvs-tun相比,Lvs-dr这种实现方式不须要隧道结构,所以可使用大多数操做系统作为物理服务器。缺点在于要求负载均衡器的网卡必须与物理网卡在一个物理段上。负载均衡
转发方式工做,不修改请求报文的IP首部,而在源IP报文以外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RealServer,RealServer直接响应给客户端(源IP是VIP,目标IP是CIP),lvs-tun模式的优先在于Director只负责将请求包分配给对应的RS,而响应则由RS本身直接应答给客户端,所以director再也不是瓶颈。但其缺点在于须要每一个服务器都支持Ip tunnel协议。工具
lvs-fullnat模式,即经过同时修改请求报文的源IP地址和目标IP地址进行转发的模式。此类型的模式,默认Kernel不支持。oop