1.1基础网络 此处举例运营商出口的F5配置,内网F5的此处配置可对比参照。 章节目标:对F5的基础网络配置进行讲解说明,包含基于二层接口的Vlan子接口,链路地址与静态路由。 1.1.1Self IP 说明:此部分对F5 Self IP的配置进行翻译讲解,对应AD的链路地址。 ?WEB配置截图,导航条Network >> Self IPs,可见地址配置如下:
此图的配置中带有“traffic-group-数字”的地址表示浮动地址,并且该地址属于特定的流量组;带有“traffic-group-local-only”的地址表示本地地址。此图配置中,self_ct表示F5的电信本地地址,为xxxx/29,关联到vlan_ct,self_ct_floating表示F5的电信浮动地址,为xxxx/29,关联到vlan_ct,剩余地址配置依次解读即可。 F5组建高可用(主备或者集群)过程需要配置浮动地址,该浮动地址被高可用设备组中所有设备共享,浮动地址的mac地址随着主角色设备的切换而切换。对应到AD的话,如果是集群模式,地址配置与F5一致即可;如果是主备模式,将F5的浮动地址配置为AD的链路地址即可。 ?配置文件内容,在配置文件中,如下文本框内的红色字体内容为Self IP的配置:
net self /Common/self_ct表示IP地址名称为self_ct; address 101.203.128.129/29表示IP地址为101.203.128.129/29; allow-service 表示该IP地址上允许开通的端口服务; tcp:22表示允许开通TCP 22端口; tcp:4353表示允许开通TCP 4353端口,类似AD全局负载中的558端口; udp:53表示允许开通UDP 53端口; traffic-group /Common/traffic-group-local-only表示IP地址为本地地址; traffic-group /Common/traffic-group-1表示IP地址为浮动地址,且属于流量组traffic-group-1; vlan /Common/vlan_ct表示IP地址关联到了vlan_ct; 剩余配置依次解读即可。 注意:allow-service中开放的端口,在F5的配置中默认都是对外的公网地址禁用所有服务端口,对内的内网地址可以开放服务端口,此案例中开放了TCP 22、TCP 4353和UDP 53是因为F5全局负载做智能DNS解析和同步智能DNS配置的过程需要开放这些端口,对应到AD的话,除非需要开启AD的WAN口远程维护,否则allow-service中的配置不需要关注。 1.1.2路由 说明:此部分对F5 路由的配置进行翻译讲解,对应AD的静态路由。 ?WEB配置截图,导航条Network >> Routes,可见路由配置如下:
此处的pool_outbound_gateway为出向链路上对应运营商网关的地址池,也就是把运营商链路的网关地址放到了一个节点池中,此节点池的成员如下:
此图配置中,61.134.96.134和101.203.128.134分别是联通和电信链路的网关地址。Service Port为0为不指定服务端口,表示所有端口。对AD而言,在配置运营商WAN口地址的时候,给到对应的网关地址即可。?配置文件内容,在配置文件中,如下文本框内的红色字体内容为路由的配置:
net route /Common/router_default 表示路由名称为router_default; network default表示此路由为默认路由; pool /Common/pool_outbound_gateway表示路由下一跳地址为pool_outbound_gateway。 1.2应用负载 章节目标:对F5中的应用负载相关的业务配置进行讲解说明,包含健康检查、节点池、SSL卸载策略、HTTP优化策略、SNAT地址集、iRules、虚拟服务和虚拟地址的相关配置。 此处举例内网的F5配置,运营商出口的F5的此处配置可对比参照。 1.2.1健康检查 说明:此部分对F5应用负载中的健康检查的配置进行翻译讲解。 ?WEB配置截图,导航条Local Traffic >> Monitors,可见健康检查配置如下: 此处举例讲解HTTP类型的健康检查的配置。
此图配置中,Type列显示的内容都是HTTP,表示对应的健康检查是HTTP类型的健康检查。http_web、http_wechat、http_www分别是三个HTTP健康检查的名称,此处举例讲解http_web的配置,其余健康检查的配置参照即可。
此图配置中,http_web为健康检查的名称,Interval中的5表示探测间隔为5秒;Timeout中的16表示探测超时时间16秒;Send String中的GET /web/status/test.jsp HTTP/1.1\r\n Connection: Close\r\n Host: \r\n\r\n表示发送的探测语句;Receive String中的It’s web trading!表示探测响应中需要包含的内容。剩余配置可忽略。 整合翻译为:对目标节点进行HTTP类型的可用性健康检查,健康检查的方式为HTTP GET,版本为HTTP 1.1,路径为“/www/status/test.jsp”,每隔5秒发送一次健康检查,只有健康检查接收到的响应内容包含“It's web trading!”时,才表示被检查的节点状态是健康可用的。如果持续16秒内的健康检查,接收到的内容与“It's web trading!” 都不匹配,则判定被检查节点的健康状态为不可用。 ?配置文件内容,在配置文件中,如下文本框内的红色字体内容为健康检查的配置:
ltm monitor http /Common/http_web表示健康检查类型为HTTP,名称是http_web; destination *:*表示不指定检查的目标地址,即对节点池中的所有节点进行检查; interval 5表示检查间隔5秒; recv "It's web trading!"表示检查的响应内容需要包含It's web trading!; send "GET /web/status/test.jsp HTTP/1.1\r\nConnection: Close\r\nHost: \r\n\r\n"表示检查方式为HTTP GET,路径为/web/status/test.jsp,协议为HTTP 1.1; timeout 16表示检查的超时时间16秒。 1.2.2Pool 说明:此部分对F5应用负载中Pool的配置进行翻译讲解,对应AD的节点池。 ?WEB配置截图,导航条Local Traffic >> Pools,可见Pool配置如下:
截图中的Status状态在Pool状态正常时显示为绿色的●,红色菱形表示对应Pool状态离线,此处以及后续内容中忽略红色标识即可。Name列下的内容为Pool的名称,Members下的数字表示对应Pool中的成员数量。此处对“pool_app_8080”和“pool_web_8008”进行说明,其余Pool的配置参照进行即可。 ?pool_app_8080,界面中点击对应的Pool即可查看详细的配置和成员:
此图配置说明pool_app_8080使用了PING和TCP半连接的健康检查,并且要求两个健康检查必须都通过才能表示该Pool状态可用。
此图配置说明pool_app_8080使用了加权轮询的负载均衡算法,成员分别为1xxx1:8080、1xxx2:8080、1xxx3:8080,权重分别为3、3、1。 ?pool_web_8008,界面中点击对应的Pool即可查看详细的配置和成员: 此图配置说明pool_web_8008使用了http_web和TCP半连接的健康检查,并且要求两个健康检查必须都通过才能表示该Pool状态可用。
此图配置说明pool_web_8008使用了最小连接的负载均衡算法,成员分别为1xxx1:8080、1xxx2:8080、1xxx3:8080。Status中的状态标识为黑色时,表示对应成员被手动禁用。对于AD来说,配置对应的节点池使用加权最小连接即可,同样把成员10.58.32.163:8008手动禁用。 ?配置文件内容,在配置文件中,如下文本框内的红色字体内容为Pool的配置: ?pool_app_808
ltm pool /Common/pool_app_8080表示Pool名称是pool_app_8080 ; load-balancing-mode ratio-member表示负载均衡算法为加权轮询; members中的10.58.32.151:8080、10.58.32.152:8080、10.58.32.153:8080分别是成员。 ratio 3表示权重为3,未标注或者无ratio配置的表示对应成员的权重为1。 monitor /Common/gateway_icmp and /Common/tcp_half_open表示Pool的健康检查为Ping和TCP半连接。 ?pool_web_8008
ltm pool /Common/pool_web_8008表示Pool名称是pool_web_8008 ; load-balancing-mode least-connections-member表示负载均衡算法为最少连接; members中的1xxx1:8080、1xxx2:8080、1xxx3:8080分别是成员,权重默认都是1。 monitor /Common/http_web and /Common/tcp_half_open表示Pool的健康检查为http_web和TCP半连接。 1.2.3Virutal Server(虚拟服务) 说明:此部分对F5应用负载中Virtual Server的配置进行翻译讲解,此功能对应AD的虚拟服务。 ?WEB配置截图,导航条Local Traffic >> Virtual Servers : Virtual Server List,可见Virtual Server的配置:
图中的Status状态在VS状态正常时显示为绿色的●,红色菱形表示对应VS状态不可用,此处以及后续内容中忽略红色标识即可。 截图配置中,vs_mobile_app_80和vs_trading_www_443是虚拟服务的名称;x.x.x.x和x.x.x.x是虚拟服务的地址;80和443表示虚拟服务的端口;Performance(Layer 4)表示四层虚拟服务,Standard表示7层虚拟服务。 ?vs_mobile_app_80,界面点击vs_mobile_app_80可见详细的配置:
截图配置中vs_mobile_app_80表示VS名称;Performance(Layer 4)表示该VS为四层虚拟服务;x.x.x.x和80分别表示VS的地址和端口;fastL4 Profile是系统默认的四层TCP策略;Auto Map表示自动SNAT;关联了pool_app_8080,并且使用了源地址的会话保持。对应到AD,创建对应的虚拟服务,启用自动SNAT,关联对应节点池即可。 注意:F5的会话保持策略在虚拟服务层级配置,AD是在节点池层级配置。 ?vs_trading_www_443,界面点击vs_trading_www_443可见详细的配置:
此配置说明该VS为七层虚拟服务,地址端口为x.x.x.x:443,关联的HTTP Profile 为XFF,关联的SSL Profile有SSL_Customer、SSL_Web、SSL_Wechat,使用了SNAT地址集snat_internal,关联了系统默认的OneConnect策略,使用了系统默认的cookie会话保持(插入cookie),并且关联了Host_Select和HTTP_LOG的iRules。对应到AD的话,创建对应的虚拟服务关联相关策略即可,注意会话保持在创建节点池的时候配置。 ?配置文件内容,在配置文件中,如下文本框内的红色字体内容为虚拟服务的配置: ?vs_mobile_app_80
ltm virtual /Common/vs_mobile_app_80表示虚拟服务名称为vs_mobile_app_80; destination /Common/x.x.x.x:80表示虚拟服务地址端口为x.x.x.x:80; persist中的source_addr和default yes表示虚拟服务关联了系统默认的源地址会话保持策略; pool /Common/pool_app_8080表示虚拟服务关联节点池pool_app_8080; profiles 中的fastL4表示虚拟服务为四层虚拟服务; source-address-translation { type automap }表示源地址转换为自动SANT; translate-address enabled表示开启目的地址转换; translate-port enabled表示开启目的端口转换。 ?vs_trading_www_443
ltm virtual /Common/vs_trading_www_443表示虚拟服务名称为vs_trading_www_443; destination /Common/x.x.x.x:443表示虚拟服务地址端口为x.x.x.x:443; persist 中的cookie和default yes表示虚拟服务关联了系统默认的cookie会话保持策略; profiles中的SSL_Customer、SSL_Web、SSL_Wechat和clientside以及XFF表示虚拟服务关联了为SSL卸载策略和XFF的策略; rules 中的Host_Select和HTTP_LOG表示虚拟服务关联了Host_Select和HTTP_LOG的iRules策略; source-address-translation中的snat_internal表示虚拟服务关联了snat_internal的SNAT地址集; translate-address enabled表示开启目的地址转换; translate-port enabled表示开启目的端口转换。