我目前正在 VirtualBox 中为两个虚拟机创建一个测试平台,使用 LibreSwan 建立一个隔离的机会性 IPSec 网络。所有服务都运行正常,但两个虚拟机之间的网络流量似乎实际上没有加密。如果我应该在另一个 Exchange 网站上发布此信息,请告诉我!
我正在遵循 libreswan 网站上列出的有关机会性加密的说明:
https://libreswan.org/wiki/HOWTO:_Opportunistic_IPsec#Authentication
这是我的相关配置:
Vagrant文件:
Vagrant.configure("2") do |config|
# Common configuration
config.vm.box = "centos/7"
# First machine in IPSec network, named "bast"
config.vm.define "bast" do |bast|
bast.vm.hostname = "bast"
bast.vm.network "private_network", ip: "192.168.50.2"
bast.vm.provider "virtualbox" do |v|
v.name = "bast"
end
end
# Second machine in IPSec network, named "kvothe"
config.vm.define "kvothe" do |kvothe|
kvothe.vm.hostname = "kvothe"
kvothe.vm.network "private_network", ip: "192.168.50.3"
kvothe.vm.provider "virtualbox" do |v|
v.name = "kvothe"
end
end
end
...在每台机器上:
ipsec配置文件
config setup
protostack=netkey
#plutodebug="all"
logfile=/var/log/pluto.log
include /etc/ipsec.d/*.conf
/etc/ipsec.d/oe-certificate.conf
conn private
# IPsec mandatory
rightrsasigkey=%cert
rightauth=rsasig
right=%opportunisticgroup
rightca=%same
left=%defaultroute
leftauth=rsasig
leftcert=myhostname
leftid=%fromcert
narrowing=yes
type=tunnel
ikev2=insist
auto=ondemand
# tune remaining options to taste - fail fast to prevent packet loss to the app
negotiationshunt=hold
failureshunt=drop
# 0 means infinite tries
keyingtries=0
retransmit-timeout=3s
/etc/ipsec.d/policies/private
192.168.50.0/24
我还验证了所有这些都是空白的,并且除了之外/etc/ipsec.d/policies/{private-or-clear,clear,block,clear-or-private
没有任何其他*.conf
文件。/etc/ipsec.d/
oe-certificate.conf
当我从 192.168.50.2 执行ping -I eth1 192.168.50.3
(我正在使用的私有 VirtualBox 子网在eth1
虚拟机内部运行)时,没有输出ipsec whack --trafficstatus
,而的输出ipsec whack --shuntstatus
是:
000 Bare Shunt list:
000
/var/log/pluto.log
请让我知道是否有和/或的输出ipsec status
有帮助 - 这些文件中的所有内容看起来都很干净。
到目前为止,我最好的猜测是 VirtualBox 网络的 NAT 存在一些问题,并且 libreswan 没有意识到该连接应该是加密的。
我没有启用iptables
或firewalld
SELinux。
提前致谢!