首页 理论教育 NAT实现负载均衡-计算机网络设备实践教程

NAT实现负载均衡-计算机网络设备实践教程

时间:2023-11-17 理论教育 版权反馈
【摘要】:可以通过部署网络负载均衡设备来实现负载均衡,但是通常这种设备比较昂贵。使用NAT技术也可以实现负载均衡,虽然其功能比较简单,但对于业务量不算太大的应用也是一种解决方案。图12-3NAT实现负载均衡依照图12-3中的拓扑配置相应接口的IP地址。准备工作结束后,就可以在路由器A上配置NAT负载均衡了。NAT负载均衡只对TCP流量进行转换,不会对ICMP等其他协议进行转换。

NAT实现负载均衡-计算机网络设备实践教程

负载均衡其指将某一项任务分摊到多个操作单元上执行,一方面多个操作单元可以减轻过重的负载,另一方面,可以将过载节点上的任务转移到其他轻载节点上,尽可能实现系统各节点的负载平衡,从而提高系统的吞吐量,扩大系统的处理能力。

网络负载均衡经常需要解决的问题是将大量的并发访问或数据流量分担到多台服务器上分别处理,减少用户等待响应的时间。可以通过部署网络负载均衡设备来实现负载均衡,但是通常这种设备比较昂贵。使用NAT技术也可以实现负载均衡,虽然其功能比较简单,但对于业务量不算太大的应用也是一种解决方案

图12-3中,为了能够向外部提供更多的并发连接,将内部服务器Server 1 和Server 2组成了一个服务器组。它们都向外部提供Web服务,每台服务器上的网站内容一样。它们共同虚拟出一台Web服务器211.1.1.1。当外部主机对211.1.1.1进行访问时,路由器A将TCP会话轮流分配给这个服务器组中的每一台设备。例如,第1个连接的目标地址被转换成Server 1的IP地址,第2个连接的目标地址被转换成Server 2的IP地址,第3个连接的目标地址被转换成Server 1的IP地址,依此类推,由两台服务器共同处理外部主机的访问请求。对于外部主机来说,这个服务器组是透明的,它只知道虚拟服务器211.1.1.1的存在,不清楚内部的实际转换。

图12-3 NAT实现负载均衡

依照图12-3中的拓扑配置相应接口的IP地址。因为NAT负载均衡只对TCP流量进行转换,不会对ICMP等其他协议进行转换,因此在完成实验进行测试的时候不能使用“ping”命令。因为需要能够产生TCP会话的应用,所以需要在Server 1和Server 2上安装Web服务并架设好网站,可以使用WampServer集成安装环境或nginx等软件。为了看出实验效果,在Server 1和Server 2上架设网站时放置内容不同的主页。

路由器A上配置完IP后需要添加默认路由至12.12.12.2,内部网络出口数据包都向路由器B转发。

路由器B不需要知道路由器A连接的内网的详细路由,而且其他网段都是其直连网段,是不需要配置路由的。但是因为后续操作将把内网中的两台服务器虚拟成一台地址为211.1.1.1的服务器在路由器A的S2/0接口呈现,所以在路由器B上需要添加至211.1.1.1的路由,否则PC1和PC2无法找到这台虚拟Web服务器,下面的指令添加静态路由至211.1.1.0/24。

准备工作结束后,就可以在路由器A上配置NAT负载均衡了。需要创建一个访问控制列表、一个地址池,最后将它们应用在地址转换中。

基于TCP的负载均衡只支持扩展ACL配置,不支持标准ACL配置。

(www.xing528.com)

在TCP负载均衡的配置中,假如服务器映射的外网IP选择与外网接口IP同网段的其他IP地址,会由于设备不对该IP地址的ARP请求进行回应而导致映射失效(设备会认为这是一台与本出口在同一网段的其他设备地址,而不是自身的地址,因此不对该IP地址的ARP请求进行回应)。因此,TCP负载均衡只支持映射为外网口出口IP地址或其他网段的IP地址,不能映射为与出接口同网段的其他IP地址。例如,可以将两台服务器映射为12.12.12.1,或其他网段地址(如211.1.1.0/24);但不能映射为12.12.12.0/24网段中除12.12.12.1外的其他地址。

配置服务器的地址池,指令如下。

定义名为server的地址池,地址池类型为rotary(循环),在做目的NAT转换时,循环转换为内网服务器的地址。

配置目的地址转换,将满足ACL 100的数据包中的目的地址转换成server地址池中的内部本地地址,指令如下。

基于NAT的TCP负载均衡的NAT转换条目是当外部向内部进行连接的时候创建的,对外部发来的数据包的目的IP地址转换,但转换的IP是在内部,所以使用的指令是“ip nat inside destination”。

在PC1与PC2上打开浏览器,先后访问同一IP地址211.1.1.1,可以发现两台PC浏览器中看到的页面分别是Server1和Server2上面架设的网站,这说明路由器A将外部主机对Web访问的请求轮流转换成了内部两台服务器的地址,实现了负载均衡。下列指令为在路由器A上查看转换记录的结果。

NAT负载均衡只对TCP流量进行转换,不会对ICMP等其他协议进行转换。而且NAT路由器不检测内网服务器的可用性,如果内网服务器群里有一台或多台、甚至全部服务器都不工作了,由于NAT路由器上没有检测服务器是否正常工作的相关功能,所以路由器无法判断内网服务器的可用性,依旧会将流量进行负载均衡,而不管服务器能否应答。

如果实验中发现外部主机访问Web时没有实现负载均衡,可以尝试变更外网IP地址,因为进行TCP负载均衡时,基于源IP地址的hash值进行负载均衡,有可能两个IP的hash值相等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