我的配置:

我的配置:

我正在尝试从家里的 Windows7 连接到 Amazon 的 Ubuntu EC2 实例上的 OpenSwan/xl2tpd 设置。
这是一个从客户端和服务器端进行 NAT 的连接。
我按照几个线程中的提示完成了此连接,但都失败了

最令我困惑的是日志中的以下一行:

7 月 13 日 11:04:21 ip-10-117-59-224 pluto[8782]:“connRW48”[2] 85.178.143.82 #1:无法响应 IPsec SA 请求,因为没有已知连接 23.21.84.48/32===10.117.59.224[23.21.84.48,+S=C]:17/1701...85.178.143.82[192.168.2.103,+S=C]:17/1701===192.168.2.103/32

此连接显然存在,其外部 IP 被标识为 leftid(请参阅下文有关 ipsec auto --status 的内容)。为什么找不到它?还是我还做错了什么?

我将非常感激您的帮助。

我的配置:

我使用的 IP:

  • EC2 实例内部 IP:10.117.59.224
  • 与实例关联的弹性 IP:23.21.84.48
  • 我家路由器对应的 ISP IP 为:85.178.143.82
  • 我家的 NAT IP:192.168.2.103

我目前在 /var/log/auth.log 上收到以下错误消息:

7 月 13 日 11:03:55 ip-10-117-59-224 pluto[8782]: 将路径更改为目录 '/etc/ipsec.d/ocspcerts'
7 月 13 日 11:03:55 ip-10-117-59-224 pluto[8782]: 更改为目录 '/etc/ipsec.d/crls'
7 月 13 日 11:03:55 ip-10-117-59-224 pluto[8782]: 警告:空目录
7 月 13 日 11:03:55 ip-10-117-59-224 pluto[8782]: 正在监听 IKE 消息
7 月 13 日 11:03:55 ip-10-117-59-224 pluto[8782]: 添加接口 eth0/eth0 10.117.59.224:500
7 月 13 日 11:03:55 ip-10-117-59-224 pluto[8782]: 添加接口 lo/lo 127.0.0.1:500
7 月 13 日 11:03:55 ip-10-117-59-224 pluto[8782]: 添加接口 lo/lo ::1:500
7 月 13 日 11:03:55 ip-10-117-59-224 pluto[8782]: 从“/etc/ipsec.secrets”加载机密
7 月 13 日 11:03:55 ip-10-117-59-224 pluto[8782]: 已加载密钥 ID 为 PPK_RSA:AQOnFE96U 的私钥
7 月 13 日 11:03:57 ip-10-117-59-224 pluto[8782]: 添加了连接描述“connRW48”
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]: 来自 85.178.143.82:500 的数据包:忽略供应商 ID 有效负载 [MS NT5 ISAKMPOAKLEY 00000008]
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]: 来自 85.178.143.82:500 的数据包:已收到供应商 ID 负载 [RFC 3947] meth=109,但端口浮动已关闭
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]: 来自 85.178.143.82:500 的数据包:已收到供应商 ID 负载 [draft-ietf-ipsec-nat-t-ike-02_n] meth=106,但端口浮动已关闭
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]: 来自 85.178.143.82:500 的数据包:忽略供应商 ID 有效负载 [碎片]
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]: 来自 85.178.143.82:500 的数据包:忽略供应商 ID 有效负载 [MS-Negotiation Discovery Capable]
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]: 来自 85.178.143.82:500 的数据包:忽略供应商 ID 有效负载 [Vid-Initial-Contact]
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]:来自 85.178.143.82:500 的数据包:忽略供应商 ID 负载 [IKE CGA 版本 1]
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]:“connRW48”[1] 85.178.143.82 #1:响应来自未知对等点 85.178.143.82 的主模式
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]:“connRW48”[1] 85.178.143.82 #1:不支持 OAKLEY_GROUP 20。属性 OAKLEY_GROUP_DESCRIPTION
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]:“connRW48”[1] 85.178.143.82 #1:不支持 OAKLEY_GROUP 19。属性 OAKLEY_GROUP_DESCRIPTION
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]:“connRW48”[1] 85.178.143.82 #1:从状态 STATE_MAIN_R0 转换到状态 STATE_MAIN_R1
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]:“connRW48”[1] 85.178.143.82 #1:STATE_MAIN_R1:已发送 MR1,预期 MI2
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]:“connRW48”[1] 85.178.143.82 #1:从状态 STATE_MAIN_R1 转换到状态 STATE_MAIN_R2
7 月 13 日 11:04:20 ip-10-117-59-224 pluto[8782]:“connRW48”[1] 85.178.143.82 #1:STATE_MAIN_R2:已发送 MR2,预期 MI3
7 月 13 日 11:04:21 ip-10-117-59-224 pluto[8782]: “connRW48”[1] 85.178.143.82 #1: 主模式对等 ID 为 ID_IPV4_ADDR: '192.168.2.103'
7 月 13 日 11:04:21 ip-10-117-59-224 pluto[8782]:“connRW48”[1] 85.178.143.82 #1:从“connRW48”切换到“connRW48”
7 月 13 日 11:04:21 ip-10-117-59-224 pluto[8782]:“connRW48”[2] 85.178.143.82 #1:删除与对等体 85.178.143.82 的连接“connRW48”实例 {isakmp=#0/ipsec=#0}
7 月 13 日 11:04:21 ip-10-117-59-224 pluto[8782]:“connRW48”[2] 85.178.143.82 #1:从状态 STATE_MAIN_R2 转换到状态 STATE_MAIN_R3
7 月 13 日 11:04:21 ip-10-117-59-224 pluto[8782]:“connRW48”[2] 85.178.143.82 #1:STATE_MAIN_R3:已发送 MR3,已建立 ISAKMP SA {auth=OAKLEY_PRESHARED_KEY cipher=aes_256 prf=oakley_sha group=modp2048}
7 月 13 日 11:04:21 ip-10-117-59-224 pluto[8782]:“connRW48”[2] 85.178.143.82 #1:对等体提议:23.21.84.48/32:17/1701 -> 192.168.2.103/32:17/0
7 月 13 日 11:04:21 ip-10-117-59-224 pluto[8782]:“connRW48”[2] 85.178.143.82 #1:无法响应 IPsec SA 请求,因为没有已知连接 23.21.84.48/32===10.117.59.224[23.21.84.48,+S=C]:17/1701...85.178.143.82[192.168.2.103,+S=C]:17/1701===192.168.2.103/32
7 月 13 日 11:04:21 ip-10-117-59-224 pluto[8782]:“connRW48”[2] 85.178.143.82 #1:向 85.178.143.82:500 发送加密通知 INVALID_ID_INFORMATION
7 月 13 日 11:04:22 ip-10-117-59-224 pluto[8782]:“connRW48”[2] 85.178.143.82 #1:对等体提议:23.21.84.48/32:17/1701 -> 192.168.2.103/32:17/0
7 月 13 日 11:04:22 ip-10-117-59-224 pluto[8782]:“connRW48”[2] 85.178.143.82 #1:无法响应 IPsec SA 请求,因为没有已知连接 23.21.84.48/32===10.117.59.224[23.21.84.48,+S=C]:17/1701...85.178.143.82[192.168.2.103,+S=C]:17/1701===192.168.2.103/32

