本文介绍如何通过 VPC 的端口转发功能实现将外网访问 VPC 的流量转发至本地数据中心。

场景示例

客户通过专线实现了青云QingCloud VPC 和本地数据中心的通信,希望通过 VPC 的公网 IP 直接访问部署在数据中心内网的 TCP 服务。此时,利用 VPC 端口转发功能便可实现。

本文以青云QingCloud的不同区域来模拟上述客户场景进行操作演示。

环境信息

客户在上海 1 区(sh1)部署了一个 HTTP 服务,通过北京 3 区(pek3) VPC 的公网 IP 来访问上海区的服务。

  • sh1 区 VPC A(模拟客户本地数据中心)

    • 公网 IP:139.198.179.62

    • 私有网段:172.16.0.0/24

    • 云服务器 IP:172.16.0.2

  • pek3 区 VPC B

    • 公网 IP:139.198.19.98

    • 私有网段:192.168.0.0/24

    • 云服务器 IP:192.168.0.4

操作步骤

  1. 通过 IPSEC 隧道实现两个 VPC 之间的互通。

    ​可以参考搭建 IPSec 隧道进行配置。

    private network 1
  2. 执行以下命令,在 VPC B 的云服务器中(192.168.0.4)设置 DNAT 规则。

     echo 1 > /proc/sys/net/ipv4/ip_forward
     iptables -t nat -A PREROUTING -d 192.168.0.4 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.2:8080
     iptables -t nat -A POSTROUTING -d 172.16.0.2 -p tcp --dport 8080 -j SNAT --to 192.168.0.4
    private network 2
  3. 在 VPC B 上配置端口转发,然后在安全组上放行相应下行规则,并点击应用修改

    private network 4
    private network 3
  4. 通过 VPC B 公网IP:源端口 方式进行访问验证。

    private network 5