本主题介绍了如何创建一个虚拟服务以在两个第 4 层端口之间交换内容。如果两个 VIP 侦听两个不同的端口,请在第 4 层虚拟服务上使用第 4 层端口交换功能。

要创建一个侦听两个不同端口(端口 X 和端口 Y)的虚拟服务,请创建两个池(pool-X 和 pool-Y),并在这些池中添加服务器。

登录到 NSX Advanced Load Balancer CLI,并使用 configure virtualservice <virtual-service name> 将一个虚拟服务映射到两个池以侦听两个不同的端口。

注:

仅通过 CLI 支持该选项。

创建虚拟服务和池以侦听端口号 X:

[admin:AviCloudController]: configure virtualservice L4-Test-VS
[admin:AviCloudControllert]: virtualservice> service_pool_select
New object being created
[admin:AviCloudController]: virtualservice:service_pool_select> service_port x service_pool_ref pool-x service_protocol protocol_type_udp_fast_path
[admin:AviCloudController]: virtualservice:service_pool_select> where
Tenant: admin
-----------------------------------------+

Field	Value
-----------------------------------------+

service_port	x
service_pool_ref	pool-x
service_protocol	PROTOCOL_TYPE_UDP_FAST_PATH
-----------------------------------------+
[admin:AviCloudController]: virtualservice:service_pool_select> save

创建虚拟服务和池以侦听端口号 Y:

[admin:AviCloudController]: virtualservice> service_pool_select
New object being created
[admin:AviCloudController]: virtualservice:service_pool_select> service_port y service_pool_ref pool-y service_protocol protocol_type_udp_fast_path
[admin:AviCloudController]: virtualservice:service_pool_select> where
Tenant: admin
-----------------------------------------+

Field	Value
-----------------------------------------+

service_port	5141
service_pool_ref	pool-5141
service_protocol	PROTOCOL_TYPE_UDP_FAST_PATH
-----------------------------------------+
[admin:AviCloudController]: virtualservice:service_pool_select> save
[admin:AviCloudController]: virtualservice> save