我的安全组允许 UDP 端口 500 和 4500 等端口的传入通信

我的 iptables 还允许 1701 等

我的 /etc/ipsec.conf:

版本 2.0
配置设置
        protostack=netkey
        接口=%默认路由
        nat_traversal=yes
        虚拟私有=%v4:10.0.0.0/8,%v4:172.16.0.0/12
        oe=否
        nhelpers=0
        disable_port_floating=yes
包括 /etc/ipsec.d/*.conf

我的 /etc/ipsec.d/connRW48.conf

连接 connRW48
        rightsubnet=vhost:%no,%priv
        类型=运输
        authby=秘密
        pfs=否
        重新密钥=否
        ikelifetime=8h
        按键寿命=1小时
        左协议端口=17/1701
        左=10.117.59.224
        #[电子邮件保护]
        leftid=23.21.84.48
        右协议端口=17/0
        右=%任意
        自动=忽略

我的(已审查)/etc/ipsec.secrets:

: RSA {
        # RSA 2048 位 ip-10-117-59-224 2012 年 7 月 10 日星期二 14:01:50
        # 仅用于签名,加密不安全
        #公钥=XXXXXXX
        模数:XXX
        公共指数:0x03
        # 此后的一切都属于秘密
        私有指数:XXX
        Prime1:XXX
        Prime2:XXX
        指数1:XXX
        指数2:XXX
        系数:XXX
        }
# 不要改变“}”的缩进
@ip-10-117-59-224.ec2.internal %any:PSK“XXX”
23.21.84.48 %任何:PSK“XXX”

我运行“ipsec verify”的输出:

检查你的系统以查看 IPsec 是否已安装并正确启动:
版本检查和 ipsec on-path [确定]
Linux Openswan U2.6.37/K3.2.0-25-virtual(网络密钥)
检查内核中的 IPsec 支持 [确定]
 SAref 内核支持 [N/A]
 NETKEY:测试 XFRM 相关的 proc 值 [确定]
        [好的]
        [好的]
检查冥王星是否正在运行 [确定]
 Pluto 在 udp 500 上监听 IKE [确定]
 冥王星在 udp 4500 上监听 NAT-T [失败]
检查“ip”命令 [确定]
检查 /bin/sh 不是 /bin/dash [警告]
检查“iptables”命令 [确定]
机会加密支持 [已禁用]

我运行“ipsec auto --status”的输出:

000 使用内核接口:netkey
000 接口 lo/lo ::1
000 接口 lo/lo 127.0.0.1
000 接口 eth0/eth0 10.117.59.224
000%我的id=(无)
000 调试无
000
000 虚拟私有 (%priv):
000 - 允许 2 个子网:10.0.0.0/8、172.16.0.0/12
000 – 不允许 0 个子网:
000 警告:virtual_private= 中不允许的子网为空。如果您有
000 私有地址空间正在内部使用,应当排除!
000
000 算法 ESP 加密:id=2,name=ESP_DES,ivlen=8,keysizemin=64,keysizemax=64
...
...
000 算法 IKE dh 组:id=24,名称=OAKLEY_GROUP_DH24,位=2048
000
000 统计 db_ops:{curr_cnt、total_cnt、maxsz}:context={0,0,0} trans={0,0,0} attrs={0,0,0}
000
000 “connRW48”:10.117.59.224[23.21.84.48,+S=C]:17/1701...%virtual[+S=C]:17/0===?;未路由;eroute 所有者:#0
000 “connRW48”:myip=未设置;hisip=未设置;
000 “connRW48”:ike_life:28800s;ipsec_l​​ife:3600s;rekey_margin:540s;rekey_fuzz:100%;keyingtries:0
000 “connRW48”:策略:PSK+ENCRYPT+DONTREKEY+IKEv2ALLOW+SAREFTRACK+lKOD+rKOD;优先级:32,32;接口:eth0;
000 “connRW48”:最新的 ISAKMP SA:#0;最新的 IPsec SA:#0;
000

提前致谢

答案1

我在 EC2 中以类似的设置运行 openswan,Windows 客户端能够毫无问题地连接。不确定问题到底是什么,但以下是我的配置和你的配置之间的一些差异:

openswan 2.6.38

version 2.0参数。其余配置setup大致相同。

具有与您的不同的以下参数(根据您的配置进行调整):

leftsubnet=10.117.59.224/32 
leftnexthop=%defaultroute # this might be redundant with netkey stack.
rightprotoport=17/%any
rightid=%any
forceencaps=yes
auth=esp
ike=3des-sha1
phase2alg=3des-sha1

我没有指定ikelifetimekeylife

ipsec.secrets仅引用公共 IP – 没有@internal 条目。

我不确定此修复是否适用于 Win7,但对于 XP / Vista 客户端,我需要按照http://support.microsoft.com/kb/926179

我的安全策略(AWS SG / iptables / 等)允许传入 UDP 1701,500,4500、协议 50、协议 51(ESP 和 AH)。

答案2

该问题似乎与允许从 Windows 客户端到 L2TP 服务器的 NATT 连接的 Windows 注册表补丁有关。

注册补丁是:

Windows 注册表编辑器版本 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PolicyAgent] "AssumeUDPEncapsulationContextOnSendRule"=dword:00000002

相关内容