
# 基于公网NAT网关和VPC对等连接实现跨VPC访问公网和对公网提供服务
#### 操作场景
在同一区域下有两个虚拟私有云分别为VPC A和VPC B，VPC A和VPC B对应的子网是subnet A和subnet B。在VPC A中为子网subnet A创建公网NAT网关，通过添加SNAT和DNAT规则可以实现访问公网和对公网提供服务；在VPC B中子网subnet B通过对等连接连通VPC A中的子网subnet A，使用subnet A的公网NAT网关访问公网和对公网提供服务，VPC B中的subnet B不用另配置公网NAT网关。
#### 方案优势
两个VPC只需要配置一个公网NAT网关可以实现两个VPC下的云服务器都能访问公网和对公网提供服务，达到节省资源的目的。
#### 典型拓扑
假设VPC A的网段为192.168.0.0/16，子网subnet A的网段为192.168.1.0/24；VPC B的网段为192.168.0.0/16，子网subnet B的网段为192.168.2.0/24。
实现方式如下：
1. 配置NAT网关。在VPC A创建公网NAT网关，并添加SNAT和DNAT规则。
2. 创建对等连接。通过对等连接将VPC A中的子网subnet A与VPC B中的子网subnet B连通，使subnet B使用公网NAT网关访问公网和对公网提供服务。
 
#### 前提条件
- 如果两个VPC的网段有重叠，建立对等连接时，只能针对子网建立对等关系。
- 两个VPC中的全部子网网段不能重叠，否则无法通信。
 
#### 配置公网NAT网关
1. **购买公网NAT** **网关**
   
   购买公网NAT网关，虚拟私有云选择VPC A。具体操作请参见[购买公网NAT网关](https://support.huaweicloud.com/usermanual-natgateway/zh-cn_topic_0150270259.html)。
   
   
2. **添加SNAT规则**
   
   1. 为subnet A添加SNAT规则，使用场景选择"虚拟私有云"，子网选择subnet A。具体操作请参见[添加SNAT规则](https://support.huaweicloud.com/usermanual-natgateway/zh-cn_topic_0127489529.html)。
      图1添加SNAT规则   
      ![](https://support.huaweicloud.com/bestpractice-natgateway/zh-cn_image_0000001745392789.png "点击放大") 
   
   2. 为subnet B添加SNAT规则，使用场景选择"云专线/云连接"，网段填写subnet B网段。
      图2添加SNAT规则   
      ![](https://support.huaweicloud.com/bestpractice-natgateway/zh-cn_image_0000001745432993.png "点击放大") 
   
   
   
   
3. **添加DNAT规则**
   
   1. 为subnet A添加DNAT规则，使用场景选择"虚拟私有云"，私网IP填写subnet A中的云服务器IP地址。具体操作请参见[添加DNAT规则](https://support.huaweicloud.com/usermanual-natgateway/zh-cn_topic_0127489530.html)。
      图3添加DNAT规则   
      ![](https://support.huaweicloud.com/bestpractice-natgateway/zh-cn_image_0000001697712886.png "点击放大") 
   
   2. 为subnet B添加DNAT规则，使用场景选择"云专线/云连接"，私网IP填写subnet B中的云服务器IP地址。
      图4添加DNAT规则   
      ![](https://support.huaweicloud.com/bestpractice-natgateway/zh-cn_image_0000001745392965.png "点击放大") 
   
   
   
   
 
#### 创建对等连接
1. **创建VPC** **A和VPC B及其对应的子网subnet A和subnet B**
   
   具体操作请参见[创建虚拟私有云和子网](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0013935842.html)。
   
   
2. **创建** **对等连接**
   
   在subnet A和subnet B间创建对等连接。具体操作请参见[创建对等连接](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0046655037.html)。
   ![](https://support.huaweicloud.com/bestpractice-natgateway/public_sys-resources/note_3.0-zh-cn.png)
   在本实践中，本端VPC是VPC A，对端VPC是VPC B。
   在原有添加本端和对端路由的基础上，还需在VPC B的路由表中添加0.0.0.0/0的对端路由（下一跳选择已创建的对等连接）。
   
   
 
#### 测试对等连接的连通性
配置完成，测试连通性。
登录subnet B中的云服务器，ping公网地址，呈现下图中的内容即为连通。
![](https://support.huaweicloud.com/bestpractice-natgateway/zh-cn_image_0000001092787311.png "点击放大")
登录任一不属于VPC A和VPC B且能访问公网的云服务器，curl子网subnet B对应DNAT规则绑定的弹性公网IP，呈现下图中的内容即为连通。
![](https://support.huaweicloud.com/bestpractice-natgateway/zh-cn_image_0000001093306041.png "点击放大")
