Создание и экспорт сертификатов — Linux (strongSwan)
Сведения из этой статьи помогут вам создать самозаверяющий корневой сертификат, а также сертификаты клиента с помощью strongSwan. Действия, описанные в этом упражнении, помогут вам создать pem-файлы сертификата. Если вместо этого нужны PFX-файлы и .cer, ознакомьтесь с инструкциями windows-PowerShell.
Для подключений типа "точка — сеть" каждый VPN-клиент должен иметь сертификат клиента, установленный локально для подключения. Кроме того, необходимо передать сведения об открытом ключе корневого сертификата в Azure. Дополнительные сведения см. в статье со сведениями о проверке подлинности сертификата в пределах конфигурации подключения типа "точка — сеть".
Установка strongSwan
Выполните следующие действия, чтобы установить strongSwan.
Следующая конфигурация использовалась при указании команд:
- Компьютер: Ubuntu Server 18.04
- Зависимости: strongSwan
Чтобы установить необходимую конфигурацию strongSwan, используйте следующие команды:
sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0
Инструкции для интерфейса командной строки Linux (strongSwan)
Следующие шаги помогут вам создать и экспортировать сертификаты с помощью интерфейса командной строки Linux (strongSwan). Дополнительные сведения см. в дополнительных инструкциях по установке Azure CLI.
Создайте сертификат ЦС.
ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem
Выведите на экран сертификат ЦС в формате base64. Это формат, поддерживаемый Azure. Этот сертификат нужно загрузить в Azure при выполнении шагов по конфигурации подключения типа "точка — сеть".
openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo
Создайте сертификат пользователя.
export PASSWORD="password"
export USERNAME=$(hostnamectl --static)
ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"
Создайте пакет p12, содержащий сертификат пользователя. Этот пакет понадобится на следующих шагах при работе с файлами конфигурации клиента.
openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"
Следующие шаги
Продолжайте настраивать параметры конфигурации типа "точка — сеть". См. статью "Настройка VPN-клиентов P2S: проверка подлинности сертификатов — Linux".