В этой статье я показываю, как установить клиент 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