F5多链路负载均衡标准结构及阐述.docx
《F5多链路负载均衡标准结构及阐述.docx》由会员分享,可在线阅读,更多相关《F5多链路负载均衡标准结构及阐述.docx(14页珍藏版)》请在冰豆网上搜索。
F5多链路负载均衡标准结构及阐述
多链路负载均衡标准结构及阐述
F5NetworksInc.
一、F5多链路负载均衡标准结构
1.1标准结构拓扑图
下图是F5多出口链路负载均衡解决方案的标准结构(单台设备)。
1.2技术阐述
✧网络环境描述
上图中F5多链路负载均衡设备通过ISP1和ISP2接入Internet。
每个ISP都分配给该网络一个IP地址网段,假设ISP1分配的地址段为100.1.1.0/24,ISP2分配的地址段为200.1.1.0/24(此处的200.1.1.0/24表示网络IP地址段为:
200.1.1.0,子网掩码为24位,即255.255.255.0)。
同样,Internet知道通过ISP1访问100.1.1.0/24,通过ISP2访问200.1.1.0/24。
网络中的主机和服务器都属于私有网段192.168.1.0/24。
F5多链路负载均衡设备解决方案就是在部交换机和连接ISP的路由器之间,跨接一台多链路负载均衡设备应用交换机,所有的地址翻译和Internet链路优化全部由多链路负载均衡设备来完成。
✧Outbound技术实现
ØDefaultGatewayPool
ForExample:
pooldefault_gateway_pool{
lb_methoddynamic_ratio
member100.1.1.1:
0
member200.1.1.1:
0
}
DefaultGatewayPool中的Nodes为若干个下一跳路由器(NextHopRouter)的地址,用作Outbound负载均衡,可以通过三种方式生成。
1、SetupUtility中配置多个GatewayIP,用空格分开;
2、在ConfigurationUtility中LinkConfiguration下增加多个links;
3、在Pool中定义一个DefaultGatewayPool。
ForExample:
default_gatewayusepooldefault_gateway_pool
将DefaultGatewayPool中的Nodes配置为F5多链路负载均衡器的DefaultGateway,可以通过netstat–rn命令查看路由表。
DestinationGatewayFlagsMTUIf
default100.1.1.1UGS1500vlan2
default200.1.1.1UGS1500vlan3
ØMonitor
Forexample:
node100.1.1.1200.1.1.1monitoruseicmp
F5多链路负载均衡器可以通过相应的配置,检查NHR或更上层Router的连通状态来决定链路的可用性,并且可以使用ICMP/TCP等多种测试方法
ØLoadBalancingMethod
Forexample:
lb_methoddynamic_ratio
服务器负载均衡的各种静态和动态算法都可以被使用。
dynamic_ratio是DefaultGatewayPool的默认算法,除了能够按照Ratio来分配流量外,还能够集成SNMPAgent环境。
ØPersistence
Forexample:
persistsimple
simple_timeout1800
在Outbound负载均衡中,经常使用到SimplePersistence来保证特殊的应用,例如:
MSN,QQ,流媒体等即时应用,能够保持在同一条链路上,一般计时器配置为900秒或1800秒超时。
ØWildcartVirtualServer
Forexample:
virtualinternal:
*unit1{
usepooldefault_gateway_pool
}
上面配置中的*代表0.0.0.0:
0这个特殊的VirtualServer,称为WildcartVirtualServer,用来表示访问外网任意地址和服务端口,也可以配置为0.0.0.0:
80等等,这样Outbound流量会先命中0.0.0.0:
80这个VirtualServer,然后再命中0.0.0.0:
0这个VirtualServe。
ØVirtualServiceProperty
Forexample:
service80timeoutudp30
service80timeouttcp600
service8021338956312511099811433tcpenable
默认状态下,F5链路负载均衡设备只开放TCP端口访问,需要手动打开UDP端口以及AnyIP(ICMP,Traceroute等)的访问允许。
由于TCP/UDPTimeout时间直接影响到F5链路负载均衡设备存的开销,因此在Outbound流量非常大的时候,尤其是攻击有时发生的情况下,可以适当调整TCP/UDPTimeout值。
ØSNAT
Forexample:
snatmap{192.168.1.34to100.1.1.34unit1}
snatmap{192.168.1.35to200.1.1.35unit1}
snatmap{internaltoautounit1}
SNAT(SecureNAT)通过将源地址翻译成可路由的地址,来访问外网。
SNATIP能够等于VirtualServerIP,可以用来解决特殊应用(例如:
Email转发)的地址反向解析问题;SNATAutomap将源地址翻译成F5多链路负载均衡的VlanSelfIP,由于VlanSelfIP可以是多个地址,因此能够实现SNAT一个地址池的目的。
ØIrules
Forexample:
if(server_addr==oneofISP1_Class){
UsepoolISP1_Pool
}
elseif(server_addr==oneofISP2_Class){
UsepoolISP2_Pool
}
else{
UsepoolDefault_Gateway_Pool
}
在Outbound负载均衡中,iRules经常被配置用来进行复杂的链路选择,这里的ISP1_Class和ISP2_Class可能包含许多地址或地址段,使用oneof命令就不需要在iRules中写许多Class涵盖的具体容。
✧Inbound技术实现
ØWildIP
Forexample:
wideip{
addressX.X.X.X
port0//0
name".wideip.a."
ttl30
qos_coeff{
rtt0
hops0
completion_rate0
packet_rate0
vs_capacity0
kbps0
topology0
lcs1000
}
pool{
name"Pool"
dynamic_ratioyes
preferredrtt
alternatega
fallbackrr
address100.1.1.100:
80
address200.1.1.100:
80
}
}
由于F5多链路负载均衡器中涵盖了部分DNS功能,可以进行域名的A记录和*记录解析。
WideIP就是一个主机名的A记录或者*记录。
ØTTL
Forexample:
ttl30
为防止客户的LocalDNS(就是客户的TCP/IP中配置的DNS地址)Cache住DNS的解析容而发生ISP链路中断,而客户的访问请求仍然没有修正的情况,可以将F5多链路负载均衡器的DNS解析的TTL时间根据容错切换时间要求相应改小,就可以保证客户可以及时更新访问的目标地址了。
ØLoadBalancingMethod
Forexample:
preferredrtt
alternatega
fallbackrr
F5多链路负载均衡器支持多种Inbound负载均衡算法:
CompletionRate,GlobalAvailability,hops,kilobytes/second,leastconnections,PacketRate,QualityofService,Random,Ratio,RoundRobin,RoundTripTime,StaticPersist,VSCapacity。
在链路备份应用中,推荐GlobalAvailability算法;在链路负载均衡应用中,推荐RoundTripTime算法或者QualityofService算法。
ØVirtualServer
Forexample:
address100.1.1.100:
80
address200.1.1.100:
80
virtual100.1.1.100:
httpunit1{
usepoolpool_122
}
virtual200.1.1.100:
ftpunit1{
usepoolpool_122
}
F5多链路负载均衡器不但具备多链路负载均衡功能,而且具备服务器负载均衡功能,所以,WideIP可以指向到一个或多个VirtualServer,进行服务器负载均衡。
ØForwardingPool
Forexample:
poolforwarding_pool{
forward
}
有的情况下,既不需要地址翻译,有不需要服务器负载均衡,但是又需要pool的一些特性时(例如:
AutoLasthop),必须配置ForwardingPool。
ØAutoLasthop/Lasthoppool
F5的Lasthop功能,称为基于连接的路由,用在F5处理数据包回应时,会根据上一跳路由设备的MAC地址,确定返回路径,以便正确返回给最初发起访问数据包的网络设备。
ØNAT
Forexample:
nat{192.168.1.50to100.1.1.50unit1}
nat{192.168.1.50to200.1.1.50unit1}
对于直接通过IP地址进行访问的Inbound流量,并且部主机需要Outbound访问,需要配置相应的NAT记录,来保证从多条链路都能访问部服务器,与VirtualServer加上SNAT功能相当,但是NAT方式不工作在第四层交换模式下,无法限制访问端口。
二、域名解析方式
Issue:
1、多链路负载均衡设备只能做A记录和*记录解析;
2、有的RootDNSServer不支持二级子域的NS委派,例如:
新网
3、用户LocalDNSServer的Cache问题
所以,产生出以下多种域名解析方式。
2.1RootDNSServer直接与F5多链路负载均衡器配合
2.1.1CNAME方式
.a..INCNAME.wideip.a.
wideip.a..INNSlc1.wideip.a.。
INNSlc2.wideip.a.。
lc1.wideip.a..INA100.1.1.2(F5设备地址)
lc2.wideip.a..INA200.1.1.2(F5设备地址)
在Inbound负载均衡中,普遍使用的一种域名解析方法。
2.1.2NS委派方式
.a..INNSlc1.a.。
INNSlc2.a.。
lc1.a..INA100.1.1.2(F5设备地址)
lc2.a..INA200.1.1.2(F5设备地址)
这种方式因为F5多链路负载均衡器不支持全记录解析,在客户有MX记录时,一般不使用。
2.2RootDNSServer通过第三方DNSServer与F5多链路负载均衡器配合
2.2.1CNAME方式
RootDNS
.a.CNAME.a.b.
第三方DNS
a.b..INNSlc1.a.b.
INNSlc2.a.b.
lc1.a.b..INA100.1.1.2(F5设备地址)
lc2.a.b..INA200.1.1.2(F5设备地址)
有的RootDNSServer不支持二级子域的NS委派(例如:
新网),需要第三方DNSServer的配合,是2.1.1方式的变体。
2.2.2NS方式
RootDNS
a..INNSdns1.a.。
INNSdns2.a.。
dns1.a..INA211.X.X.X(第三方DNS地址)
dns2.a..INA61.X.X.X(第三方DNS地址)
第三方DNS
.a..INCNAME.wideip.a.
wideip.a..INNSlc1.wideip.a.。
INNSlc2.wideip.a.。
lc1.wideip.a..INA100.1.1.2(F5设备地址)
lc2.wideip.a..INA200.1.1.2(F5设备地址)
2.1.1和2.1.2方式的结合,解决F5多链路负载均衡设备不支持全记录解析的问题。
三、F5多链路负载均衡其它结构及阐述
3.1冗余结构
上图是标准的多链路负载均衡设备冗余解决方案,但是有的时候,负载均衡器上连多条ISP链路时,需要辅以交换机。
3.2与防火墙配合的结构
3.2.1后置防火墙
当防火墙工作在透明模式下,没有任何影响;工作在路由模式下时,F5多链路负载均衡器只需增加一条回指路由即可。
在后置防火墙方式下,不建议防火墙使用NAT(PAT)模式。
3.2.2前置防火墙
当防火墙工作在透明模式下,没有任何影响;工作在路由模式或NAT(PAT)模式下时,F5多链路负载均衡器不做SNAT即可。