Меня попросили развернуть сервер 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