3.4. 为浮动 IP 创建端口转发


您可以使用 OpenShift (RHOSO)网络服务(neutron)上的 Red Hat OpenStack Services 为浮动 IP 设置端口转发。

先决条件

  • 管理员已为您创建一个项目,并为您提供了一个 clouds.yaml 文件来访问云。
  • python-openstackclient 软件包驻留在您的工作站上。

    $ dnf list installed python-openstackclient
    Copy to Clipboard Toggle word wrap
  • 您的管理员已使用 port_forwarding 服务插件启用了网络服务。

    如需更多信息, 请参阅配置网络服务 中的配置浮动 IP 端口转发

流程

  1. 确认为您的云设置了系统 OS_CLOUD 变量:

    $ echo $OS_CLOUD
    my_cloud
    Copy to Clipboard Toggle word wrap

    如果需要,重置变量:

    $ export OS_CLOUD=my_other_cloud
    Copy to Clipboard Toggle word wrap

    作为替代方案,您可以在每次运行 openstack 命令时添加 --os-cloud <cloud_name > 选项指定云名称。

  2. 使用以下命令为浮动 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>
    Copy to Clipboard Toggle word wrap
    • <internal-ip-address > 替换为内部目标 IP 地址。

      这是与运行应用的实例关联的 IP 地址。

    • 将 & lt;port > 替换为实例附加到的网络服务端口的名称或 ID。
    • 将-- internal -protocol-port 中的 <port- number> 替换为内部的目的地端口号。

      这是实例中运行的应用使用的端口号。

    • 将-- external -protocol-port 中的 <port- number> 替换为外部源端口号。

      这是在 RHOSP 云使用外运行的应用程序的端口号。

    • &lt;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
      Copy to Clipboard Toggle word wrap

验证

  • 确认网络服务已为浮动 IP 端口建立了转发。

    示例

    以下示例验证浮动 IP 198.51.100.47 的端口转发是否成功:

    $ openstack floating ip port forwarding list 198.51.100.47 \
    -c "Internal Port ID" -c "Internal IP Address" -c "Internal Port" \
    -c "External Port" --max-width 74
    Copy to Clipboard Toggle word wrap

    输出示例

    输出显示发送到 TCP 端口 80 上的浮动 IP 198.51.100.47 的流量转发到具有内部地址 203.0.113.107 的实例上的端口 8080

    +------------------+---------------------+---------------+---------------+
    | Internal Port ID | Internal IP Address | Internal Port | External Port |
    +------------------+---------------------+---------------+---------------+
    | 1adfdb09-e8c6-47 | 203.0.113.107       |          8080 |            80 |
    | 08-b5aa-11f50fc2 |                     |               |               |
    | 2d62             |                     |               |               |
    +------------------+---------------------+---------------+---------------+
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat