VPN 已启动,但无法 ping/ssh 等

VPN 已启动,但无法 ping/ssh 等

我有一个 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。

相关内容