Poproszono mnie o wdrożenie serwera IPSEC dla projektu, a po przeprowadzeniu badań StrongSwan wygląda na dobrego kandydata. Ponieważ ten projekt wymaga najwyższych zabezpieczeń, postanowiłem zainstalować najnowszą wersję StrongSwan (5.6.2), ponieważ wydaje się, że rozwiązuje kilka problemów związanych z bezpieczeństwem.
Spędziłem więc kilka ostatnich dni, pracując nad tym, jak to skonfigurować, co udało mi się zrobić /etc/ipsec.conf
, czytając jednak stronę internetową StrongSwan, jest teraz starszym sposobem konfiguracji.
Zalecanym sposobem konfiguracji strongSwan jest użycie potężnego interfejsu Vici i narzędzia wiersza poleceń swanctl. Plik konfiguracyjny swanctl.conf używany przez swanctl jest przechowywany wraz z certyfikatami i odpowiadającymi im kluczami prywatnymi w katalogu swanctl. Globalne ustawienia strongSwan oraz konfiguracje specyficzne dla wtyczek są zdefiniowane w strongswan.conf.
Alternatywnie można użyć starszego interfejsu obrysu ipsec oraz jego plików konfiguracyjnych ipsec.conf i ipsec.secrets.
Więc teraz próbuję zmienić konfigurację, aby /etc/swanctl/conf.d
zamiast tego użyć pliku zapisanego w ...
Więc moje pytanie brzmi:
Czy ktoś wie, jak zbudować StrongSwan ze źródła i uruchomić go z serwerem (Ubuntu 16.04) i użyć nowej metody konfiguracji?
Moja linia konfiguracji wygląda tak
./configure --prefix=/usr --sysconfdir=/etc \
--enable-systemd --enable-swanctl \
--disable-charon --disable-stroke --disable-scepclient \
--enable-gcm --enable-eap-tls
ale nadal nie zaczyna się od serwera, nie mogę go znaleźć strongswan
ani strongswan-swanctl
do uruchomienia.
Mój obecny ipsec.conf
wygląda tak
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
co „myślę” przekłada się na to
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-eap-identity
do użycia zeap_id = %any