Amazon Virtual Private Cloud
网络管理员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

示例:Cisco IOS 设备

如果您的客户网关是运行 Cisco IOS 12.4 (或更新) 软件的 Cisco IOS 设备,我们将在本部分中引导您完成由您的整合团队提供的配置信息示例。

两个示意图说明了示例配置。第一个示意图显示客户网关的宏观布局,第二个示意图显示示例配置的详细信息。您应当使用从整合团队收到的实际配置信息,然后将其应用到客户网关。

客户网关的宏观视图

下面的示意图显示您的客户网关的详细信息。请注意,VPN 由两个隧道构成。使用冗余隧道确保某个设备发生故障情况下的持续可用性。

 Cisco IOS 宏观示意图

客户网关的详细视图和示例配置

本部分中的示意图说明 Cisco IOS 客户网关。紧接着示意图的是您的整合团队应提供的相应配置信息示例。示例配置包含适用于您必须配置的各个隧道的一组信息。

另外,示例配置引用您必须提供的这些项目:

  • YOUR_UPLINK_ADDRESS - 客户网关上 Internet 可路由外部接口的 IP 地址。地址必须是静态的,可位于执行网络地址转换 (NAT) 任务的设备之后。为确保 NAT 遍历 (NAT-T) 能够正常工作,必须调整防火墙规则,使之开放 UDP 端口 4500。

  • YOUR_BGP_ASN – 客户网关的 BGP ASN (我们默认使用 65000)

示例配置包括几项示例值,以帮助您理解配置如何起作用。例如,我们提供 VPN 连接 ID (vpn-44a8938f)、虚拟专用网关 ID (vgw-8db04f81)、IP 地址 (72.21.209.*、169.254.255.*) 以及远程 ASN (7224) 的示例值。您将使用来源于所收到配置信息的实际值替换这些示例值。

您还必须:

  • 配置外部接口

  • 配置隧道接口 ID (在示例配置中称为 Tunnel1Tunnel2)。

  • 确保 Crypto ISAKMP 策略序列号具有唯一性。

  • 确保 Crypto IPsec 转换集和 Crypto ISAKMP 策略序列与设备上配置的任何其他 IPsec 隧道一致。

  • 对在客户网关和您的本地网络之间传输流量的全部路由选择进行配置。

在下面的示意图和示例配置中,您必须用适用于您的特定配置的值替换红色斜体项目。

 Cisco IOS 详细示意图

警告

下面的配置信息是您的整合团队可望提供的示例。以下示例中的很多值将与您收到的实际配置信息不同。您必须使用实际值,而非此处所示的示例值,否则您的实施将会失败。

