CIP:192.168.56.1
DIP:192.168.56.101
VIP:192.168.56.110
RIP:192.168.56.102 192.168.56.103
设置Director
1:配置VIP,ifconfig eth0:0 192.168.56.110 netmask 255.255.255.255 broadcast 192.168.56.110
2 : 同样要关闭防火墙 servcie iptables stop
3 : 配置IPVS
ipvsadm -A -t 192.168.56.110:80 -s rr
ipvsadm -a -t 192.168.56.110:80 -r 192.168.56.102 -g
ipvsadm -a -t 192.168.56.110:80 -r 192.168.56.103 -g
设置 Real Server
1:配置VIP与路由 ifconfig lo:0 192.168.56.110 netmask 255.255.255.255 broadcast 192.168.56.110
route add -host 192.168.56.110 dev lo:0
2:关闭ARP echo "1" /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" /proc/sys/net/ipv4/conf/all/arp_announce
关键点
1:Director 上需要配置DIP、VIP
2:Real Server 需要关闭ARP协议 同时 要配置VIP 以及相应的LOOKBACK路由
>>>>>>>>>>>>>>>>>>LVS NAT 配置步骤>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
步骤:
规划机器与IP地址,LVS集群中有三种类型机器4种IP地址。机器类型:Client、Director、Real Server,与机器类型对应的IP地址分别为:CIP、DIP、RIP,Director对应两种IP 除了DIP外还有一个VIP。通常DIP、RIP在一个网络,CIP、VIP在一个网络。
CIP:192.168.56.1
VIP:192.168.56.101
DIP : 192.168.0.10
RIP : 192.168.0.100、192.168.0.200
设置Director
1:enable ip_forwardp
vi /etc/sysctl.conf set net.ipv4.ip_forward = 1
sysctl -
2 : set DIP
ifconfig eth0:0 192.168.0.10 up
3 : disable firewall
service iptables stop
4: config ipvs
ipvsadm -A -t 192.168.56.01:80 -s rr
ipvsadm -a -t 192.168.56.01 -r 192.168.0.100 -m
ipvsadm -a -t 192.168.56.01 -r 192.168.0.200 -m
设置Real Server
route add defatul gw 192.168.0.10
要点:
1:必须将DIR与VIP分开, 要不可能会出现在Direct 上可以访问集群,在客户端不可以,链接一直等待中
2:必须关闭防火墙,要不可能会ping 通,但是访问时报没有路由错
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
类型
NAT | 1、 RS应该使用私用地址 2、 RS网关必须指向DIP 3、 RIP和DIP必须要在同一网段内 4、 请求和响应的报文都要经过Director。在负载场景中,Driector很可能成为性能瓶颈 5、 支持端口映射 6、 RS可以使用任意支持几乎服务的OS 10个RS情况下使用 小知识:cip请求到达vip,vip将报文经过DNAT (服务器发布)转发给RS,RS进行处理,然后RS将网关指向DIP,这样,再经过目标地址转换,将处理的请求发送给cip。Director处理达大量的数据,因此负压较大 |
DR | 直接路由(Direct Routing)。DR是为了解决NAT模式下Driector负载了接受请求,返回请求的双重任务。将返回请求的工作解放出来,由RS自己来处理,自己来返回。 让前端路由将请求发往VIP时,只能是Director上的VIP。禁止RS响应对VIP的ARP的广播请求。解决方案: 1)静态地址绑定:未必有路由器的配置权限;故障转移时,无法更新绑定 2)在RS上安装arptables,自写规则 3)RS必须是Linux,修改Linux内核参数,将RS上的VIP配置为lo接口别名,限制Linux仅对对应的ARP请求响应 1、 RS可以使用私有地址,也可以使用公网地址,此时可以直接通过互联网连入RS实现监控、配置等 2、 RS的网关不能指向DIP 3、 RS需跟Director在同一物理网络内(不能由路由器分隔) 4、 请求报文经过Director,但响应报文一定不经过Director 5、 不支持端口映射 6、 RS可以使用大多数的操作系统(可以配置VIP等) 一些小知识点:有两种情况A,vip dip rip不在同一网络内,dip rip在同一个局域网内,vip为i外网IP。在Director中通过广播维护有RS的mac:ip地址对应表,当请求报文到来之后,更改了目标vip的mac地址,在物理网络内由于是通过mac地址通信,因此可以正确找到对应的RS服务器。在对应的RS服务器内,配置有vip,这样,通过vip处理,得到响应数据包源地址vip,目标地址cip。这个时候,只能通过RS的网卡进行通信(虽然在RS中有vip,但是这个只能修改响应报文的源IP,不能与外部主机进行通信),这样,RS就不能接入与vip相同的路由器,因为他们不在同一个网段。这个时候就需要给RS提供一个单独的路由器,然后与cip进行通信 B,vip dip rip在同一个网段内,都是互联网IP,这样,vip接受报文请求,转发至RS,RS处理后直接通过相同的路由器设备就可以与cip通信 |
TUN | IP隧道 1、 RIP DIP VIP 都需要为公网地址 2、 RS网关不会指向也不可能指向DIP 3、 请求报文经过Director,但响应报文一定不经过Director 4、 不支持端口映射 5、 RS的os必须支持隧道功能 |
FULLNAT | 需给内核打补丁 |