В настоящее время я работаю над созданием испытательного стенда в VirtualBox для двух виртуальных машин с изолированной гибкой сетью IPSec с LibreSwan. Все службы работают нормально, но сетевой трафик между двумя виртуальными машинами на самом деле не зашифрован. Если я размещу это на другом веб-сайте Exchange, сообщите мне!
Я следую инструкциям, приведенным на веб-сайте libreswan для гибкого шифрования:
https://libreswan.org/wiki/HOWTO:_Opportunistic_IPsec#Authentication
Вот моя соответствующая конфигурация:
Vagrantfile:
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.conf
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
.
Когда я выполняю ping -I eth1 192.168.50.3
(частная подсеть VirtualBox, которую я использую, работает на eth1
внутри виртуальной машины) из 192.168.50.2, нет вывода из ipsec whack --trafficstatus
, а вывод ipsec whack --shuntstatus
является:
000 Bare Shunt list:
000
Сообщите мне, если на выходе /var/log/pluto.log
и / или ipsec status
поможет - в этих файлах все казалось чистым.
На данный момент я предполагаю, что есть что-то странное с NAT-подключением сети VirtualBox, и что libreswan не понимает, что соединение должно быть зашифровано.
У меня нет iptables
, firewalld
или SELinux включен.
Заранее спасибо!