NAT技术三
在第二篇NAT介绍文章中,提供了NAT的负载均衡的配置。但是,那种简单的负载均衡有较多的局限性:
1、      不检查内部服务器的状态,可能会造成路由黑洞。
2、      不能灵活调整服务器的负载
为了解决这些问题,开始提出新的技术,引入了服务器负载平衡(Server Load Balancing)技术。该技术提供两种工作模式:定向模式和分派模式。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

一、定向模式:
在定向模式中,给服务器指定一个IP地址,真实的服务器不知道这个地址。在数据包进行转发的时候,需修改数据包中的IP地址,并重新进行CRC计算,再进行数据包的转发。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
具体配置如下:
Router(config)#ip slb serverfarm Web_server               (1)
Router(config-slb-sfarm)#nat server                       (2)
Router(config-slb-sfarm)#real <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />10.1.1.1                     (3)
Router(config-slb-real)#weight 10                         (4)
Router(config-slb-real)#faildetect numconns 8 numclients 3     (5)
Router(config-slb-real)#retry 60                           (6)
Router(config-slb-real)#maxconns 2000                     (7)
Router(config-slb-real)#inservice                           (8)
Router(config-slb-real)#exit
Router(config-slb-sfarm)#real 10.1.1.2                      (9)
Router(config-slb-real)#weight 15
Router(config-slb-real)#faildetect numconns 8 numclients 3
Router(config-slb-real)#retry 60
Router(config-slb-real)#maxconns 3000
Router(config-slb-real)#inservice
Router(config-slb-real)#exit
Router(config)#ip slb vserver Out_server                   (10)
Router(config-slb-vserver)#serverfarm Web_server           (11)
Router(config-slb-vserver)#virtual 200.1.1.1 tcp 80           (12)
Router(config-slb-vserver)#delay 10                       (13)
Router(config-slb-vserver)#idle 1200                      (14)
Router(config-slb-vserver)#inservice                       (15)
命令详解:
(1)       建立一个真实服务器群组,群组名Web_server
(2)       该群组使用定向模式提供服务。默认情况下真实服务器群组使用分派模式(如下一个图例配置情况就是分派模式。
(3)       真实服务器的IP地址
从(4--8)是配置真实服务器的一些连接特性
(4)       权重10。该命令的意思是:10.1.1.1服务器我承担的流量为10/10+15)。15为另一台服务器的权重
(5)       在认定该服务器失效前,路由器给服务器所发送的最多连接失败数
(6)       指定在服务器失效后,路由器多长时间检测一次服务器
(7)       该服务器最大连接数。这个参数设定是根据服务器的性能决定的
(8)       在这个群组中启用该服务器
(9)       建立群组中的另一台真实服务器
(10)   建立虚拟服务器,指定虚拟服务器名Out_server
(11)   指定哪个服务器群组处理该虚拟服务器的流量
(12)   配置虚拟服务器地址及其协议和端口号
(13)   连接终止后路由器上保持该SLB表项的时间
(14)   空闲超时值
(15)   启用虚拟服务器

 

二、分派模式:
处于分派模式时,真实的服务器上配置两个地址:一个是自已的地址,一个是虚拟IP地址。当路由器进行数据转发的时候,不需要对数据包的IP地址转换,直接把数据包分发。注意,在分派模式的时候,中间的交换机必须是二层交换机。
具体配置如下:
Router(config)#ip slb serverfarm Web_server
Router(config-slb-sfarm)#real 10.1.1.1
Router(config-slb-real)#weight 10
Router(config-slb-real)#inservice
Router(config-slb-real)#exit
Router(config-slb-sfarm)#real 10.1.1.2
Router(config-slb-real)#weight 15
Router(config-slb-real)#inservice
Router(config-slb-real)#exit
Router(config)#ip slb vserver Out_server
Router(config-slb-vserver)#serverfarm Web_server
Router(config-slb-vserver)#virtual 200.1.1.1 tcp 80
Router(config-slb-vserver)#inservice
分派模式的配置和定向模式很多都是相同的。分派模式中只少了一条命令:
Router(config-slb-sfarm)#nat server

 

注:如果大家对NAT技术很感兴趣,我很愿意和大家分享更多的NAT技术。NAT还需要有很多的网络优化方案。