我已经配置了我的 3G IP 网关,使用 IKE 第 1 阶段积极模式和 PSK 连接到我在 Ubuntu 服务器 12.04 上运行的 openswan 安装。我已按如下方式配置 openswan:
/etc/ipsec.conf:
version 2.0
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
oe=off
protostack=netkey
conn net-to-net
authby=secret
left=192.168.0.11
[email protected]
leftsubnet=10.1.0.0/16
leftsourceip=10.1.0.1
right=%any
[email protected]
rightsubnet=192.168.127.0/24
rightsourceip=192.168.127.254
aggrmode=yes
ike=aes128-md5;modp1536
auto=add
/etc/ipsec.secrets:
@left.paxcoda.com @right.paxcoda.com: PSK "testpassword"
请注意,左侧和右侧均已进行 NAT,具有动态公共 IP。左侧 ISP 为我的路由器提供了一个公共 IP,而右侧 ISP 为我提供了一个共享的动态公共 IP 和动态私有 IP。左侧的公共 IP 有动态 DNS。以下是我嗅探 ISAKMP 协议时看到的内容:
21:17:31.228715 IP (tos 0x0, ttl 235, id 43639, offset 0, flags [none], proto UDP (17), length 437)
74.198.87.93.49604 > 192.168.0.11.isakmp: [udp sum ok] isakmp 1.0 msgid 00000000 cookie da31a7896e2a1958->0000000000000000: phase 1 I agg:
(sa: doi=ipsec situation=identity
(p: #1 protoid=isakmp transform=1
(t: #1 id=ike (type=enc value=aes)(type=keylen value=0080)(type=hash value=md5)(type=auth value=preshared)(type=group desc value=modp1536)(type=lifetype value=sec)(type=lifeduration len=4 value=00015180))))
(ke: key len=192)
(nonce: n len=16 data=(da31a7896e2a19582b33...0000001462b01880674b3739630ca7558cec8a89))
(id: idtype=FQDN protoid=0 port=0 len=17 right.paxcoda.com)
(vid: len=16)
(vid: len=16)
(vid: len=16)
(vid: len=16)
21:17:31.236720 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 456)
192.168.0.11.isakmp > 74.198.87.93.49604: [bad udp cksum 0x649c -> 0xcd2f!] isakmp 1.0 msgid 00000000 cookie da31a7896e2a1958->5b9776d4ea8b61b7: phase 1 R agg:
(sa: doi=ipsec situation=identity
(p: #1 protoid=isakmp transform=1
(t: #1 id=ike (type=enc value=aes)(type=keylen value=0080)(type=hash value=md5)(type=auth value=preshared)(type=group desc value=modp1536)(type=lifetype value=sec)(type=lifeduration len=4 value=00015180))))
(ke: key len=192)
(nonce: n len=16 data=(32ccefcb793afb368975...000000144a131c81070358455c5728f20e95452f))
(id: idtype=FQDN protoid=0 port=0 len=16 left.paxcoda.com)
(hash: len=16)
(vid: len=16)
(pay20)
(pay20)
(vid: len=16)
但是,我的 3G 网关(右侧)没有响应,我不知道为什么。我认为左侧的响应确实到达了我的网关,因为在另一个问题中,我试图用主模式 IKE 设置类似的场景,在这种情况下,看起来三个双向主模式交换中至少有一个成功了。
对于失败还有其他什么解释吗?
(顺便说一下,我在右边使用的 3G 网关是 Moxa G3150。)
答案1
检查 Moxa OnCell 的系统日志 - 它可能对 OpenSWAN 的响应不满意,并会直接中止交换,而无需进一步通知。修改 CLI 也可能值得付出努力 - 大多数制造商都允许通过 CLI 进行某种调试/数据包跟踪。
此外,如果可能的话,尝试检查响应数据包是否在其公共接口上离开@left NAT路由器,并且地址是否被重写为公共IP,以排除基础设施中可能存在的路由/数据包过滤问题。