$ oc run netcat-test \ --image=busybox -i -t \ --restart=Never --rm \ -- /bin/sh
您可以使用以下步骤配置在 AWS 上的 Amazon Web Services (AWS) Red Hat OpenShift Service 集群以使用客户的本地硬件 VPN 设备。
硬件 VPN 网关设备型号和软件版本,例如运行版本 8.3 的 Cisco ASA。请参阅 Amazon VPC 的网络管理员指南,以确认您的网关设备是否受 AWS 支持。
VPN 网关设备的公共静态 IP 地址。
BGP 或静态路由:如果为 BGP,则需要 ASN。如果为静态路由,则必须配置至少一条静态路由。
可选:可访问服务的 IP 和端口/协议,用于测试 VPN 连接。
登录到 AWS 上的 Red Hat OpenShift Service AWS 账户信息中心,然后导航到 VPC 信息中心。
单击**您的 VPC** 并确定包含 AWS 上的 Red Hat OpenShift Service 集群的 VPC 的名称和 VPC ID。
在 VPC 信息中心,单击**客户网关**。
单击**创建客户网关**并为其指定一个有意义的名称。
选择路由方法:**动态**或**静态**。
如果是动态的,请在出现的字段中输入 BGP ASN。
粘贴 VPN 网关端点 IP 地址。
单击**创建**。
如果您尚未将虚拟专用网关附加到目标 VPC
在 VPC 信息中心,单击**虚拟专用网关**。
单击**创建虚拟专用网关**,为其指定一个有意义的名称,然后单击**创建**。
保留默认的 Amazon 默认 ASN。
选择新创建的网关,单击**附加到 VPC**,并将其附加到您之前识别的集群 VPC。
在 VPC 信息中心,单击**站点到站点 VPN 连接**。
单击**创建 VPN 连接**。
为其指定一个有意义的名称标签。
选择之前创建的虚拟专用网关。
对于客户网关,选择**现有**。
按名称选择客户网关设备。
如果 VPN 将使用 BGP,请选择**动态**,否则选择**静态**。输入静态 IP CIDR。如果有多个 CIDR,请将每个 CIDR 添加为**其他规则**。
单击**创建**。
等待 VPN 状态更改为**可用**,大约需要 5 到 10 分钟。
选择您刚刚创建的 VPN 并单击**下载配置**。
从下拉列表中选择客户网关设备的供应商、平台和版本,然后单击**下载**。
还提供**通用**供应商配置,用于以纯文本格式检索信息。
建立 VPN 连接后,请务必设置路由传播,否则 VPN 可能无法按预期工作。 |
注意 VPC 子网信息,您必须将其添加到您的配置中作为远程网络。 |
设置 VPN 连接后,必须确保启用了路由传播,以便将必要的路由添加到 VPC 的路由表。
在 VPC 信息中心,单击**路由表**。
选择与包含 AWS 上的 Red Hat OpenShift Service 集群的 VPC 关联的私有路由表。
在某些集群中,特定 VPC 可能有多个路由表。选择具有多个显式关联子网的私有路由表。 |
单击**路由传播**选项卡。
在出现的表中,您应该会看到之前创建的虚拟专用网关。检查**传播列**中的值。
如果“传播”设置为**否**,请单击**编辑路由传播**,选中虚拟专用网关名称旁边的“传播”复选框,然后单击**保存**。
配置 VPN 隧道后,AWS 将其检测为**已启动**,您的静态或 BGP 路由将自动添加到路由表。
设置好您这端的 VPN 隧道后,您可以验证隧道在 AWS 控制台中是否已启动,以及隧道间的连接是否正常。
已创建 VPN 连接。
验证隧道在 AWS 中是否已启动。
在 VPC 仪表板中,单击**VPN 连接**。
选择您之前创建的 VPN 连接,然后单击**隧道详细信息**选项卡。
您应该能够看到至少一个 VPN 隧道处于**已启动**状态。
验证连接。
要测试到端点设备的网络连接,nc
(或netcat
)是一个有用的故障排除工具。它包含在默认镜像中,如果可以建立连接,则会提供快速清晰的输出。
使用busybox
镜像创建一个临时 Pod,该镜像会自行清理。
$ oc run netcat-test \ --image=busybox -i -t \ --restart=Never --rm \ -- /bin/sh
使用nc
检查连接。
连接成功示例结果
/ nc -zvv 192.168.1.1 8080 10.181.3.180 (10.181.3.180:8080) open sent 0, rcvd 0
连接失败示例结果
/ nc -zvv 192.168.1.2 8080 nc: 10.181.3.180 (10.181.3.180:8081): Connection refused sent 0, rcvd 0
退出容器,这会自动删除 Pod。
/ exit
如果隧道连接仍然处于**已关闭**状态,您可以验证以下几点:
如果隧道连接难以保持**已启动**状态,请注意,所有 AWS 隧道连接都必须从您的网关发起。AWS 隧道不会启动隧道连接。
Red Hat 建议在您这端的隧道上设置 SLA 监控器(Cisco ASA)或某些设备,该设备会不断发送“有趣的”流量,例如ping
、nc
或telnet
,到 VPC CIDR 范围内配置的任何 IP 地址。连接是否成功并不重要,重要的是流量正在被定向到隧道。
创建 VPN 隧道时,AWS 会创建一个额外的故障转移隧道。根据网关设备的不同,有时辅助隧道会显示为**已关闭**状态。
AWS 通知如下:
You have new non-redundant VPN connections One or more of your vpn connections are not using both tunnels. This mode of operation is not highly available and we strongly recommend you configure your second tunnel. View your non-redundant VPN connections.