我有一个 VPN,使用主机到主机设置进行配置。它们是:
AIX 使用 IKE(ipsec)
Redhat 使用 libreswan (ipsec)
隧道已启动,我可以通过从两端查询来查看。到目前为止一切顺利。不幸的是,我无法从任何一端 ping 通,ping 没有返回任何结果。但是,当在任一端使用 tcpdump 时,我确实看到 ESP 数据包通过。
我使用的并导入到aix ok的ipsec.conf是:
conn %默认 键控尝试=1 类型=隧道 身份验证=esp authby=秘密 pfs=否 重新密钥边缘=900s 重新密钥模糊=90% 自动=添加 康涅狄格 左=170.22.7.44 右=170.22.11.159
那么这是路由或 ipsec 规则问题吗?
当隧道处于活动状态时,在 aix 端会应用默认的 ipsec 规则,这些规则看起来不错。在 Redhat 端,iptables 中没有生成任何规则,只有默认规则,所以我停止了 itables。我应该这样做吗?我是否需要 iptables 中的规则才能工作?如果需要,那么需要哪些规则?
我的路由是这样的(ips masked):redhat:170.22.7.44 aix:170.22.11.159
内核 IP 路由表 目标网关 Genmask 标志 MSS 窗口 irtt Iface 170.22.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 170.22.7.1 0.0.0.0 UG 0 0 0 eth0
艾克斯
默认 170.22.11.1 UG 2 25324037 en0 - - 127/8 127.0.0.1 U 0 562 lo0 - - 170.22.11.0 170.22.11.159 UHSb 0 0 en0 - - => 170.22.11/24 170.22.11.159 U 3 642941 en0 - - 170.22.11.159 127.0.0.1 UGHS 0 102 lo0 - - 170.22.11.255 170.22.11.159 UHSb 0 1 en0 -
答案1
因此经过大量搜索之后,我发现 Linux 端缺少这条规则,一旦插入 VPN 一切看起来都很好。
接受 esp -- 170.22.7.44 170.22.11.0
答案2
我认为您遇到了 IPSEC 问题:您没有在配置中定义左/右子网,因此 IPSEC 不知道必须加密哪些数据包并将其发送到隧道。
在 StrongSWAN 中,关键字是 rightsubnet/leftsubnet。