Copy
! Amazon Web Services ! Virtual Private Cloud ! AWS utilizes unique identifiers to manipulate the configuration of ! a VPN Connection. Each VPN Connection is assigned an identifier ! and is associated with two other identifiers, namely the ! Customer Gateway Identifier and Virtual Private Gateway Identifier. ! ! Your VPN Connection ID : vpn-44a8938f ! Your Virtual Private Gateway ID : vgw-8db04f81 ! Your Customer Gateway ID : cgw-b4dc3961 ! ! ! This configuration consists of two tunnels. Both tunnels must be ! configured on your Customer Gateway. ! ! ------------------------------------------------------------------------- ! IPsec Tunnel #1 ! ------------------------------------------------------------------------- ! #1: Internet Key Exchange (IKE) Configuration ! ! A policy is established for the supported ISAKMP encryption, ! authentication, Diffie-Hellman, lifetime, and key parameters. ! ! Please note, these sample configurations are for the minimum requirement of AES128, SHA1, and DH Group 2. ! You will need to modify these sample configuration files to take advantage of AES256, SHA256, or other DH groups like 2, 14-18, 22, 23, and 24. ! The address of the external interface for your customer gateway must be a static address. ! Your customer gateway may reside behind a device performing network address translation (NAT). ! To ensure that NAT traversal (NAT-T) can function, you must adjust your firewall rules to unblock UDP port 4500. If not behind NAT, we recommend disabling NAT-T. ! ! Note that there are a global list of ISAKMP policies, each identified by ! sequence number. This policy is defined as #200, which may conflict with ! an existing policy using the same number. If so, we recommend changing ! the sequence number to avoid conflicts. ! crypto isakmp policy 200 encryption aes 128 authentication pre-share group 2 lifetime 28800 hash sha exit ! The ISAKMP keyring stores the Pre Shared Key used to authenticate the ! tunnel endpoints. ! crypto keyring keyring-vpn-44a8938f-0 local-address YOUR_UPLINK_ADDRESS pre-shared-key address 72.21.209.225 key plain-text-password1 exit ! An ISAKMP profile is used to associate the keyring with the particular ! endpoint. ! crypto isakmp profile isakmp-vpn-44a8938f-0 local-address YOUR_UPLINK_ADDRESS match identity address 72.21.209.225 keyring keyring-vpn-44a8938f-0 exit ! #2: IPsec Configuration ! ! The IPsec transform set defines the encryption, authentication, and IPsec ! mode parameters. ! Please note, you may use these additionally supported IPSec parameters for encryption like AES256 and other DH groups like 2, 5, 14-18, 22, 23, and 24. ! crypto ipsec transform-set ipsec-prop-vpn-44a8938f-0 esp-aes 128 esp-sha-hmac mode tunnel exit ! The IPsec profile references the IPsec transform set and further defines ! the Diffie-Hellman group and security association lifetime. ! crypto ipsec profile ipsec-vpn-44a8938f-0 set pfs group2 set security-association lifetime seconds 3600 set transform-set ipsec-prop-vpn-44a8938f-0 exit ! Additional parameters of the IPsec configuration are set here. Note that ! these parameters are global and therefore impact other IPsec ! associations. ! This option instructs the router to clear the "Don't Fragment" ! bit from packets that carry this bit and yet must be fragmented, enabling ! them to be fragmented. ! crypto ipsec df-bit clear ! This option enables IPsec Dead Peer Detection, which causes periodic ! messages to be sent to ensure a Security Association remains operational. ! crypto isakmp keepalive 10 10 on-demand ! This configures the gateway's window for accepting out of order ! IPsec packets. A larger window can be helpful if too many packets ! are dropped due to reordering while in transit between gateways. ! crypto ipsec security-association replay window-size 128 ! This option instructs the router to fragment the unencrypted packets ! (prior to encryption). ! crypto ipsec fragmentation before-encryption ! #3: Tunnel Interface Configuration ! ! A tunnel interface is configured to be the logical interface associated ! with the tunnel. All traffic routed to the tunnel interface will be ! encrypted and transmitted to the VPC. Similarly, traffic from the VPC ! will be logically received on this interface. ! ! Association with the IPsec security association is done through the ! "tunnel protection" command. ! ! The address of the interface is configured with the setup for your ! Customer Gateway. If the address changes, the Customer Gateway and VPN ! Connection must be recreated with Amazon VPC. ! interface Tunnel1 ip address 169.254.255.2 255.255.255.252 ip virtual-reassembly tunnel source YOUR_UPLINK_ADDRESS tunnel destination 72.21.209.225 tunnel mode ipsec ipv4 tunnel protection ipsec profile ipsec-vpn-44a8938f-0 ! This option causes the router to reduce the Maximum Segment Size of ! TCP packets to prevent packet fragmentation. ip tcp adjust-mss 1387 no shutdown exit ! #4: Border Gateway Protocol (BGP) Configuration ! ! BGP is used within the tunnel to exchange prefixes between the ! Virtual Private Gateway and your Customer Gateway. The Virtual Private Gateway ! will announce the prefix corresponding to your VPC. ! ! Your Customer Gateway may announce a default route (0.0.0.0/0), ! which can be done with the 'network' statement and ! 'default-originate' statements. ! ! The BGP timers are adjusted to provide more rapid detection of outages. ! ! The local BGP Autonomous System Number (ASN) (YOUR_BGP_ASN) is configured ! as part of your Customer Gateway. If the ASN must be changed, the ! Customer Gateway and VPN Connection will need to be recreated with AWS. ! router bgp YOUR_BGP_ASN neighbor 169.254.255.1 remote-as 7224 neighbor 169.254.255.1 activate neighbor 169.254.255.1 timers 10 30 30 address-family ipv4 unicast neighbor 169.254.255.1 remote-as 7224 neighbor 169.254.255.1 timers 10 30 30 neighbor 169.254.255.1 default-originate neighbor 169.254.255.1 activate neighbor 169.254.255.1 soft-reconfiguration inbound ! To advertise additional prefixes to Amazon VPC, copy the 'network' statement ! and identify the prefix you wish to advertise. Make sure the prefix is present ! in the routing table of the device with a valid next-hop. network 0.0.0.0 exit exit ! ------------------------------------------------------------------------- ! IPsec Tunnel #2 ! ------------------------------------------------------------------------- ! #1: Internet Key Exchange (IKE) Configuration ! ! A policy is established for the supported ISAKMP encryption, ! authentication, Diffie-Hellman, lifetime, and key parameters. ! Please note, these sample configurations are for the minimum requirement of AES128, SHA1, and DH Group 2. ! You will need to modify these sample configuration files to take advantage of AES256, SHA256, or other DH groups like 2, 14-18, 22, 23, and 24. ! The address of the external interface for your customer gateway must be a static address. ! Your customer gateway may reside behind a device performing network address translation (NAT). ! To ensure that NAT traversal (NAT-T) can function, you must adjust your firewall rules to unblock UDP port 4500. If not behind NAT, we recommend disabling NAT-T. ! ! Note that there are a global list of ISAKMP policies, each identified by ! sequence number. This policy is defined as #201, which may conflict with ! an existing policy using the same number. If so, we recommend changing ! the sequence number to avoid conflicts. ! crypto isakmp policy 201 encryption aes 128 authentication pre-share group 2 lifetime 28800 hash sha exit ! The ISAKMP keyring stores the Pre Shared Key used to authenticate the ! tunnel endpoints. ! crypto keyring keyring-vpn-44a8938f-1 local-address YOUR_UPLINK_ADDRESS pre-shared-key address 72.21.209.193 key plain-text-password2 exit ! An ISAKMP profile is used to associate the keyring with the particular ! endpoint. ! crypto isakmp profile isakmp-vpn-44a8938f-1 local-address YOUR_UPLINK_ADDRESS match identity address 72.21.209.193 keyring keyring-vpn-44a8938f-1 exit ! #2: IPsec Configuration ! ! The IPsec transform set defines the encryption, authentication, and IPsec ! mode parameters. ! Please note, you may use these additionally supported IPSec parameters for encryption like AES256 and other DH groups like 2, 5, 14-18, 22, 23, and 24. ! crypto ipsec transform-set ipsec-prop-vpn-44a8938f-1 esp-aes 128 esp-sha-hmac mode tunnel exit ! The IPsec profile references the IPsec transform set and further defines ! the Diffie-Hellman group and security association lifetime. ! crypto ipsec profile ipsec-vpn-44a8938f-1 set pfs group2 set security-association lifetime seconds 3600 set transform-set ipsec-prop-vpn-44a8938f-1 exit ! Additional parameters of the IPsec configuration are set here. Note that ! these parameters are global and therefore impact other IPsec ! associations. ! This option instructs the router to clear the "Don't Fragment" ! bit from packets that carry this bit and yet must be fragmented, enabling ! them to be fragmented. ! crypto ipsec df-bit clear ! This option enables IPsec Dead Peer Detection, which causes periodic ! messages to be sent to ensure a Security Association remains operational. ! crypto isakmp keepalive 10 10 on-demand ! This configures the gateway's window for accepting out of order ! IPsec packets. A larger window can be helpful if too many packets ! are dropped due to reordering while in transit between gateways. ! crypto ipsec security-association replay window-size 128 ! This option instructs the router to fragment the unencrypted packets ! (prior to encryption). ! crypto ipsec fragmentation before-encryption ! #3: Tunnel Interface Configuration ! ! A tunnel interface is configured to be the logical interface associated ! with the tunnel. All traffic routed to the tunnel interface will be ! encrypted and transmitted to the VPC. Similarly, traffic from the VPC ! will be logically received on this interface. ! ! Association with the IPsec security association is done through the ! "tunnel protection" command. ! ! The address of the interface is configured with the setup for your ! Customer Gateway. If the address changes, the Customer Gateway and VPN ! Connection must be recreated with Amazon VPC. ! interface Tunnel2 ip address 169.254.255.6 255.255.255.252 ip virtual-reassembly tunnel source YOUR_UPLINK_ADDRESS tunnel destination 72.21.209.193 tunnel mode ipsec ipv4 tunnel protection ipsec profile ipsec-vpn-44a8938f-1 ! This option causes the router to reduce the Maximum Segment Size of ! TCP packets to prevent packet fragmentation. ip tcp adjust-mss 1387 no shutdown exit ! #4: Border Gateway Protocol (BGP) Configuration ! ! BGP is used within the tunnel to exchange prefixes between the ! Virtual Private Gateway and your Customer Gateway. The Virtual Private Gateway ! will announce the prefix corresponding to your Cloud. ! ! Your Customer Gateway may announce a default route (0.0.0.0/0), ! which can be done with the 'network' statement and ! 'default-originate' statements. ! ! The BGP timers are adjusted to provide more rapid detection of outages. ! ! The local BGP Autonomous System Number (ASN) (YOUR_BGP_ASN) is configured ! as part of your Customer Gateway. If the ASN must be changed, the ! Customer Gateway and VPN Connection will need to be recreated with AWS. ! router bgp YOUR_BGP_ASN neighbor 169.254.255.5 remote-as 7224 neighbor 169.254.255.5 activate neighbor 169.254.255.5 timers 10 30 30 address-family ipv4 unicast neighbor 169.254.255.5 remote-as 7224 neighbor 169.254.255.5 timers 10 30 30 neighbor 169.254.255.5 default-originate neighbor 169.254.255.5 activate neighbor 169.254.255.5 soft-reconfiguration inbound ! To advertise additional prefixes to Amazon VPC, copy the 'network' statement ! and identify the prefix you wish to advertise. Make sure the prefix is present ! in the routing table of the device with a valid next-hop. network 0.0.0.0 exit exit

