OpenVPN: Клиент — Установка & Настройка — Linux

В этой статье я показываю, как установить клиент OpenVPN в RPM/DEB-based Linux дистрибутивах и настроить его на подключение к OpenVPN-серверу.

В частности, я покажу пример конфигурационного файла OpenVPN-клиента, который я использую для подключения к OpenVPN-серверу с аутентификацией по сертификатами и логину/паролю, как создать systemd-сервис для OpenVPN-клиента и как настроить его автозагрузку.

Установка Клиента OpenVPN

Используйте одну из приведенных ниже команд, в зависимости от вашего дистрибутива Linux, для установки OpenVPN.

Fedora/CentOS/RedHat:

$ sudo yum install openvpn

Ubuntu/Debian/Raspbian:

$ sudo apt install openvpn

Настройка Клиента OpenVPN

Создайте конфигурационный файл OpenVPN-клиента и сохраните его в директории /etc/openvpn/client/.

Примеры Конфигов OpenVPN: В зависимости от вашего дистрибутива Linux, если вы установили OpenVPN из RPM или DEB пакета, то папку с примерами конфигов (sample-config-files) можно найти в /usr/share/doc/packages/openvpn (Fedora/CentOS/RedHat) или /usr/share/doc/openvpn (Ubuntu/Debian/Raspbian).

Пример конфига OpenVPN-клиента:

$ cat /etc/openvpn/client/connect-sample.conf
client
tls-client
ca /etc/openvpn/keys/connect-sample-ca.crt
cert /etc/openvpn/keys/connect-sample.crt
key /etc/openvpn/keys/connect-sample.key
auth-user-pass /etc/openvpn/keys/connect-sample-creds.conf
dev tun
proto tcp-client
remote <openvpn-server-fqdn> <port>
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
auth SHA1
verb 4
redirect-gateway autolocal # Redirect all the traffic into the tunnel

В вышеприведенном примере мой OpenVPN-клиент настроен на подключение к OpenVPN-серверу с аутентификаций по сертификатам и username/password.

Создайте папку для сертификатов и файла с учетными данными:

$ sudo mkdir /etc/openvpn/keys

Сохраните username/password в /etc/openvpn/keys/connect-sample-creds.conf:

$ cat /etc/openvpn/keys/connect-sample-creds.conf
<username>
<password>

Поместите сертификаты в папку /etc/openvpn/keys/ и установите более строгие права:

$ sudo chmod 0600 /etc/openvpn/keys/*
$ sudo ls -al /etc/openvpn/keys/
total 16
-rw------- 1 pi pi 1224 Apr 18 20:49 connect-sample-ca.crt
-rw------- 1 pi pi   24 Apr 18 21:55 connect-sample-creds.conf
-rw------- 1 pi pi 1237 Apr 18 20:49 connect-sample.crt
-rw------- 1 pi pi 1704 Apr 18 20:50 connect-sample.key

Запустите сервис OpenVPN-клиента:

$ sudo systemctl start openvpn-client@connect-sample

Для настройки автоматического запуска OpenVPN-клиента, выполните:

$ sudo systemctl enable openvpn-client@connect-sample

Устранение Неполадок при Подключении

Узнать публичный IP-адрес:

$ curl ifconfig.co

Проверить статус сервиса OpenVPN-клиента:

$ systemctl status openvpn-client@connect-sample

Проверить логи:

$ journalctl -u openvpn-client@connect-sample