更新时间:2023-06-05
操作场景
一般用于灵活配置流量转发、业务高可用、安全防护,如根据业务数据灵活转发流量;如业务流量过大,一台服务器无法承受时对业务进行扩容;如通过健康检查机制保证业务高可用;如隐藏服务器真实IP或网站路径;如防止SYN FLOOD攻击、HTTP攻击等。
操作步骤
[应用负载/虚拟服务/虚拟服务]。在[应用负载]菜单下,点击<虚拟服务>,在右边虚拟服务窗口中,选择[虚拟服务],点击<新增>。
[虚拟服务]下显示的虚拟服务的[名称]、[健康状态]、[描述]、[服务类型]、[IP地址]、[端口]、[节点池]、[前置策略]、[优化策略]、[SSL策略]、[安全策略]、[启/禁用]、[操作],其中[操作]栏有<复制>按钮用于快速复制创建同样的虚拟服务配置,<删除>按钮用于删除该单条配置。
点击<新增>按钮,如下图所示:一般需要设置:名称、服务类型、IP地址、端口范围、入口链路、默认节点池、SNAT策略、SSL卸载(服务类型选择HTTPS时才需要)。
启用状态:启用禁用虚拟服务,当某业务已经下线或取消,可以先禁用等后期确认不会再用时删除,或做预配置为禁用等到允许割接的时间再启用该服务,如替换场景等。
服务类型:配置的虚拟服务的负载类型,可选8583、L3、Any、TCP、UDP、L7-TCP、L7-UDP、RADIUS、DNS、FTP、HTTP、SSL、HTTPS,可点击虚拟服务后面的图标按钮给该虚拟服务做更方便的标记,支持的图标类型如下图所示。
IP地址:虚拟服务的IP,用于匹配经过AD的流量的目的IP,支持配置单个IP或子网,按行隔开;支持输入IPv4/IPv6地址。
端口范围:L3虚拟服务不支持,虚拟服务对外发布的端口,用于匹配对应端口的流量,支持配置单个端口或一段范围端口,按行隔开。
入口链路:虚拟服务生效的网口。
[所有链路] - 所有链路的流量都会匹配。
[指定链路] - 选定的链路的流量才会匹配。
默认节点池:用于匹配虚拟服务的流量转发到的目的IP,一般是内外网的服务器IP或接口同网段的网关IP。
SNAT策略:SNAT策略是指业务调度节点服务器时,使用的发包源IP的相关策略,注意节点监视器发包源IP不受这里的SNAT策略的影响。
[未启用] 表示业务调度节点服务器时不启用SNAT策略,但是发包源IP会受系统的源地址转换的影响。
[自动SNAT] 通过路由查询,确定去往节点服务器是哪一个WAN/LAN接口,使用该接口下的IP地址作为源IP发包。
[手动SNAT] 指定自定义的SNAT地址集合中的IP为源IP发包,使用SNAT地址集合时候,需要确保服务器回包能到达AD设备,AD需要将SNAT地址集中的地址配置到网口上或者开启ARP代理,通信跨网段需要注意中间设备路由。
[VIP地址] 旁路部署时,将源地址直接转换成VIP地址可以快速实现网络互通,降低配置复杂度。
源端口策略:选择源端口的策略。
[保持] - 在端口不够用情况下AD会改变源端口。
[严格保持] - 严格保持策略是指任何情况下,AD对数据包源端口不进行改变。严格保持源端口仅适用于需要保持源端口的特殊场景或协议。
[改变] - AD会改变数据包的源端口
SSL卸载策略:仅SSL和HTTPS虚拟服务支持,用于对SSL相关服务的流量进行SSL解密,如HTTPS、LDAPS、POP_SSL、SMTP_SSL、IMAP_SSL、SSL_VPN等。
其他基本参数可保持默认,如有特殊需要可按照需求进行设置,具体解释如下:
前置调度方式:仅HTTP和HTTPS虚拟服务支持,用于对HTTP流量选择按首个请求或每个请求调度,差异是前置策略中的HTTP改写策略的匹配方式,如果是首个请求只会对第一个请求进行匹配改写,后续请求即使一样也不会匹配改写策略,而每个请求调度会将每次请求匹配改写策略。
前置调度策略:用于匹配虚拟服务的流量在转发到节点池之前再做一次流量匹配和处理,两次匹配可以更灵活地调度流量,如不同源IP访问该虚拟服务时转发到不同节点池。
SSL加密策略:仅TCP-L7、HTTP、SSL和HTTPS虚拟服务支持,用于将明文流量经AD后做SSL加密成加密流量去访问服务器端。
HTTP优化策略:仅HTTP和HTTPS支持,用于优化HTTP协议传输,支持HTTP缓存、HTTP压缩、客户端IP透传功能。
TCP优化策略:仅TCP、TCP-L7、HTTP、SSL、HTTPS支持,可选四层TCP优化或七层TCP优化策略,与虚拟服务类型相匹配(TCP只能用四层TCP优化,其它只能用七层TCP优化)四层可修改虚拟服务超时时间等,七层支持TCP连接复用等。
HTTP防护策略:仅HTTP和HTTPS支持,用于针对HTTP流量的DDOS攻击防护,支持HTTP慢速攻击防护和泛洪攻击防护。
QoS策略:用于匹配虚拟服务的流量做流控限制,保证带宽等。
连接数控制:用于匹配虚拟服务的流量做连接数控制,保证业务在性能承受范围内,不会导致服务器过载。
iPro:可编程流量控制脚本,用于按需使用编程语言灵活控制流量转发,基于LUA语言实现。
DNAT:用于匹配虚拟服务的流量做目的地址转换,使得流量从设备转发出去后网络设备能将流量转到对应的服务器上并且服务器能根据目的IP是自身来接收流量,一般非L3负载均需开启,如将发布的公网IP映射成内网服务器的IP进行转发。
端口转换:此虚拟服务DNAT时,目的端口是否进行转换。
对称路由:选择是否使用对称路由。
自动跳转HTTPS:仅HTTPS支持,可以通过访问http跳转端口跳转到https虚拟服务实际监听的端口。
Location改写:经过简单的Location重写策略,在不改动业务服务器的情况下,可以直接通过https方式访问业务,避免重定向后直接访问服务器的url而导致访问失败。
TCP缓冲流:仅TCP-L7和SSL支持,当虚拟服务配置前置策略且前置策略的高级匹配条件选择TCP流时,可以设置TCP缓冲流的大小和结束字符。
状态通知虚拟IP:选择是否将该虚拟服务的状态通知到对应的虚拟IP。
:
不同类型的虚拟服务会有不同功能的配置项,如SSL和HTTPS可以配置SSL策略,HTTP和HTTPS可以用HTTP防护等;以上各个配置项均可在新建虚拟服务时点击后面的新增按钮进行创建,也可以通过左边的导航菜单栏切换到对应模块下进行配置。
银联8583虚拟服务
操作场景
银联8583协议是一种基于TCP长连接的协议,长连接服务会存在以下问题:
- 长连接会导致负载调度不均衡,虽然TCP连接均分到了每个服务器,但是每条连接的交易数量是不一样的,导致服务器处理的交易数不均衡。
- 当服务器出现故障时,无法快速将后续的消息重定向到其他正常的服务器。
基于上述场景,可以利用AD设备进行银联8583协议的负载均衡,解决服务器故障切换等问题,并利用基于报文消息的负载均衡算法,确保服务器负载调度均衡。
客户可能是单工方式也可能是双工方式,所以配置相关虚拟服务的时候有单工和双工两种模式,主要依靠引用的iPro脚本区分。
- 银联8583单工
操作步骤
步骤1.分别新建“银联节点池”与“银行节点池”,并且节点池中配置引用TCP半连接监视器。
• “银联节点池”配置如下:
名称:填写银联节点池的名称。这里的名称需要与iPro脚本中引用的节点池名称保持一致。
IP/端口:填写真实节点的IP以及服务端口。
健康检查方法:配置并引用TCP半连接监视器,可参考“TCP半连接”章节。
• “银行节点池”配置如下:
配置与“银联节点池”同理。
步骤2.编辑银联8583单工的iPro脚本,替换红框引号内的名称为步骤1中配置的银联以及银行节点池名称。
步骤3.新建虚拟服务,并且引用上述步骤所配置的内容项。
名称:填写8583单工虚拟服务的名称。
服务类型:选择[8583]类型。
IP地址:填写对外发布的虚拟服务IP。
端口范围:填写“银联节点池”与“银行节点池”中配置的节点端口。
默认节点池:可选择银联或者银行节点池(实际调度由引用的iPro脚本调度)
SNAT策略:选择“手动SNAT”,并且配置[SNAT地址集],地址集里的IP为该虚拟服务的IP。
iPro:引用编辑好的8583单工iPro脚本。
其他配置可保持默认。
注意:
业务进行时,以下操作将会断开已有连接(设备会有相应提示)。
- 编辑8583引用的iPro脚本。
- 增加、删除8583虚拟服务引用的iPro脚本。
- 替换8583虚拟服务的默认节点池(更改节点池名称不会触发,编辑节点池内节点不会触发)。
另外,启/禁用节点存在短时间丢包(不会断连接)。
- 银联8583双工
操作步骤
步骤1.新建“银联节点池”,并且节点池中配置引用TCP半连接监视器。
“银联节点池”配置如下
名称:填写双工银联节点池的名称。(名称与双工iPro脚本无关联)
IP/端口:填写真实节点的IP以及服务端口。
健康检查方法:配置并引用TCP半连接监视器,可参考“TCP半连接”章节。
步骤2.新建虚拟服务,并且引用上述步骤所配置的内容项。
名称:填写8583双工虚拟服务的名称。
服务类型:选择[8583]类型。
IP地址:填写对外发布的虚拟服务IP。
端口范围:填写对外发布的虚拟服务端口(此处端口与节点池的端口无关,类似于普通七层虚拟服务发布的服务端口)。
默认节点池:选择步骤1配置的双工银联节点池。
SNAT策略:选择“手动SNAT”,并且配置[SNAT地址集],地址集里的IP为该虚拟服务的IP。
iPro:引用8583双工iPro脚本。
其他配置可保持默认。
:
注意事项同银联8583单工虚拟服务的注意事项。