

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS Site-to-Site VPN 客户网关设备的可下载静态路由配置文件
<a name="cgw-static-routing-examples"></a>

要下载包含特定于您的 Site-to-Site VPN 连接配置值的示例配置文件，请使用 Amazon VPC 控制台、 AWS 命令行或 Amazon EC2 API。有关更多信息，请参阅 [步骤 6：下载配置文件](SetUpVPNConnections.md#vpn-download-config)。

您也可以下载不包含特定于您的 Site-to-Site VPN 连接配置值的静态路由的通用示例配置文件：[static-routing-examples.](samples/static-routing-examples.zip) zip 

这些文件对某些组件使用占位符值。例如，它们使用：
+ VPN 连接 ID、客户网关 ID 和虚拟私有网关 ID 的示例值
+ 远程（外部）IP 地址 AWS 端点的占位符（*AWS\$1ENDPOINT\$11*和*AWS\$1ENDPOINT\$12*）
+ 客户网关设备上可路由互联网的外部接口 IP 地址的占位符 () *your-cgw-ip-address*
+ 预共享密钥值的占位符 () pre-shared-key
+ IP 地址内的隧道的示例值。
+ MTU 设置的示例值。

**注意**  
示例配置文件中提供的 MTU 设置仅供示例之用。有关根据自己的情况设置最佳 MTU 值的信息，请参阅[AWS Site-to-Site VPN 客户网关设备的最佳实践](cgw-best-practice.md)。

除了提供占位符值外，这些文件还指定了大多数地区的、和 Diffie-Hellman 组 2 的 Site-to-Site VPN 连接的最低要求，以及 AWS 区域中的 AES128 SHA1 AES128 SHA2、和 Diffie-Hellman 组 14 的最低要求。 AWS GovCloud它们还指定用于[身份验证](vpn-tunnel-authentication-options.md)的预共享密钥。您必须修改示例配置文件以利用其他安全算法、Diffie-Hellman 组、私有证书和流量。 IPv6 

下图概述了在客户网关设备上配置的各种组件。它包括隧道接口 IP 地址的示例值。

![\[带静态路由的客户网关设备\]](http://docs.aws.amazon.com/zh_cn/vpn/latest/s2svpn/images/cgw-static-routing.png)


# 为 AWS Site-to-Site VPN 客户网关设备配置静态路由
<a name="cgw-static-routing-example-interface"></a>

以下是使用客户网关设备的用户界面（如果可用）配置该设备的一些示例过程。

------
#### [ Check Point ]

如果您的设备是运行 R77.10 或更高版本的 Check Point Security Gateway 设备，则使用 Gaia 操作系统和 Check Point 配置客户网关设备的步骤。 SmartDashboard你也可以参阅 Check Point 支持中心上的 [Check Point Secur IPsec ity Gateway VPN to Amazon Web Services VPC](https://support.checkpoint.com/results/sk/sk100726) 的文章。

**配置隧道接口**

第一步是创建 VPN 隧道并为每条隧道提供客户网关和虚拟专用网关的私有（内部）IP 地址。要创建第一条隧道，请使用配置文件的 `IPSec Tunnel #1` 部分下提供的信息。要创建第二条隧道，请使用配置文件的 `IPSec Tunnel #2` 部分中提供的值。

1. 打开检查点安全网关设备的 Gaia 门户。

1. 选择 **Network Interfaces**、**Add**、**VPN tunnel**。

1. 在对话框中，配置如下设置，然后在配置完成后选择 **OK**：
   + 对于 **VPN Tunnel ID**，输入任何唯一值，例如 1。
   + 对于 **Peer**，输入隧道的唯一名称，例如 `AWS_VPC_Tunnel_1` 或 `AWS_VPC_Tunnel_2`。
   + 确保已选择 **Numbered (编号)**，对于 **Local Address (本地地址)**，输入配置文件中为 `CGW Tunnel IP` 指定的 IP 地址，例如，`169.254.44.234`。
   + 对于 **Remote Address**，输入配置文件中为 `VGW Tunnel IP` 指定的 IP 地址，例如，`169.254.44.233`。  
![\[“Check Point Add VPN Tunnel (检查点添加 VPN 隧道)”对话框\]](http://docs.aws.amazon.com/zh_cn/vpn/latest/s2svpn/images/check-point-create-tunnel.png)

1. 通过 SSH 连接到您的安全网关。如果您使用的是非默认 Shell，请通过运行以下命令来更改为 clish：`clish`

1. 对于隧道 1，请运行以下命令。

   ```
   set interface vpnt1 mtu 1436
   ```

   对于隧道 2，请运行以下命令。

   ```
   set interface vpnt2 mtu 1436
   ```

1. 重复这些步骤以使用配置文件的 `IPSec Tunnel #2` 部分下的信息创建另一条隧道。

**配置静态路由**

在此步骤中，将为每条隧道指定到 VPC 中子网的静态路由以便能够通过隧道接口发送流量。第二条隧道在第一条隧道出现问题时将启用失效转移。如果检测到问题，将从路由表中删除基于策略的静态路由，并激活第二个路由。您还必须允许检查点网关对隧道的另一端执行 Ping 操作以检查隧道是否已启动。

1. 在 Gaia 门户中，选择**IPv4 静态路由**，然后选择 “**添加**”。

1. 指定您的子网的 CIDR，例如，`10.28.13.0/24`。

1. 选择 **Add Gateway**、**IP Address**。

1. 输入配置文件中为 `VGW Tunnel IP` 指定的 IP 地址 (例如，`169.254.44.233`)，并指定优先级为 1。

1. 选择 **Ping**。

1. 使用配置文件的 `VGW Tunnel IP` 部分下的 `IPSec Tunnel #2` 值，对第二条隧道重复步骤 3 和 4。指定优先级为 2。  
![\[“Check Point Edit Destination Route (检查点编辑目标路由)”对话框\]](http://docs.aws.amazon.com/zh_cn/vpn/latest/s2svpn/images/check-point-static-routes.png)

1. 选择**保存**。

如果您使用的是集群，请对集群的其他成员重复上述步骤。

**定义新的网络对象**

在此步骤中，您将为每条 VPN 隧道创建一个网络对象，并指定虚拟专用网关的公有 (外部) IP 地址。您稍后将这些网络对象作为 VPN 社区的卫星网关进行添加。您还需要创建一个空组以用作 VPN 域的占位符。

1. 打开检查点 SmartDashboard。

1. 对于 **Groups**，打开上下文菜单并选择 **Groups**、**Simple Group**。您可以对每个网络对象使用相同的组。

1. 对于 **Network Objects**，打开上下文 (右键单击) 菜单并选择 **New**、**Interoperable Device**。

1. 对于 **Name (名称)**，输入您为隧道提供的名称，例如，`AWS_VPC_Tunnel_1` 或 `AWS_VPC_Tunnel_2`。

1. 对于**IPv4 地址**，请输入配置文件中提供的虚拟专用网关的外部 IP 地址，例如`54.84.169.196`。保存您的设置并关闭对话框。  
![\[“Check Point Interoperable Device (检查点可互操作设备)”对话框\]](http://docs.aws.amazon.com/zh_cn/vpn/latest/s2svpn/images/check-point-network-device.png)

1. 在中 SmartDashboard，打开您的网关属性，然后在类别窗格中，选择**拓扑**。

1. 要检索接口配置，请选择 **Get Topology**。

1. 在 **VPN Domain (VPN 域)** 部分中，选择 **Manually defined (手动定义)**，然后浏览找到并选择您在步骤 2 中创建的空组。选择**确定**。
**注意**  
您可以保留已配置的任何现有 VPN 域。但是，请确保新的 VPN 连接使用或提供的主机和网络未在该 VPN 域中声明，尤其是在 VPN 域自动派生的情况下。

1. 重复这些步骤以使用配置文件的 `IPSec Tunnel #2` 部分下的信息创建另一个网络对象。

**注意**  
如果您使用的是集群，请编辑拓扑并将接口定义为集群接口。使用配置文件中指定的 IP 地址。

**创建和配置 VPN 社区、IKE 和 IPsec 设置**

在此步骤中，您将在检查点网关上创建一个 VPN 社区 (为每条隧道将网络对象 (可互操作设备) 添加到该社区)。您还可以配置互联网密钥交换 (IKE) 和 IPsec设置。

1. 在网关属性中，在类别窗格中选择 **IPSecVPN**。

1. 选择 **Communities**、**New**、**Star Community**。

1. 为您的社区提供名称 (例如，`AWS_VPN_Star`)，然后选择类别窗格中的 **Center Gateways**。

1. 选择 **Add**，并将您的网关或集群添加到参与者网关列表。

1. 在类别窗格中，依次选择 **Satellite Gateways (卫星网关)** 和 **Add (添加)**，然后将您之前创建的可互操作设备（`AWS_VPC_Tunnel_1` 和 `AWS_VPC_Tunnel_2`）添加到参与者网关列表。

1. 在类别窗格中，选择 **Encryption**。在 “**加密方法**” 部分中，**IKEv1 仅**选择。在 **Encryption Suite** 部分中，选择 **Custom**、**Custom Encryption**。

1. 在对话框中，配置如下加密属性，并在完成后选择 **OK**：
   + IKE 安全关联 (第 1 阶段) 属性：
     + **Perform key exchange encryption with**：AES-128
     + **Perform data integrity with**：SHA-1
   + IPsec 安全关联（第 2 阶段）属性：
     + **使用以下 IPsec 命令执行数据加密**：AES-128
     + **Perform data integrity with**：SHA-1

1. 在类别窗格中，选择 **Tunnel Management**。选择 **Set Permanent Tunnels**、**On all tunnels in the community**。在 **VPN Tunnel Sharing** 部分中，选择 **One VPN tunnel per Gateway pair**。

1. 在类别窗格中，展开 **Advanced Settings**，然后选择 **Shared Secret**。

1. 选择第一条隧道的对等名称，再选择 **Edit (编辑)**，然后输入配置文件的 `IPSec Tunnel #1` 部分中指定的预共享密钥。

1. 选择第二条隧道的对等名称，再选择 **Edit (编辑)**，然后输入配置文件的 `IPSec Tunnel #2` 部分中指定的预共享密钥。  
![\[“Check Point Interoperable Shared Secret (检查点可互操作共享密码)”对话框\]](http://docs.aws.amazon.com/zh_cn/vpn/latest/s2svpn/images/check-point-shared-secret.png)

1. 仍然在 **Advanced Settings (高级设置)** 类别中，选择 **Advanced VPN Properties (高级 VPN 属性)**，配置如下属性，然后在完成后选择 **OK (确定)**：
   + IKE (第 1 阶段)：
     + **Use Diffie-Hellman group (使用 Diffie-Hellman 组)**：`Group 2`
     + **Renegotiate IKE security associations every** `480` **minutes**
   + IPsec （第 2 阶段）：
     + 选择 **Use Perfect Forward Secrecy**
     + **Use Diffie-Hellman group (使用 Diffie-Hellman 组)**：`Group 2`
     + ****每`3600`秒钟重新协商一次 IPsec 安全关联****

**创建防火墙规则**

在此步骤中，您将配置一个具有防火墙规则和定向匹配规则的策略，这些规则允许 VPC 和本地网络之间的通信。然后在网关上安装该策略。

1. 在中 SmartDashboard，为您的网关选择**全局属性**。在类别窗格中，展开 **VPN**，然后选择 **Advanced**。

1. 选择 **Enable VPN Directional Match in VPN Column**，并保存您的更改。

1. 在中 SmartDashboard，选择**防火墙**，然后使用以下规则创建策略：
   + 允许 VPC 子网通过所需协议与本地网络进行通信。
   + 允许本地网络通过所需协议与 VPC 子网进行通信。

1. 打开 VPN 列中的单元格的上下文菜单，并选择 **Edit Cell**。

1. 在 **VPN Match Conditions** 对话框中，选择 **Match traffic in this direction only**。通过为以下每个定向匹配规则选择 **Add** 来创建该规则，并在完成后选择 **OK**：
   + `internal_clear` > VPN 社区（您先前创建的 VPN 星级社区，例如，`AWS_VPN_Star`）
   + VPN 社区 > VPN 社区
   + VPN 社区 > `internal_clear`

1. 在中 SmartDashboard，选择**策略**，**安装**。

1. 在对话框中，选择您的网关并选择 **OK** 以安装策略。

**修改 tunnel\$1keepalive\$1method 属性**

您的检查点网关可使用失效对端检测 (DPD) 来标识 IKE 关联中断的时间。要为永久隧道配置 DPD，必须在 AWS VPN 社区中配置永久隧道（请参阅步骤 8）。

默认情况下，VPN 网关的 `tunnel_keepalive_method` 属性设置为 `tunnel_test`。您必须将该值更改为 `dpd`。VPN 社区中每个需要 DPD 监控的 VPN 网关都必须使用 `tunnel_keepalive_method` 属性进行配置，包括任何第三方 VPN 网关。您不能为同一网关配置不同的监控机制。

您可以使用 Gui DBedit 工具更新该`tunnel_keepalive_method`属性。

1. 打开检查点 SmartDashboard，然后选择**安全管理服务器**、**域管理服务器**。

1. 选择 **File** 和 **Database Revision Control...**，然后创建修订快照。

1. 关闭所有 SmartConsole 窗口，例如、“ SmartDashboard SmartView 跟踪器” 和 “ SmartView 监视器”。

1. 启动 Gui BDedit 工具。有关更多信息，请参阅检查点支持中心上的文章[检查点数据库工具](https://support.checkpoint.com/results/sk/sk13009)。

1. 依次选择 **Security Management Server** 和 **Domain Management Server**。

1. 在左上窗格中，依次选择 **Table**、**Network Objects** 和 **network\$1objects**。

1. 在右上窗格中，依次选择相关的 **Security Gateway** 和 **Cluster** 对象。

1. 按 Ctrl\$1F，或者使用 **Search** 菜单搜索以下内容：`tunnel_keepalive_method`。

1. 在下方窗格中，打开 `tunnel_keepalive_method` 的上下文菜单，并选择 **Edit... (编辑...)**。选择 **dpd**，然后选择 **OK (确定)**。

1. 对属于 AWS VPN 社群的每个网关重复步骤 7 到步骤 9。

1. 依次选择 **File** 和 **Save All**。

1. 关闭 Gui DBedit 工具。

1. 打开检查点 SmartDashboard，然后选择**安全管理服务器**、**域管理服务器**。

1. 在相关的 **Security Gateway** 和 **Cluster** 对象上安装策略。

有关更多信息，请参阅检查点支持中心上的文章 [R77.10 中的新增 VPN 特征](https://support.checkpoint.com/results/sk/sk97746)。

**启用 TCP MSS 固定**

TCP MSS 固定减小了 TCP 数据包的最大段大小以防止数据包分段。

1. 导航到以下目录：`C:\Program Files (x86)\CheckPoint\SmartConsole\R77.10\PROGRAM\`。

1. 通过运行 `GuiDBEdit.exe` 文件打开检查点数据库工具。

1. 选择 **Table**、**Global Properties**、**properties**。

1. 对于 `fw_clamp_tcp_mss`，选择 **Edit**。将值更改为 `true` 并选择 **OK**。

**验证隧道状态**  
您可以通过在专家模式下从命令行工具运行以下命令来验证隧道状态。

```
vpn tunnelutil
```

在显示的选项中，选择 **1** 以验证 IKE 关联，选择 **2** 以验证 IPsec关联。

您也可以使用检查点智能跟踪器日志来验证通过连接传输的数据包是否已加密。例如，以下日志指示数据包通过隧道 1 发送到 VPC 并且已加密。

![\[检查点日志文件\]](http://docs.aws.amazon.com/zh_cn/vpn/latest/s2svpn/images/check-point-log.png)


------
#### [ SonicWALL ]

以下过程演示如何使用 SonicOS 管理界面在 SonicWALL 设备上配置 VPN 隧道。

**配置隧道**

1. 打开 SonicWALL SonicOS 管理界面。

1. 在左窗格中，依次选择 **VPN**、**Settings**。在 **VPN Policies** 下方，选择 **Add...**。

1. 在 **General ** 选项卡上的 VPN 策略窗口中，填写以下信息：
   + **策略类型**：选择**隧道接口**。
   + **Authentication Method**：选择 **IKE using Preshared Secret**。
   + **Name**：输入 VPN 策略的名称。建议使用配置文件中提供的 VPN ID 名称。
   + **IPsec 主网关名称或地址**：输入配置文件中提供的虚拟专用网关的 IP 地址（例如`72.21.209.193`）。
   + **IPsec 辅助网关名称或地址**：保留默认值。
   + **Shared Secret**：输入配置文件中提供的预共享密钥，然后在 **Confirm Shared Secret** 中再次输入。
   + **本地 IKE ID**：输入客户网关（SonicWall 设备） IPv4 的地址。
   + **对等 IKE ID**：输入虚拟专用网关 IPv4 的地址。

1. 在 **Network** 选项卡上，填写以下信息：
   + 在 **Local Networks** 下方，选择 **Any address**。建议使用此选项防止本地网络出现连接问题。
   + 在 **Remote Networks** 下方，选择 **Choose a destination network from list**。在 AWS中使用您的 VPC 的 CIDR 创建一个地址对象。

1. 在 **Proposals (提案)** 选项卡上，填写以下信息：
   + 在 **IKE (Phase 1) Proposal** 下方，执行以下操作：
     + **Exchange**：选择 **Main Mode**。
     + **DH Group (DH 组)**：输入 Diffie-Hellman 组的值（例如 `2`）。
     + **Encryption**：选择 **AES-128** 或 **AES-256**。
     + **身份验证**：选择**SHA1**或**SHA256**。
     + **Life Time**：输入 `28800`。
   + 在 **IKE (Phase 2) Proposal** 下方，执行以下操作：
     + **Protocol**：选择 **ESP**。
     + **Encryption**：选择 **AES-128** 或 **AES-256**。
     + **身份验证**：选择**SHA1**或**SHA256**。
     + 选中 **Enable Perfect Forward Secrecy** 复选框，然后选择 Diffie-Hellman 组。
     + **Life Time**：输入 `3600`。
**重要**  
如果您在 2015 年 10 月之前创建了虚拟专用网关，则必须为两个阶段指定 Diffie-Hellman 组 2、AES-128 和两个阶段。 SHA1

1. 在 **Advanced** 选项卡上，填写以下信息：
   + 选择 **Enable Keep Alive**。
   + 选择 **Enable Phase2 Dead Peer Detection** 并输入以下内容：
     + 对于 **Dead Peer Detection Interval**，输入 `60` (这是 SonicWALL 设备接受的最小值)。
     + 对于 **Failure Trigger Level**，输入 `3`。
   + 对于 **VPN Policy bound to**，选择 **Interface X1**。这是通常为公有 IP 地址指定的接口。

1. 选择**确定**。在 **Settings** 页面上，隧道的 **Enable** 复选框默认应处于选中状态。绿点表示隧道已启动。

------

## Cisco 设备：其他信息
<a name="cgw-static-routing-examples-cisco"></a>

某些 Cisco ASAs 仅支持 Active/Standby 模式。使用这些 Cisco 时 ASAs，一次只能有一个活动隧道。仅在第一个隧道不可用的情况下，备用隧道才可用。借助该冗余度，您应该始终可以通过其中一个隧道连接到您的 VPC。

思科 ASAs 9.7.1 版及更高版本支持 Active/Active 模式。使用这些 Cisco 时 ASAs，可以同时激活两条隧道。借助该冗余度，您应该始终可以通过其中一个隧道连接到您的 VPC。

对于 Cisco 设备，您必须执行以下操作：
+ 配置外部接口。
+ 确保 Crypto ISAKMP 策略序列号具有唯一性。
+ 确保 Crypto 列表策略序列号具有唯一性。
+ 确保加密 IPsec 转换集和加密 ISAKMP 策略序列与设备上配置的任何其他 IPsec 隧道保持一致。
+ 确保 SLA 监控号具有唯一性。
+ 对在客户网关设备和您的本地网络之间传输流量的所有路由选择进行配置。