Openiked - 无法 ping 远程网关

Openiked - 无法 ping 远程网关

我使用 strongswan 设置了隧道 ipsec,并使用 x509 PKI 打开了隧道。隧道建立正确,但我遇到了一些问题。

  • 带有 iked 的网关无法 ping 通路由器 vyatta 的本地 IP,但 vyatta 可以 ping 通带有 iked 的网关的本地 IP。

  • 子网 10.1.1.0/24 不能加入子网 10.3.3.0/24(反之亦然)

下面是我的配置模式:

                                10.2.2.0/24               10.3.3.0/24
 +---------------+    +--------+.100   +-------+   ISP    +---------+.1
 |Private subnet +---^|  FW    +------^+ Box   +^---------+FW       |
 +---------------+   1.--------+       +-------+          +---------+
  10.1.1.0/24           Strongswan        NAT              OpenBSD (iked)
                        vyatta

我的 iked.conf:

ikev2 "site2" passive esp \
    from 10.3.3.1 to 10.2.2.100 \
    from 10.3.3.0/24 to 10.1.1.0/24 \
    peer any local any \
    srcid iked.example.com dstid vyatta.example.com \
    #ikesa auth hmac-sha2-256 enc aes-256-ctr group modp2048 \
    childsa auth hmac-sha2-512 enc aes-256-ctr group modp2048 \
    tag "$name-$id"

我的 ipsec.conf(strongswan):

conn site1
    keyexchange=ikev2
    dpddelay=5s
    dpdtimeout=60s
    dpdaction=restart

    left=%defaultroute
    leftcert=vyatta.crt.pem
    leftsubnet=10.1.1.0/24,10.2.2.100
    leftfirewall=yes
    leftid="vyatta.example.com"

    right=10.3.3.1
    rightsubnet=10.3.3.0/24
    rightid="iked.example.com"

    auto=start

但是,当我在 iked 网关上添加这两条路由时,一切正常:

route add -inet 10.2.2.100 -llinfo -link -static -iface vmx1
route add -inet 10.1.1.0/24 10.2.2.100

除了一件事。当我从数据包过滤器中创建重定向 rdr-to 和 nat-to 组合时,它不起作用。数据包被正确地重定向到 10.1.1.0/24 子网上的服务器,并且源 IP 已进行网络地址转换(snat 为 10.3.3.1)。我注意到 openbsd 没有转发,因为它请求 10.2.2.100 的 arp 地址,我不明白为什么。所以我不知道为什么数据包没有封装在隧道中,当我执行“tcpdump enc0”时我什么也看不到。

因此,我有两个问题:

  • 为什么我的 iked 网关在没有路由的情况下无法 ping vyatta 网关?我的配置文件 (iked.conf) 中缺少什么吗?
  • 为什么 openbsd 发出 arp 请求而不是在 enc0 中重定向数据包?

答案1

这个问题已经是几个月前的问题了,所以你可能早就搞清楚了你的问题。而且这很可能没有回答你的问题。但我注意到你已经注释掉了文件ikesa中的选项iked.conf。我刚刚(艰难地)发现注释后面的所有内容都不会被评估。因此,如果你使用pf来引用你的$name-$id标签,它将无法正确评估,因为iked永远不会解释此选项。childsa如果这对你的设置很重要,那么你的 也是如此。

相关内容