本帖最后由 小猪要上树 于 2020-12-22 16:42 编辑
1.案例概况1.1案例介绍四层负载,需要记录源IP地址,因为不是七层HTTP虚拟服务,所以无法使用X-Forward-For,所以考虑三角传输; 1.2案例拓扑客户端、负载均衡、集群服务器三者属于同一个网段,客户端通过负载均衡访问服务器,启用三角传输; | | | | | | | | | | 192.200.40.32 192.200.40.33 | | | | | | | | |
2.服务器端配置 2.1 Windows系统配置【控制面板】-【硬件】-【设备管理】 添加硬件 安装网络适配器 选择lookback口 开启转发 2.2 Linux系统配置在linux服务器上敲如下命令 ifconfig lo:1 192.168.2.254 netmask 255.255.255.0 查看接口 ifconfig lo:1 lo:1 Link encapocal Loopback inet addr:192.200.40.33 Mask:255.255.255.0 UP LOOPBACK RUNNING MTU:16436 Metric:1
协调管理员修改apache的配置文件,将该地址发布出来 协调管理员将loopback口的地址写入网口配置文件中,以免重启丢失。 3.负载均衡配置配置基本和正常发布四层虚拟服务没太大的区别,但是需要注意以下几点: 1.WAN口上的第一个地址是用来监测节点的,必须和服务器物理网卡在同一个网段; 2.发布虚拟服务的IP地址不能设置到第一个位置; 网口配置 服务类型 IP组 测试环境,单节点,未设置会话保持; 新建节点池 关联虚拟服务,启用三角传输 4.抓包分析下表为设备类型、IP和对应的MAC地址 | | | | | | | | | | 192.200.40.32 192.200.40.33 | | | | | | | | |
以下分析使用mac地址的后16位来表示 AD抓包 分析:从数据包可以看到,PC发到AD的数据包经过AD转换,原目的IP地址并未发生改变,只是将源目的MAC地址转换成负载和服务器的MAC地址, PC抓包 分析:pc端访问业务,原目的地址没有改变,改变的也只有mac地址; 总结一下,192.200.40.30(c2-8e)访问192.200.40.33(81-f9)时,通过负载均衡转换后成为192.200.40.30(81-f9)访问192.200.40.33(0f-a4),此时负载均衡只是将源目的MAC地址转换了,服务器收到请求后,打开数据包,发现数据是192.200.40.30访问自己192.200.40.33,我们配置lookback口为33,有两个原因,原因一,服务器不配置33这个地址的话,他是不响应目的地址为33的数据包的。原因二,lookback口是不响应arp的,因为我们在负载均衡上也有33这个ip地址,他是要响应arp的,所以为了避免冲突将此地址设置在lookback口上;服务器收到源IP为192.200.40.30(81-f9),目的IP为192.200.40.33(0f-a4)的请求后,正常回包即可; 5.扩展思考上面介绍的都是AD、Server、PC在同一个网段的情况,那么我们需要思考一下,三类设备所属网段不同时,情景一、AD和Server一个网段,PC另一个网段,那么三角传输还可不可以使用;情景二、AD、Server、PC在三个不同的网段;
情景一、我们需要把访问分成三段,PC到AD、AD到Server、Server到PC,PC到AD的数据流可以很好理解,AD到Server,从上面抓包分析中可以看出,此过程,目的地址为lookback口地址,但是MAC地址其实为服务器物理口的MAC地址,AD和Server处于同一网段,直接二层转发即可;Server到PC正常数据回复即可;
情景二、如果三者处于不同网段,那么AD如何转发到Server上,AD到Server的数据包目的地址为服务器Lookback口的地址,但是因为跨三层,数据没有办法转发到Server端,Server端相连的三层路由设备是没有lookback口所配置地址的路由的,别忘了,lookback是不响应arp的,配置他的目的就是为了服务器可以接受这个AD转发过来的数据包; 总结一下,AD和Server必须在同一个网段,PC在不在都可以; |