在两台主机之间的 LAN 上设置 IPSEC (OpenBSD)

在两台主机之间的 LAN 上设置 IPSEC (OpenBSD)

我最初在 ServerFault 上问过这个问题,但什么也没得到。希望这里有一些OpenBSD专家

尝试在 LAN 上的两台主机之间使用 IPSEC。不涉及VPN

使用 OpenBSD 5.8(在 VirtualBox 中)。我更喜欢使用 OpenBSD 对 IPSEC 的内置支持,而不是第三方。

两个主机:(10.0.2.10主机“A”)和10.0.2.11(主机“B”)

他们可以在尝试设置 IPSEC 之前互相 ping/ssh。

将 A 复制/etc/iked/local.pub到 B/etc/iked/pubkeys/ipv4/10.0.2.10
将 B 复制/etc/iked/local.pub到 A/etc/iked/pubkeys/ipv4/10.0.2.11

双方:

echo "ikev2 esp from any to any" > /etc/iked.conf

chmod 640 /etc/iked.conf

echo "ipsec=YES" > /etc/rc.conf.local

echo "iked_flags=" >> /etc/rc.conf.local

检查配置:

/sbin/iked -n
Configuration OK

我很困惑下一步该做什么。我想我需要进行设置/etc/ipsec.conf,但我只找到了 IKEv1 文档。

重新启动两台机器。没有错误。说 iked 守护进程已启动。如果我将公钥重命名为任何名称,仍然可以互相 ping 通,因此 IPSEC 似乎不起作用。

  1. 我还需要配置什么?
  2. 是否有 IPSEC 和 iked 的日志?如果有,在哪里可以找到它们?
  3. 配置后如何判断 IPSEC 是否正常工作,而不查看机器之间的数据包?

更新:

我在没有 IKED 的情况下让 IPSEC 工作(我想?):

/etc/ipsec.conf:

flow esp from 10.0.2.10 to 10.0.2.11

esp transport from 10.0.2.10 to 10.0.2.11 \
spi 0xCAFEBABE:0xCAFEBABE \
authkey 0x64CHARHEX:0x64CHARHEX \
enckey 0x64CHARHEX:0x64CHARHEX

十六进制需要全部大写

chmod 640 /etc/ipsec.conf

ipsecctl -F (delete config)
ipsecctl -f /etc/ipsec.conf (load config)
ipsecctl -s all -v (show config)

我更喜欢使用 IKE 的自动密钥。我能做些什么?

相关内容