2024年4月12日发(作者:)

对于那些访问量很大的网络服务器,如果只使用一台主机,会造成负载过重的问

题。利用NAT可实现多台主机的TCP负载均衡。

多台主机搭建成一个局域网,各主机的内容完全相同,各主机使用私有IP进行

编址。在路由器上配置TCP负载均衡,从外部来看,这些主机只有一个IP地址

(60.8.1.1),成为一个虚拟主机,当外部用户访问此虚拟主机时,路由器会把

各个访问轮流映射到各个主机上,达到负载均衡的目的。

注意:TCP负载均衡只对TCP服务提供分流,对于其它IP流量没有影响,除

非NAT作了其它配置。

TCP负载均衡配置

Ruijie(config)#ip nat pool pool-name start-address

end-address netmask subnet-mask type rotary

这个命令用于定义一个IP地址池,pool-name是地址池的名字,start-address

是起始地址,end-address是结束地址,subnet-mask是子网掩码。地址池

中的地址必须是内网中各主机的实际IP地址。type rotary关键字表示定义为

轮转型地址池。

Ruijie(config)#access-list access-list-number permit address

wildcard-mask

这个命令定义了一个访问控制列表,access-list-number是表号,address是

地址,wildcard-mask是通配符掩码。它只匹配虚拟主机的地址。

Ruijie(config)#ip nat inside destination list access-list-number

pool pool-name

这个命令定义了NAT,access-list-number是访问列表的表号,pool-name

是地址池的名字。它表示把虚拟主机的地址映射到地址池中的地址上。

Ruijie(config)#interface interface-id

Ruijie(config-if)#ip nat inside

以上命令指定了网络的内部接口。

Ruijie(config-if)#interface interface-id

Ruijie(config-if)#ip nat outside

以上命令指定了网络的外部接口。

配置举例:

Ruijie>enable

Ruijie#configure terminal

Ruijie(config)#ip nat pool np 192.168.1.1 192.168.1.3 netmask

255.255.255.0 type rotary

Ruijie(config)#access-list 1 permit 60.8.1.1 0.0.0.0

Ruijie(config)#ip nat inside destination list 1 pool np

Ruijie(config)#interface f0/0

Ruijie(config-if)#ip address 192.168.1.10 255.255.255.0

Ruijie(config-if)#ip nat inside

Ruijie(config-if)#no shutdown

Ruijie(config-if)#interface s1/0

Ruijie(config-if)#ip address 199.1.1.2 255.255.255.0

Ruijie(config-if)#ip nat outside

Ruijie(config-if)#no shutdown

Ruijie(config-if)#end

Ruijie#

本例中,虚拟主机的IP地址是60.8.1.1,当用户访问此地址时,路由器把它轮

流映射到192.168.1.1~192.168.1.3上。