OpenVPN — это бесплатная программа с открытым исходным кодом, которая быстро и популярна для создания VPN (виртуальной частной сети). Она использует как TCP, так и UDP протоколы передачи данных, а туннели VPN защищены протоколом OpenVPN с SSL/TLS аутентификацией, сертификатами, учетными данными и, при необходимости, блокировкой MAC-адреса, а также многофакторной аутентификацией.
OpenVPN может использоваться на широком спектре устройств и систем. Как и большинство VPN протоколов, имеет клиент-серверную архитектуру. Сервер OpenVPN запускается на системе Linux, а клиенты могут быть установлены на другие системы Linux, Windows и macOS, а также на мобильные операционные системы, такие как Android, Windows Mobile и iOS.
Сервер OpenVPN принимает входящие соединения VPN, и клиенты OpenVPN Connect или любые клиенты с открытым исходным кодом, совместимые с OpenVPN, могут инициировать соединение с сервером.
В этой статье вы узнаете, как настроить сервер OpenVPN на Ubuntu 22.04/Ubuntu 20.04 и подключить клиентов VPN с других систем Linux.
Необходимые условия:
Содержание
Шаг 1: Настройка сервера OpenVPN на Ubuntu
1. Установка и настройка OpenVPN сервера вручную – непростая задача из моего опыта. Вот почему мы будем использовать скрипт, который позволяет настроить свой собственный защищенный OpenVPN сервер за считанные секунды.
Перед загрузкой и запуском скрипта, обратите внимание, что скрипт автоматически определит частный IP-адрес вашего сервера, но вам нужно обратить внимание на публичный IP-адрес вашего сервера, особенно если он работает за NAT.
Чтобы узнать публичный IP-адрес вашего сервера, запустите следующую команду wget или команду dig.
$ wget -qO - icanhazip.com OR $ dig +short myip.opendns.com @resolver1.opendns.com

2. Теперь загрузите установщик скрипта с помощью инструмента командной строки curl, а затем сделайте его исполняемым с помощью команды chmod, как показано ниже.
$ curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh $ chmod +x openvpn-install.sh
3. Далее запустите исполняемый установщик скрипта, как показано.
$ sudo bash openvpn-install.sh
При первом запуске скрипт задаст вам несколько вопросов, внимательно прочитайте их и дайте ответы в соответствии с вашими предпочтениями, чтобы настроить ваш OpenVPN сервер.

4. После завершения процесса установки VPN, файл конфигурации клиента будет записан в текущую рабочую директорию. Этот файл вы будете использовать для настройки вашего OpenVPN клиента, как описано в следующем разделе.

5. Далее подтвердите, что служба OpenVPN работает, проверив ее состояние с помощью следующей команды systemctl.
$ sudo systemctl status openvpn

6. Также убедитесь, что демон OpenVPN слушает порт, который вы указали в скрипте, используя команду ss, как показано ниже.
$ sudo ss -tupln | grep openvpn

7. Если вы проверите свои сетевые интерфейсы, будет создан новый интерфейс для VPN-туннеля, вы можете подтвердить это, используя команду IP.
$ ip add

Шаг 2: Настройка клиентов OpenVPN в Ubuntu
8. Теперь настало время настроить клиент OpenVPN и подключить его к серверу VPN. Сначала установите пакет OpenVPN на клиентской машине следующим образом.
$ sudo yum install openvpn #RHEL-based Systems $ sudo apt install openvpn #Debian-based Systems $ sudo dnf install openvpn #Fedora Linux
9. На рабочей системе также необходимо установить пакет network-manager-openvpn, чтобы можно было выполнять настройку VPN через графический интерфейс.
$ sudo yum install network-manager-openvpn #RHEL-based Systems $ sudo apt install network-manager-openvpn #Debian-based Systems $ sudo dnf install network-manager-openvpn #Fedora Linux
10. После установки вышеуказанных пакетов запустите службу OpenVPN, чтобы она автоматически запускалась при загрузке системы, и проверьте её состояние, чтобы подтвердить, что она работает.
$ sudo systemctl start openvpn $ sudo systemctl enable openvpn $ sudo systemctl status openvpn

11. Теперь вам нужно импортировать настройки клиента OpenVPN с сервера OpenVPN. Откройте окно терминала и используйте команду SCP, чтобы получить файл, как показано ниже.
$ cd ~ $ scp [email protected]:/home/tecmint/tecmint.ovpn .

12. Откройте системные Настройки, затем перейдите в раздел Сети. В разделе VPN нажмите кнопку добавления, чтобы получить необходимые параметры.

13. Во всплывающем окне выберите «Импорт из файла», как показано на следующем снимке экрана. Затем откройте файловый менеджер и выберите конфигурационный файл клиента .ovpn
, который вы загрузили с сервера.


14. На других Linux-системах с рабочим столом щелкните по значку сети на панели системы, перейдите в Сетевые подключения. Затем нажмите кнопку плюс, чтобы добавить новое подключение. В выпадающем меню выберите «Импортировать сохранённую конфигурацию VPN…», как показано на следующем снимке экрана.
Создайте подключение и импортируйте файл.

15. После импорта файла настройки VPN должны быть добавлены, как показано на следующем снимке экрана. Затем нажмите Добавить.

16. Ваши настройки клиента VPN должны быть успешно добавлены. Вы можете подключиться к серверу OpenVPN, включив VPN, как показано на следующем снимке экрана.

17. Теперь подключение к VPN должно быть успешно установлено, как показано на следующем снимке экрана.

18. Если вы проверите соединения вашего сетевого интерфейса, используя команду IP add, теперь должен существовать интерфейс VPN-туннеля, как показано на следующем снимке экрана.
$ ip add

Шаг 3: Настройка клиента OpenVPN в Linux
19. Для подключения другого сервера Linux в качестве клиента VPN убедитесь, что вы установили пакет OpenVPN и запустили, а также активировали службу OpenVPN, как описано выше.
Затем загрузите файл клиента .ovpn
и скопируйте его в каталог /etc/openvpn/, как показано.
$ scp [email protected]:/home/tecmint/tecmint.ovpn . $ ls $ sudo cp tecmint.ovpn /etc/openvpn/client.conf

20. Затем запустите службу клиента VPN, активируйте её и проверьте её статус с помощью следующих команд.
$ sudo systemctl start [email protected] $ sudo systemctl enable [email protected] $ sudo systemctl status [email protected]

21. Затем подтвердите, что был создан интерфейс VPN-туннеля с помощью команды IP add, как показано.
$ ip add

22. Для настройки других клиентов OpenVPN на операционных системах используйте следующие клиенты:
- Windows: Официальный клиент OpenVPN сообщества для Windows.
- Android: Клиент OpenVPN для Android.
- iOS: Официальный клиент OpenVPN Connect для iOS.
Шаг 4: Удаление OpenVPN с Ubuntu
23. Если вы хотите добавить нового пользователя VN или отозвать существующего пользователя или удалить сервер OpenVPN с вашей системы, просто запустите скрипт установки снова. Затем выберите, что вы хотите сделать из списка опций и следуйте инструкциям.
$ sudo bash openvpn-install.sh

Это завершает наше руководство. Чтобы поделиться своими мыслями с нами или задать вопросы, используйте форму обратной связи ниже. Для получения дополнительной информации перейдите на репозиторий Github скрипта установки openvpn.