我正在尝试在 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 个位置(keyring、isakmp profile和interface)中使用私有 IP ,或者它们中的 1 个是否应该引用公共 IP(我已经尝试在其中使用它keyring,isakmp profile但它也不起作用。
在提供公共/NAT/私有设置之前,ISP 曾经提供一个 L2TP 隧道,其中公共静态 IP 位于路由器上,并且运行良好。然而,L2TP 隧道不再可用(但该路由器/软件在该环境中与 AWS 配合使用)