5.7. 为浮动 IP 创建端口转发
您可以使用 Red Hat OpenStack Platform Networking 服务(neutron)为浮动 IP 设置端口转发。
先决条件
网络服务必须在加载
port_forwarding
服务插件的情况下运行。如需更多信息,请参阅 第 5.6 节 “配置浮动 IP 端口转发”。
流程
提供您的凭据文件。
示例
$ source ~/overcloudrc
使用以下命令为浮动 IP 创建端口转发:
$ openstack floating ip port forwarding create \ --internal-ip-address <internal-ip-address> \ --port <port> \ --internal-protocol-port <port-number> \ --external-protocol-port <port-number> \ --protocol <protocol> \ <floating-ip>
将
<internal-ip-address
> 替换为内部目标 IP 地址。这是与运行应用的实例关联的 IP 地址。
-
将 &
lt;port
> 替换为实例所附加的网络服务端口的名称或 ID。 将
--internal
中的 <port-number> 替换为内部目标端口号。-protocol-port
这是应用程序在实例中使用的端口号。
将
--external
中的 <port-number> 替换为外部源端口号。-protocol-port
这是在 RHOSP 云外部运行的应用程序的端口号。
-
将
<
;protocol> 替换为接收端口转发流量的应用程序所使用的协议,如 TCP 或 UDP。 将
<floating-ip
> 替换为您要转发的端口流量的浮动 IP。示例
本例为附加到浮动 IP
198.51.100.47
的实例创建端口。浮动 IP 使用网络服务端口1adfdb09-e8c6-4708-b5aa-11f50fc22d62
。当网络服务检测到传入198.51.100.47:80
的外部流量时,它将流量转发到内部 IP 地址203.0.113.107
,在 TCP 端口8080
上:$ openstack floating ip port forwarding create \ --internal-ip-address 203.0.113.107 \ --port 1adfdb09-e8c6-4708-b5aa-11f50fc22d62 \ --internal-protocol-port 8080 \ --external-protocol-port 80 \ --protocol tcp \ 198.51.100.47
验证
确认网络服务已经为浮动 IP 端口建立了转发。
示例
以下示例验证浮动 IP
198.51.100.47
的端口转发是否成功:$ openstack floating ip port forwarding list 198.51.100.47 --max-width 74
输出示例
输出显示,发送到 TCP 端口 80 上的浮动 IP
198.51.100.47
的流量转发到实例上的端口8080
,其内部地址为203.0.113.107
:+----------+------------------+---------------------+---------------+---------------+----------+-------------+ | ID | Internal Port ID | Internal IP Address | Internal Port | External Port | Protocol | Description | +----------+------------------+---------------------+---------------+---------------+----------+-------------+ | 5cf204c7 | 1adfdb09-e8c6-47 | 203.0.113.107 | 8080 | 80 | tcp | | | -6825-45 | 08-b5aa-11f50fc2 | | | | | | | de-84ec- | 2d62 | | | | | | | 2eb507be | | | | | | | | 543e | | | | | | | +----------+------------------+---------------------+---------------+---------------+----------+-------------+
其他资源
- 命令行界面参考中的 floating ip 端口转发创建