এ塔铃独语别黄昏এ 发表于 2022-1-3 19:55
  
支持一下,顺带盖楼。
蟲爺 发表于 2022-7-21 00:40
  
感谢分享
我是路人甲55 发表于 2023-2-6 16:33
  
感谢楼主分享,每日学习打卡
乀糖果 发表于 2023-2-7 21:17
  
写的不错,谢谢分享。
wshellym 发表于 2023-3-19 15:53
  
打卡学习,感谢大佬分享
不想上班 发表于 2024-11-2 09:33
  
感谢分享,学习一下~
AD替换F5应用负载
  

李城 225003人觉得有帮助

{{ttag.title}}
本帖最后由 李城 于 2020-10-31 14:33 编辑

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表示开启目的端口转换。

打赏鼓励作者,期待更多好文!

打赏
33人已打赏

发表新帖
热门标签
全部标签>
西北区每日一问
安全效果
高手请过招
【 社区to talk】
干货满满
社区新周刊
每日一问
新版本体验
技术盲盒
技术咨询
产品连连看
纪元平台
标准化排查
GIF动图学习
功能体验
社区帮助指南
信服课堂视频
安装部署配置
解决方案
SDP百科
自助服务平台操作指引
玩转零信任
S豆商城资讯
秒懂零信任
每周精选
畅聊IT
答题自测
专家问答
技术笔记
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
2023技术争霸赛专题
通用技术
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
云化安全能力

本版达人

新手61940...

本周建议达人

zhao_HN

本周分享达人

ZSFKF

本周提问达人