启用 IPSec 后无法通过 ssh 连接到远程系统

lok*_*aro 3 linux ssh ipsec rhel7

我在基本操作系统之上创建了两个 VM,并在两个 VM 之间启用了 IPSec。现在的问题是,一旦 IPsec 启动并在两个 VM 之间建立 SA,我就无法通过基本操作系统 ping 或 ssh 到 VM,但 VM 可以相互 ping。据我所知,IPsec 只在指定的 IP 之间创建一个隧道,即来自 IP A 的用于 IP B 的数据包被加密,而来自 IP A 的所有其他数据包可以在不加密的情况下通过。我在这里错过了什么吗?使用的配置文件是:

conn example  
        left=192.168.54.220  
        leftcert=CA_Server  
        leftsubnet=192.168.54.1/24  
        leftsendcert=always  
        leftrsasigkey=%cert  
        right=192.168.54.221  
        rightca=%same  
        rightrsasigkey=%cert  
        rightsubnet=192.168.54.1/24  
        rightcert=CA_Client  
        authby=rsasig  
        ikev2=permit  
        auto=start  
Run Code Online (Sandbox Code Playgroud)

Mad*_*ter 5

IPsec 仅在指定的 IP 之间创建隧道,即从 IP A 发送到 IP B 的数据包被加密,而来自 IP A 的所有其他数据包可以不加密地通过。我在这里错过了什么吗?

是的。IPSec 在两个指定端点之间创建隧道,leftright。但是使用该隧道的流量,即加密的流量,是在两个指定的网络之间,leftsubnet并且rightsubnet。在您的情况下,两个路由子网彼此相同,这是行不通的。

如果您想要的是将 A 到 B 的流量在 A 加密并在 B 解密,反之亦然,您可以通过设置leftsubnetleft的地址来告诉 S/WAN ,在您的情况下192.168.54.220/32(掩码很重要),并通过在您的情况下,设置rightsubnet为 beright的地址192.168.54.221/32