UMGUM.COM (лучше) 

Linux OpenVPN CLI-клиент ( Инсталляция и настройка клиента OpenVPN для Linux в командной строке. )

25 марта 2010  (обновлено 15 февраля 2017)

OS: Debian Lenny/Squeeze/Wheezy/Jessie, Ubuntu 14.04 LTS, Fedora 24.
Application: Linux client OpenVPN v.2.3.

Перед установкой OpenVPN необходимо озаботится поддержкой системой псевдо-устройства "tun". Мы будем использовать технологию Layer 3 based IP туннеля для пропускания IP трафика между клиентом и окружением сервера VPN (OpenVPN поддерживает и Layer 2 based Ethernet, но в нашем решении пропускание Ethernet совершенно ни к чему). Для Debian проверить его наличие и поддержку можно следующим образом:

# ls -l /dev/net/tun

Если мы получили примерно следующее, то устройство "tun" поддерживается и можно переходить к следующим шагам:

crw------- 1 root root 10, 200 ... /dev/net/tun

В противном случае будет не лишним создать файл устройства:


# mkdir -p /dev/net
# mknod /dev/net/tun c 10 200
# chmod 600 /dev/net/tun

Для работы с интерфейсом "tun" нам понадобится модуль ядра "tun". Проверяем, загружен ли он:

# lsmod | grep tun

Получаем что-то вроде:

tun ....

И переходим к дальнейшей конфигурации или, если модуль не загружен, создаем условия для его загрузки:

# modprobe tun
# echo tun >> /etc/modules

На самом деле во всех современных дистрибутивах поддержка "/dev/net/tun" осуществляется соответствующими скриптами, и, вместо грубого и прямолинейного создания файла устройства лучше бы поискать пути, предусмотренные создателями дистрибутива.

Инсталлируем OpenSSL, OpenVPN и библиотеку сжатия трафика LZO:

# aptitude install openvpn openssl liblzo2-2

Создаем директорию для хранения журнальных файлов и файлов статистики:

# mkdir -p /var/log/openvpn
# chown -R openvpn /var/log/openvpn
# chgrp -R openvpn /var/log/openvpn

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

Переходим к конфигурированию клиента OpenVPN.
Используем шаблон конфигурационного файла OpenVPN от разработчиков:

# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.name.ovpn

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

# cat /etc/openvpn/client.name.ovpn

client   # включаем режим работы в качестве клиента VPN
nobind   # ничего не прослушиваем, работаем только в качестве клиента
dev          tun   # включаем Layer 3 based IP туннель
proto        tcp   # используемый транспортный протокол
remote       vpn.local 443   # IP или доменное имя сервера VPN и прослушиваемый сервером порт
ca           /etc/openvpn/ca.crt
cert         /etc/openvpn/сlient.name.crt
key          /etc/openvpn/сlient.name.key
; tls-auth     /etc/openvpn/ta.key 1
comp-lzo   # включаем сжатие трафика между сервером и клиентом
cipher       AES-256-CBC   # включаем шифрование повышенного уровня относительно стандартного
verb         3
status       /var/log/openvpn/openvpn-status.log
log-append   /var/log/openvpn/openvpn.log

Запускаем клиента OpenVPN из коммандной строки:

# /usr/sbin/openvpn --config /etc/openvpn/client.name.ovpn


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )