带有 nat 到 aws 客户网关的 Cisco ipsec 隧道

网络工程 思科-ios 网络安全 aws
2021-07-29 15:05:45

我正在尝试在 Cisco 路由器 (ISR) 和 AWS(客户网关)之间配置 IPSec 隧道。此处与 ISP 的连接是具有静态私有 IP(例如 10.100.1.1)的 PPPoE 连接,该 IP 映射到公共 IP(例如 160.1.1.1)。没有对公共 IP 进行过滤,所有流量都被转换为私有。

我现在正在尝试配置 IPSec 隧道,但无法启动。如果我有公共 IP,则提供的用于配置隧道的推荐配置如下:

crypto keyring preshared-key-public
  local-address 160.1.1.1
  pre-shared-key address 54.1.1.1 key XXX ! AWS IP

crypto isakmp profile isakmp-vpn-public
  keyring preshared-key-public
  match identity address 54.1.1.1 255.255.255.255
  local-address 160.1.1.1

interface Tunnel1
  ip address 169.1.1.1 255.255.255.252
  tunnel source 160.1.1.1
  tunnel destination 54.1.1.1
  tunnel mode ipsec ipv4
  tunnel protection ipsec profile pfs-group2-sometransform

这是我正在使用的配置:

crypto keyring preshared-key-private
  local-address 10.100.1.1
  pre-shared-key address 54.1.1.1 key XXX

crypto isakmp profile isakmp-vpn-private
  keyring preshared-key-private
  match identity address 54.1.1.1 255.255.255.255
  local-address 10.100.1.1

interface Tunnel1
  tunnel source 10.100.1.1
  ! everything else is the same

所以我用私有IP修改了3次出现的公共IP(基于http://blog.brianbeach.com/2015/05/configuring-aws-customer-gateway-behind.html),但隧道没有来向上:

*Dec  8 : ISAKMP: Error: payload length of VENDOR 0 < 4
*Dec  8 : %CRYPTO-4-IKMP_BAD_MESSAGE: IKE message from 54.1.1.1    failed its sanity check or is malformed
*Dec  8 : ISAKMP (0:0): incrementing error counter on sa, attempt 1 of 5: PAYLOAD_MALFORMED
*Dec  8 : ISAKMP:(0:0:N/A:0): sending packet to 54.1.1.1 my_port 500 peer_port 500 (I) MM_NO_STATE

我最初认为该0 < 4错误可能与此错误有关:https : //tools.cisco.com/quickview/bug/CSCee74283但固件是固定版本:

Cisco IOS Software, 2801 Software, Version 12.4(25c), RELEASE SOFTWARE (fc2)
ROM: System Bootstrap, Version 12.4(13r)T, RELEASE SOFTWARE (fc1)

我可以确认预共享密钥配置正确,我从 AWS 下载了配置并将其复制到 Cisco 配置中。设置是否正确?关于可能出什么问题的任何想法?我不确定我是否打算在所有 3 个位置(keyringisakmp profileinterface)中使用私有 IP ,或者它们中的 1 个是否应该引用公共 IP(我已经尝试在其中使用它keyringisakmp profile但它也不起作用。

在提供公共/NAT/私有设置之前,ISP 曾经提供一个 L2TP 隧道,其中公共静态 IP 位于路由器上,并且运行良好。然而,L2TP 隧道不再可用(但该路由器/软件在该环境中与 AWS 配合使用)

1个回答

事实证明,启用 nat 遍历是导致问题的原因。

no cry ips nat-trans udp-encaps
int tun1
shut
no shut

隧道已经建起来了。