У меня работает OpenVPN AS, и я пытаюсь настроить сертификаты SSL (под управлением ubuntu) из letsencrypt.
Мне удалось получить свои сертификаты от letsencrypt (используя автономный letsencrypt), и я надеялся создать символическую ссылку на сертификаты в конфигурации OpenVPN ssl. Однако когда я заглянул /usr/local/openvpn_as/etc/web-ssl
это отличается от того, что есть в моем /live/domain/cert.pem
и т.д...
Кто-нибудь знает, как я могу получить свой openvpn в качестве экземпляра, обслуживающего сертификаты letsencrypt?
РЕДАКТИРОВАТЬ: ls -l каталогов
openvpnas@openvpnas2:/usr/local/openvpn_as/etc/web-ssl$ ls -l
total 16
-rw-r--r-- 1 root root 1111 Mar 10 13:30 ca.crt
-rw------- 1 root root 1708 Mar 10 13:30 ca.key
-rw-r--r-- 1 root root 1078 Mar 10 13:30 server.crt
-rw------- 1 root root 1704 Mar 10 13:30 server.key
root@openvpnas2:/etc/letsencrypt/live/my.domain# ls -l
total 0
lrwxrwxrwx 1 root root 37 Mar 10 19:03 cert.pem -> ../../archive /my.domain/cert1.pem
lrwxrwxrwx 1 root root 38 Mar 10 19:03 chain.pem -> ../../archive/my.domain/chain1.pem
lrwxrwxrwx 1 root root 42 Mar 10 19:03 fullchain.pem -> ../../archive/my.domain/fullchain1.pem
lrwxrwxrwx 1 root root 40 Mar 10 19:03 privkey.pem -> ../../archive/domain/privkey1.pem
Чтобы использовать сертификаты letsencrypt на openvpnas, вам необходимо иметь следующие символические ссылки:
/usr/local/openvpn_as/etc/web-ssl/ca.crt -> /etc/letsencrypt/live/my.domain/fullchain.pem
/usr/local/openvpn_as/etc/web-ssl/server.crt -> /etc/letsencrypt/live/my.domain/cert.pem
/usr/local/openvpn_as/etc/web-ssl/server.key -> /etc/letsencrypt/live/my.domain/privkey.pem
Пожалуйста, не используйте общедоступный центр сертификации для OpenVPN. Нет необходимости доверять внешнему лицу свой сетевой трафик VPN.
Просто создайте свой собственный CA, например, easy-rsa.
Я только что нашел этот отличный сценарий, который делает его совершенно безболезненным.
Запуск этого скрипта в crontab позволит вам всегда обновляться.
https://gist.github.com/mkubenka/109d853cee9556fa37cbc55958a2c3d5
Пытался использовать ответ Бена Флауэрса (символическая ссылка на файлы PEM в папке конфигурации OpenVPN с сертификатами Let's Encrypt) безуспешно, пока я не увидел это в Документация OpenVPN:
. . . если у вас есть самозаверяющий сертификат или любой сертификат, хранящийся в базе данных конфигурации, то файлы в каталоге web-ssl игнорируются.
Это может произойти, если вы вручную загрузили сертификат из веб-интерфейса. Я удалил загруженные вручную сертификаты, выполнив следующие действия (их можно найти на той же странице документации), и сертификаты Let's Encrypt стали активными.
cd /usr/local/openvpn_as/scripts/
./sacli --key "cs.priv_key" ConfigDel
./sacli --key "cs.ca_bundle" ConfigDel
./sacli --key "cs.cert" ConfigDel
./sacli start