Nei*_*gan 6 local-area-network ipsec openbsd ikev2
尝试在 LAN 上的两台主机之间使用 IPSEC。不涉及 VPN
使用 OpenBSD 5.8(在 VirtualBox 中)。我更喜欢使用 OpenBSD 对 IPSEC 和密钥交换的内置支持,而不是第三方。
两个主机:(10.0.2.10
主机“A”)和10.0.2.11
(主机“B”)
他们可以在尝试设置 IPSEC 之前互相 ping/ssh。
更新:我想也许 OpenIKED (IKE v2) 不支持transport
模式,所以我也会接受 isakmp (IKE v1) 的答案
复制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
Run Code Online (Sandbox Code Playgroud)
检查配置:
/sbin/iked -n
Configuration OK
Run Code Online (Sandbox Code Playgroud)
我对接下来要做什么感到困惑。我想我需要设置/etc/ipsec.conf
,但我只找到了 IKEv1 文档。
重新启动了两台机器。没有错误。说 iked 守护进程启动了。如果我将公钥重命名为任何内容,仍然可以互相 ping 通,因此 IPSEC 似乎不起作用。
更新:我让 IPSEC 使用手动密钥交换
/etc/ipsec.conf
:
# .10 is source, .11 is destination
flow esp from 10.0.2.10 to 10.0.2.11 type require
esp transport from 10.0.2.10 to 10.0.2.11 \
spi 0xCAFEBABE:0xCAFEBABE \
authkey 0x64CHARHEX:0x64CHARHEX \
enckey 0x64CHARHEX:0x64CHARHEX
Run Code Online (Sandbox Code Playgroud)
十六进制需要全部大写
chmod 640 /etc/ipsec.conf
ipsecctl -F (delete config)
ipsecctl -f /etc/ipsec.conf (load config)
ipsecctl -s all -v (show config)
Run Code Online (Sandbox Code Playgroud)
我更喜欢使用 IKEv2 的自动键控。我能做什么?
像书呆子一样回答我自己的问题
问题 1. OpenIKED (IKEv2) 不支持传输模式,因此只能将其用于 VPN,而不能用于 LAN。使用isakmpd
(IKEv1)
问题 2. 的文档ipsec.conf
说auth
和enc
值具有默认值,但您似乎仍然需要设置它们
我还需要配置什么?
您需要设置正确的rc.d
标志isakmpd
(见下文)
是否有 IPSEC 和 iked 的日志?如果有,在哪里可以找到它们?
日志位于/var/log/daemon
配置后如何判断 IPSEC 是否正常工作,而不查看机器之间的数据包?
在 B 上运行tcpdump host A
,在 A 上运行ping B
。您想在 tcpdump 输出中看到esp
和spi
设置:
主机A (10.0.2.10)
# cat << EOF > /etc/ipsec.conf
ike active esp transport from 10.0.2.10 to 10.0.2.11 \
main auth hmac-sha1 enc aes \
quick auth hmac-sha2-256 enc aes
EOF
# chmod 640 /etc/ipsec.conf
# cd /etc/isakmpd/pubkeys/ipv4
# scp notRoot@10.0.2.11:/etc/isakmpd/local.pub 10.0.2.11 `# copy remote's public key`
# rcctl enable ipsec
# rcctl enable isakmpd
# rcctl set isakmpd flags "-KTv" `#K = use ipsec.conf for configuration, T = disable NAT traversal, v = verbose logging`
# ipsecctl -vf /etc/ipsec.conf `# start ipsec, or reboot`
# rcctl start isakmpd
Run Code Online (Sandbox Code Playgroud)
主机 B (10.0.2.11)
# cat << EOF > /etc/ipsec.conf
ike active esp transport from 10.0.2.11 to 10.0.2.10 \
main auth hmac-sha1 enc aes \
quick auth hmac-sha2-256 enc aes
EOF
# chmod 640 /etc/ipsec.conf
# cd /etc/isakmpd/pubkeys/ipv4
# scp notRoot@10.0.2.10:/etc/isakmpd/local.pub 10.0.2.10 `# copy remote's public key`
# rcctl enable ipsec
# rcctl enable isakmpd
# rcctl set isakmpd flags "-KTv" `#K = use ipsec.conf for configuration, T = disable NAT traversal, v = verbose logging`
# ipsecctl -vf /etc/ipsec.conf `# start ipsec, or reboot`
# rcctl start isakmpd
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1829 次 |
最近记录: |