Назад | Перейти на главную страницу

Стенд Libreswan в VirtualBox

В настоящее время я работаю над созданием испытательного стенда в 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 включен.

Заранее спасибо!