Как установить и настроить OpenVPN в Ubuntu 22.04/20.04

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
Check Ubuntu Server IP Address

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 сервер.

Run OpenVPN Installer Script

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

OpenVPN Installation Summary

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

$ sudo systemctl status openvpn
Check OpenVPN Service

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

$ sudo ss -tupln | grep openvpn
Check OpenVPN Listening Port

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

$ ip add
Check VPN Tunnel Interface

Шаг 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 
Check OpenVPN Status

11. Теперь вам нужно импортировать настройки клиента OpenVPN с сервера OpenVPN. Откройте окно терминала и используйте команду SCP, чтобы получить файл, как показано ниже.

$ cd ~
$ scp [email protected]:/home/tecmint/tecmint.ovpn .
Import OpenVPN Client Settings

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

Add New VPN Setting

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

Import VPN Settings
Select OpenVPN File to Import

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

Создайте подключение и импортируйте файл.

Import VPN Client Settings

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

VPN Settings Added

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

Connect to VPN

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

VPN Connection Successful

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

$ ip add
Check VPN Tunnel Interface

Шаг 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
Download Openvpn Client File

20. Затем запустите службу клиента VPN, активируйте её и проверьте её статус с помощью следующих команд.

$ sudo systemctl start [email protected]
$ sudo systemctl enable [email protected]
$ sudo systemctl status [email protected]
Start OpenVPN Client Service

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

$ ip add
Confirm VPN Tunnel Interface

22. Для настройки других клиентов OpenVPN на операционных системах используйте следующие клиенты:

Шаг 4: Удаление OpenVPN с Ubuntu

23. Если вы хотите добавить нового пользователя VN или отозвать существующего пользователя или удалить сервер OpenVPN с вашей системы, просто запустите скрипт установки снова. Затем выберите, что вы хотите сделать из списка опций и следуйте инструкциям.

$ sudo bash openvpn-install.sh
Remove OpenVPN in Ubuntu

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

Source:
https://www.tecmint.com/install-openvpn-in-ubuntu/