如何测试客户网关配置

您可以测试每条隧道的网关配置。

如需测试每条隧道的客户网关配置

  1. 在客户网关上确定 BGP 状态是 Active

    BGP 对等体变为活跃状态约需 30 秒。

  2. 确保客户网关在向虚拟专用网关发布路由。路由可以是默认路由 (0.0.0.0/0),也可以是您选择的更具体的路由。

正确建立后,您的 BGP 对等体应该从虚拟专用网关接收一条路由,该网关对应您的 VPC 整合团队为该 VPC 指定的前缀(例如 10.0.0.0/24)。如果 BGP 对等体已建立并且您正在接收和发布前缀,那么您的隧道就已正确配置。请确保两条隧道均处于该状态。

然后,您必须测试每个隧道的连接性,方法是在您的 VPC 中启动一个实例,从您的家庭网络 Ping 该实例。在您开始之前,确保完成以下操作:

  • 使用可以响应 Ping 请求的 AMI。我们建议您使用 Amazon Linux AMI 之一。

  • 配置实例的安全组和网络 ACL,以启用入站 ICMP 流量。

  • 确保已配置 VPN 连接路由:您的子网路由表必须包含到虚拟专用网关的路由。有关更多信息,请参阅Amazon VPC 用户指南中的在路由表中启用路由传播

