Настройка VPN-клиентов типа "точка — сеть": проверка подлинности сертификатов — Linux
В этой статье показано, как подключиться к виртуальной сети Azure с помощью VPN-шлюз типа "точка — сеть" (P2S) и проверки подлинности сертификатов из клиента Linux. В этой статье существует несколько наборов шагов в зависимости от типа туннеля, выбранного для конфигурации P2S, операционной системы и VPN-клиента, используемого для подключения.
Подготовка к работе
Перед началом убедитесь, что вы работаете с нужной статьей. В следующей таблице приведены статьи о конфигурации, доступные для VPN-клиентов P2S VPN-шлюза Azure. Шаги различаются в зависимости от типа проверки подлинности, типа туннеля и клиентской ОС.
Проверка подлинности | Тип туннеля | Создание файлов конфигурации | Настройка VPN-клиента |
---|---|---|---|
Сертификат Azure | IKEv2, SSTP | Windows | Собственный VPN-клиент |
Сертификат Azure | OpenVPN | Windows | - Клиент OpenVPN - VPN-клиент Azure |
Сертификат Azure | IKEv2, OpenVPN | macOS-iOS | macOS-iOS |
Сертификат Azure | IKEv2, OpenVPN | Linux | Linux |
Microsoft Entra ID | OpenVPN (SSL) | Windows | Windows |
Microsoft Entra ID | OpenVPN (SSL) | macOS | macOS |
RADIUS — сертификат | - | Статья | Статья |
RADIUS — пароль | - | Статья | Статья |
RADIUS — другие методы | - | Статья | Статья |
Внимание
Начиная с 1 июля 2018 года прекращается поддержка TLS 1.0 и TLS 1.1 в VPN-шлюзе Azure. VPN-шлюз будет поддерживать только TLS 1.2. Затрагиваются только подключения "точка — сеть", но не подключения "сеть — сеть". Если вы используете TLS для VPN-подключений "точка — сеть" на клиентах с Windows 10 или более поздней версии, никаких действий не требуется. Если вы используете TLS для подключений "точка — сеть" клиентов с Windows 7 и Windows 8, обратитесь к разделу VPN-шлюз: вопросы и ответы за инструкциями по обновлению.
Создание сертификатов
Для проверки подлинности сертификата сертификат должен быть установлен на каждом клиентском компьютере. Сертификат клиента, который вы хотите использовать, должен экспортироваться с закрытым ключом и содержать все сертификаты в пути сертификации. Кроме того, для некоторых конфигураций также потребуется установить сведения о корневом сертификате.
Сведения о работе с сертификатами см . на сайте": создание сертификатов.
Создание файлов конфигурации VPN-клиента
Все необходимые параметры конфигурации для VPN-клиентов содержатся в ZIP-файле конфигурации профиля VPN-клиента. Файлы конфигурации профиля VPN-клиента, которые вы создаете, относятся к конфигурации VPN-шлюза P2S для виртуальной сети. Если после создания файлов есть какие-либо изменения в конфигурации VPN P2S, например изменения типа VPN-протокола или типа проверки подлинности, необходимо создать новые файлы конфигурации профиля VPN-клиента и применить новую конфигурацию ко всем VPN-клиентам, которые требуется подключить. Дополнительные сведения о подключениях P2S см. в статье Сведения о VPN-подключениях типа "точка — сеть".
Чтобы создать файлы конфигурации с помощью портал Azure:
В портал Azure перейдите к шлюзу виртуальной сети для виртуальной сети, к которой требуется подключиться.
На странице шлюза виртуальной сети выберите элемент Конфигурация "точка — сеть", чтобы открыть страницу этой конфигурации.
В верхней части страницы конфигурации "Точка — сеть" выберите "Скачать VPN-клиент". При этом не скачивается клиентское программное обеспечение для VPN, а создается пакет конфигурации для настройки VPN-клиентов. Пакет конфигурации клиента создается несколько минут. В течение этого времени может не отображаться никаких признаков, пока пакет не будет создан.
После создания пакета конфигурации браузер указывает, что zip-файл конфигурации клиента доступен. Он получает такое же имя, как у вашего шлюза.
Распакуйте файл. После этого отобразятся папки. Вы будете использовать некоторые или все эти файлы для настройки VPN-клиента. Созданные файлы соответствуют параметрам типа проверки подлинности и туннеля, настроенным на сервере P2S.
Затем настройте VPN-клиент. Выберите из следующих инструкций:
- Шаги типа туннеля IKEv2 для strongSwan
- Шаги типа туннеля OpenVPN для клиента OpenVPN
IKEv2 — шаги 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
Установка сертификатов
Сертификат клиента требуется при использовании аутентификации Azure на основе сертификата. Сертификат клиента должен быть установлен на каждом клиентском компьютере. Экспортируемый сертификат клиента должен быть экспортирован с закрытым ключом и должен содержать все сертификаты в пути сертификации. Прежде чем перейти к следующему разделу, убедитесь, что на клиентском компьютере установлен соответствующий сертификат клиента.
Сведения о сертификатах клиента см. в разделе Создание сертификатов — Linux.
Просмотр файлов профиля VPN-клиента
Перейдите к скачанным файлам конфигурации профиля VPN-клиента. В папке Generic можно найти все необходимые для конфигурации сведения. Azure не предоставляет файл mobileconfig для этой конфигурации.
Если вы не видите папку Generic, проверьте следующие элементы, а затем создайте ZIP-файл еще раз.
- Проверьте тип туннеля для вашей конфигурации. Скорее всего, вы не выбрали IKEv2 в качестве типа туннеля.
- В VPN-шлюзе убедитесь в том, что номер SKU отличается от базового. VPN-шлюз со SKU "Базовый" не поддерживает IKEv2. Затем выберите IKEv2 и создайте ZIP-файл еще раз для получения папки Generic.
Эта папка содержит следующие файлы:
- Файл VpnSettings.xml — содержит такие важные параметры, как адрес сервера и тип туннеля.
- Файл VpnServerRoot.cer содержит корневой сертификат, который требуется для проверки VPN-шлюза Azure при настройке подключения типа "точка — сеть".
После просмотра файлов перейдите к шагам, которые вы хотите выполнить:
Шаги графического графического интерфейса strongSwan
В этом разделе описана конфигурация с помощью графического интерфейса strongSwan. Приведенные ниже инструкции были созданы в Ubuntu 18.0.4. Ubuntu 16.0.10 не поддерживает графический пользовательский интерфейс strongSwan. Использовать Ubuntu 16.0.10 можно только с помощью командной строки. В зависимости от версии Linux и strongSwan указанные ниже примеры могут отличаться от экранов, которые вы видите.
Откройте приложение Terminal, чтобы установить strongSwan и его Network Manager, выполнив команду из примера.
sudo apt install network-manager-strongswan
Выберите Settings (Параметры), а затем — Network (Сеть). Нажмите кнопку +, чтобы создать подключение.
В меню выберите IPSec/IKEv2 (strongSwan) и дважды щелкните.
На странице Add VPN (Добавление VPN) добавьте имя VPN-подключения.
Откройте файл VpnSettings.xml из папки Generic в загруженных файлах конфигурации профиля VPN-клиента. Найдите тег VpnServer и скопируйте имя, начиная с azuregateway и заканчивая .cloudapp.net.
Вставьте это имя в поле Address (Адрес) нового VPN-подключения в разделе Gateway (Шлюз). Затем щелкните значок папки в конце поля Certificate (Сертификат), перейдите в папку Generic и выберите файл VpnServerRoot.
В разделе Client (Клиент) подключения для параметра Authentication (Аутентификация) выберите Certificate/private key (Сертификат/закрытый ключ). Для параметров Certificate (Сертификат ) и Private key (Закрытый ключ) выберите созданные ранее сертификат и закрытый ключ. В разделе Options (Параметры) выберите Request an inner IP address (Запросить внутренний IP-адрес). а затем щелкните Добавить.
Включите подключение.
Шаги интерфейса командной строки strongSwan
В этом разделе описана конфигурация с помощью интерфейса командной строки strongSwan.
Из файлов конфигурации профиля VPN-клиента Generic копируйте или переместите файл VpnServerRoot.cer в папку /etc/ipsec.d/cacerts.
Скопируйте или переместите файлы, созданные в /etc/ipsec.d/certs и /etc/ipsec.d/private/ соответственно. Эти файлы являются сертификатом клиента и закрытым ключом, они должны находиться в соответствующих каталогах. Используйте следующие команды:
sudo cp ${USERNAME}Cert.pem /etc/ipsec.d/certs/ sudo cp ${USERNAME}Key.pem /etc/ipsec.d/private/ sudo chmod -R go-rwx /etc/ipsec.d/private /etc/ipsec.d/certs
Выполните следующую команду, чтобы заметить имя узла. Это значение потребуется вам на следующем шаге.
hostnamectl --static
Откройте файл VpnSettings.xml и скопируйте значение
<VpnServer>
. Это значение потребуется вам на следующем шаге.Измените значения в приведенном ниже примере, а затем добавьте этот код в файл конфигурации /etc/ipsec.conf.
conn azure keyexchange=ikev2 type=tunnel leftfirewall=yes left=%any # Replace ${USERNAME}Cert.pem with the key filename inside /etc/ipsec.d/certs directory. leftcert=${USERNAME}Cert.pem leftauth=pubkey leftid=%client # use the hostname of your machine with % character prepended. Example: %client right= #Azure VPN gateway address. Example: azuregateway-xxx-xxx.vpn.azure.com rightid=% #Azure VPN gateway FQDN with % character prepended. Example: %azuregateway-xxx-xxx.vpn.azure.com rightsubnet=0.0.0.0/0 leftsourceip=%config auto=add esp=aes256gcm16
Добавьте значения секрета в /etc/ipsec.secret.
Имя PEM-файла должно соответствовать тому, что использовалось ранее в качестве файла ключа клиента.
: RSA ${USERNAME}Key.pem # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory.
Наконец, выполните следующие команды:
sudo ipsec restart sudo ipsec up azure
Шаги OpenVPN
В этом разделе показано, как настроить клиентов Linux для проверки подлинности на основе сертификата, использующего тип туннеля OpenVPN. Чтобы подключиться к Azure, скачайте клиент OpenVPN и настройте профиль подключения.
Примечание.
Клиент OpenVPN версии 2.6 еще не поддерживается.
Запустите новый сеанс терминала. Новый сеанс можно начать, нажав CTRL+ALT+Т.
Для установки необходимых компонентов введите следующую команду.
sudo apt-get install openvpn sudo apt-get -y install network-manager-openvpn sudo service network-manager restart
Затем перейдите в папку профиля VPN-клиента и распакуйте его, чтобы просмотреть файлы.
Экспортируйте сертификат клиента P2S, который вы создали и отправили в конфигурацию P2S на шлюзе. Инструкции см. в разделе VPN-шлюз "точка — сеть".
Извлеките закрытый ключ и отпечаток base64 из PFX-файла. Существует несколько способов это сделать. Это можно сделать с помощью OpenSSL на компьютере.
openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
Файл profileinfo.txt содержит закрытый ключ, отпечаток для ЦС и сертификат клиента. Не забудьте использовать отпечаток сертификата клиента.
Откройте файл profileinfo.txt в текстовом редакторе. Чтобы получить отпечаток сертификата клиента (дочерний), выделите текст между "-----BEGIN CERTIFICATE-----" и "-----END CERTIFICATE-----", включая эти строки, для дочернего сертификата и скопируйте его. Дочерний сертификат можно определить, просмотрев строку subject=/.
Откройте файл vpnconfig.ovpn и найдите раздел, показанный ниже. Замените весь код между маркерами "cert" и "/cert".
# P2S client certificate # please fill this field with a PEM formatted cert <cert> $CLIENTCERTIFICATE </cert>
Откройте файл profileinfo.txt в текстовом редакторе. Чтобы получить закрытый ключ, выделите текст между "-----BEGIN PRIVATE KEY-----" и "-----END PRIVATE KEY-----" (включая эти строки) и скопируйте его.
Откройте файл vpnconfig.ovpn в текстовом редакторе и найдите этот раздел. Вставьте закрытый ключ, заменив все между key и /key.
# P2S client root certificate private key # please fill this field with a PEM formatted key <key> $PRIVATEKEY </key>
Не изменяйте остальные поля. Для подключения к VPN используйте заполненную конфигурацию на входе клиента.
Чтобы подключиться с помощью командной строки, введите следующую команду:
sudo openvpn --config <name and path of your VPN profile file>&
Чтобы отключиться с помощью командной строки, введите следующую команду:
sudo pkill openvpn
Чтобы подключиться с помощью графического пользовательского интерфейса, перейдите в параметры системы.
Выберите + , чтобы добавить новое VPN-подключение.
В разделе Добавить VPN выберите Импорт из файла...
Просмотрите файл профиля и дважды щелкните или выберите Открыть.
Выберите "Добавить" в окне "Добавить VPN".
Вы можете подключиться, выбрав для VPN Вкл. на странице Параметры сети или под значком сети на панели задач.
Следующие шаги
Чтобы узнать о дополнительных шагах, вернитесь к исходной статье о конфигурации "точка — сеть", с которой вы работали.