实现keepalived的NAT模型

时间:2024-04-10 19:08:02

一、NAT 工作模式

(a)当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP
(b). PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链
(c). IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP,然后将数据包发至POSTROUTING链。 此时报文的源IP为CIP,目标IP为RIP
(d). POSTROUTING链通过选路,将数据包发送给Real Server
(e). Real Server比对发现目标为自己的IP,开始构建响应报文发回给Director Server。 此时报文的源IP为RIP,目标IP为CIP
(f). Director Server在响应客户端前,此时会将源IP地址修改为自己的VIP地址,然后响应给客户端。 此时报文的源IP为VIP,目标IP为CIP

二、keepalived工作原理

keepalived主要模块是vrrp(虚拟路由冗余协议) 和chackers(健康检查),实现HA集群中失败切换功能,keepalived通过vrrp功能再结合lvs负载均衡软件部署一个高可用的负载均衡集群

vrrp是实现高可用的的路由协议,就是当一个路由器故障时可以用另一个备份路由器继续提供相同服务,vrrp通过优先级确定路由器中每台路由的角色,优先级取值范围0到255 ,数值越大优先级越高,其中0为系统保留给路由器放弃master时候使用,255则是系统保留给ip地址拥有者使用,当两台优先级相同的路由器同时竞争master时,比较接口地址大小,大的单选master。

keepalived通过虚拟ip漂移的的方式实现高可用

三、实验难点

NAT模型realserver是工作在局域网内,请求报文和响应报文都经过Director server ,real server的网关指向DIP,VIP 漂移之后realserver的网关仍然指向原有keepalived的DIP,这样网关就不通了,所以需要配置vrrp_instance段,在仅主机网卡和桥接网卡上分别虚拟一个ip,real server的网关指向仅主机模式的虚拟ip,这样VIP和网关都会漂移

四、实现

1、keepalived master backup分别进行以下配置, 其中backup  修改vrrp_instance段state 为backup,调整优先级低于master

其中 172.17.250.150 是VIP

192.168.159.200和192.168.159.201是realserver ip

192.168.159.150是仅主机模式虚拟ip,realserver的路由指向它

vim /etc/keepalived/keepalived.conf

实现keepalived的NAT模型


2、在keepalived主从上都修改内核参数开启路由转发

实现keepalived的NAT模型

3、在realserve 上添加默认路由

route add default gw  192.168.159.150

4、realserver开启网络服务

5、systemctl start  keepalived 开启keepalived