如需测试各条隧道的端到端连接性

  1. 请将 Amazon Linux AMI 的任一实例启动到您的 VPC。当您从 Amazon EC2 控制台中启动实例时,在启动向导中将会列出 Amazon Linux AMI。有关更多信息,请参阅 Amazon VPC 入门指南

  2. 当实例开始运行后,获取其私有 IP 地址(例如 10.0.0.4)。 控制台显示的地址是实例详细信息的一部分。

  3. 在您的本地网络中的系统上,对实例的 IP 地址使用 ping 命令。确保您发出 ping 的计算机位于客户网关后。成功的响应内容应类似如下所示。

    Copy
    ping 10.0.0.4
    Pinging 10.0.0.4 with 32 bytes of data:
    
    Reply from 10.0.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.0.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.0.0.4: bytes=32 time<1ms TTL=128
    
    Ping statistics for 10.0.0.4:
    Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
    
    Approximate round trip times in milliseconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

    注意

    如果您从客户网关路由器向实例发出 ping,请确保您的 ping 消息信源为内部 IP 地址,而非隧道 IP 地址。部分 AMI 不响应从隧道 IP 地址发出的 ping 消息。

  4. (可选) 为测试隧道故障转移,您可临时禁用您的客户网关上的一个隧道,然后重复上一步。您无法禁用 VPN 连接的 AWS 端的隧道。

如果您的隧道测试不成功,请参阅 排查 Cisco IOS 客户网关连接性问题。