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

StrongSwan сборка и запуск при запуске

Меня попросили развернуть сервер IPSEC для проекта, и после некоторых исследований StrongSwan выглядит как хороший кандидат. Поскольку этот проект требует максимальной безопасности, я решил установить последнюю версию StrongSwan (5.6.2), поскольку она, похоже, решает несколько проблем с безопасностью и другие проблемы.

Итак, я потратил последние несколько дней, пытаясь настроить его, что я смог сделать с помощью /etc/ipsec.confоднако, после прочтения веб-сайта StrongSwan, теперь это унаследованный способ его настройки.

Рекомендуемый способ настройки strongSwan - через мощный интерфейс vici и инструмент командной строки swanctl. Файл конфигурации swanctl.conf, используемый swanctl, хранится вместе с сертификатами и соответствующими закрытыми ключами в каталоге swanctl. Глобальные настройки strongSwan, а также конфигурации для конкретных плагинов определены в strongswan.conf.

В качестве альтернативы можно использовать унаследованный интерфейс ipsec stroke и его файлы конфигурации ipsec.conf и ipsec.secrets.

Итак, сейчас я пытаюсь изменить конфигурацию, чтобы использовать файл, хранящийся в /etc/swanctl/conf.d вместо...

Итак, мой вопрос таков:

Кто-нибудь знает, как собрать StrongSwan из исходного кода, запустить его с сервера (Ubuntu 16.04) и использовать новый метод настройки?

Моя строка конфигурации выглядит так

./configure --prefix=/usr --sysconfdir=/etc \
  --enable-systemd --enable-swanctl \
  --disable-charon --disable-stroke --disable-scepclient \
  --enable-gcm --enable-eap-tls

но это все еще не начинается с сервера, и я не могу найти strongswan или strongswan-swanctl для запуска.

Мой нынешний ipsec.conf выглядит так

conn %default
 auto=add
 forceencaps=yes
 keyexchange=ikev2
 keyingtries=1
 ike=aes256-sha256-modp2048!
 esp=aes256-sha256,aes128-sha256!
 dpdaction=clear
 inactivity=120s
 leftsendcert=always
 leftcert=vpn-server-cert.pem
 leftsubnet=10.0.0.0/20
 leftid=@vpnserver
 rightsourceip=172.16.0.0/12
 eap_identity=%identity

conn ikev2-cert
 rightauth=eap-tls

что "я думаю" переводится как это

connections {
   rw {
      version = 2
      send_certreq = yes
      proposals = aes256-sha256-modp2048!
      encap = yes
      dpd_delay = 30s
      local {
         auth = eap-tls 
         certs = vpn-server-cert.pem
         id = vpnserver
      }
      remote {
         auth = eap-tls 
      }
      children {
         net {
            local_ts  = 172.16.0.0/12 
            esp_proposals = aes256-sha256,aes128-sha256!
            inactivity = 120s
         }
      }
   }
}

Если вы настроите с помощью --enable-systemd в charon-systemd будет собран демон и служебный модуль systemd с именем strongswan будет установлен. Вы можете управлять этим (как и любым другим модулем systemd) с помощью systemctl. Итак, чтобы запустить его при загрузке системы, включите устройство с помощью:

sudo systemctl enable strongswan.service

(Примечание: Сервисный блок systemd назывался strongswan-swanctl перед 5.8.0.)

Также более точный перевод конфига следующий:

connections {
   rw {
      version = 2
      send_cert = always
      proposals = aes256-sha256-modp2048
      encap = yes
      pools = rw
      # dpd_delay = 30s you didn't specify this in your ipsec.conf and it seems rather short for roadwarriors
      local {
         certs = vpn-server-cert.pem
         id = vpnserver
      }
      remote {
         auth = eap-tls 
         eap_id = %any
      }
      children {
         net {
            local_ts  = 10.0.0.0/20
            esp_proposals = aes256-sha256,aes128-sha256
            inactivity = 120s
         }
      }
   }
}

pools {
   rw {
     addrs = 172.16.0.0/12 
   }
}

Я просто хотел добавить что-то поверх того, что написано выше "ecdsa".

Для людей, которые только что установили strongswan с помощью пакетов ubuntu, а не с помощью ./configure ... build.

Если вы не можете найти службу «strongswan-swanctl» или не можете ее установить, имя пакета в ubuntu - «charon-systemd».

Итак, чтобы установить пакет:

sudo apt-get install charon-systemd

И чтобы включить службу:

systemctl enable strongswan-swanctl