Linux установка openvpn клиента

Установка OpenVPN в Ubuntu

Некоторые пользователи заинтересованы в создании частной виртуальной сети между двумя компьютерами. Обеспечивается поставленная задача с помощью технологии VPN (Virtual Private Network). Реализовывается соединение через открытые или закрытые утилиты и программы. После успешной установки и настройки всех компонентов процедуру можно считать завершенной, а подключение — защищенным. Далее мы бы хотели детально обсудить осуществления рассмотренной технологии через клиент OpenVPN в операционной системе на базе ядра Linux.

Устанавливаем OpenVPN в Linux

Поскольку большинство юзеров используют дистрибутивы, основанные Ubuntu, сегодня инструкции будут базироваться именно на этих версиях. В других же случаях кардинальной разницы в инсталляции и конфигурации OpenVPN вы не заметите, разве что придется соблюдать синтаксис дистрибутива, о чем вы можете прочесть в официальной документации своей системы. Предлагаем ознакомиться со всем процессом пошагово, чтобы детально разобраться в каждом действии.

Обязательно следует учитывать, что функционирование OpenVPN происходит через два узла (компьютер или сервер), а значит это то, что установка и настройка касается всех участников подключения. Наше следующее руководство будет ориентировано как раз на работу с двумя источниками.

Шаг 1: Установка OpenVPN

Конечно, начать следует с добавления всех необходимых библиотек на компьютеры. Приготовьтесь к тому, что для выполнения поставленной задачи использоваться будет исключительно встроенный в ОС «Терминал».

    Откройте меню и запустите консоль. Сделать это можно также путем нажатия комбинации клавиш Ctrl + Alt + T.

Пропишите команду sudo apt install openvpn easy-rsa для установки всех нужных репозиториев. После ввода нажмите на Enter.

Подтвердите добавление новых файлов, выбрав соответствующий вариант.

Переходите к следующему шагу только тогда, когда инсталляция будет произведена на обеих устройствах.

Шаг 2: Создание и настройка удостоверяющего центра

Центр спецификации отвечает за проверку открытых ключей и обеспечивает надежное шифрование. Создается он на том устройстве, к которому потом будут подключаться другие пользователи, поэтому откройте консоль на нужном ПК и выполните следующие действия:

  1. Первоочередно создается папка для хранения всех ключей. Вы можете расположить ее где угодно, но лучше подобрать надежное место. Используйте для этого команду sudo mkdir /etc/openvpn/easy-rsa , где /etc/openvpn/easy-rsa — место для создания директории.

Далее в эту папку требуется поместить скрипты дополнения easy-rsa, а делается это через sudo cp -R /usr/share/easy-rsa /etc/openvpn/ .

В готовой директории создается удостоверяющий центр. Сначала перейдите в эту папку cd /etc/openvpn/easy-rsa/ .

Затем вставьте в поле следующую команду:

sudo -i
# source ./vars
# ./clean-all
# ./build-ca

Пока серверный компьютер можно оставить в покое и переместиться к клиентским устройствам.

Шаг 3: Конфигурация клиентских сертификатов

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

Читайте также:  Could linux replace windows

    Откройте консоль и напишите там команду sudo cp -R /usr/share/easy-rsa /etc/openvpn/ , чтобы скопировать все требуемые скрипты инструмента.

Ранее на серверном ПК был создан отдельный файл с сертификатом. Теперь его нужно скопировать и поместить в папку с остальными компонентами. Проще всего это сделать через команду sudo scp username@host:/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys , где username@host — адрес оборудования, с которого производится скачивание.

Осталось только создать личный секретный ключ, чтобы в дальнейшем через него осуществлялось соединение. Сделайте это, перейдя в папку хранения скриптов cd /etc/openvpn/easy-rsa/ .

Для создания файла используйте команду:

sudo -i
# source ./vars
# build-req Lumpics

Lumpics в этом случае — заданное название файла. Созданный ключ в обязательном порядке должен находиться в одной и той же директории с остальными ключами.

Осталось только отправить готовый ключ доступа на серверное устройство, чтобы подтвердить подлинность своего соединения. Делается это с помощью той же команды, через которую производилось скачивание. Вам нужно ввести scp /etc/openvpn/easy-rsa/keys/Lumpics.csr username@host:

/ , где username@host — имя компьютера для отправки, а Lumpics.csr — название файла с ключом.

На серверном ПК подтвердите ключ через ./sign-req

/Lumpics , где Lumpics — название файла. После этого верните документ обратно через sudo scp username@host:/home/Lumpics.crt /etc/openvpn/easy-rsa/keys .

На этом все предварительные работы завершены, осталось только привести сам OpenVPN в нормальное состояние и можно начинать использовать частное шифрованное соединение с одним или несколькими клиентами.

Шаг 4: Настройка OpenVPN

Следующее руководство будет касаться и клиентской части, и серверной. Мы все разделим по действиям и предупредим об изменениях машин, поэтому вам остается только выполнить приведенную инструкцию.

    Сначала создайте файл конфигурации на серверном ПК с помощью команды zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf . При конфигурации клиентских устройств этот файл также придется создавать отдельно.

Ознакомьтесь со стандартными значениями. Как видите, порт и протокол совпадает со стандартными, однако отсутствуют дополнительные параметры.

Запустите созданный конфигурационный файл через редактор sudo nano /etc/openvpn/server.conf .

Мы не будем вдаваться в подробности изменения всех значений, поскольку в некоторых случаях они индивидуальны, но стандартные строки в файле должны присутствовать, а выглядит подобная картина так:

port 1194
proto udp
comp-lzo
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/ca.crt
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

После завершения всех изменений сохраните настройки и закройте файл.

Работа с серверной частью завершена. Запустите OpenVPN через созданный конфигурационный файл openvpn /etc/openvpn/server.conf .

Теперь приступим к клиентским устройствам. Как уже было сказано, здесь тоже создается файл настроек, но на этот раз он не распаковывается, поэтому команда имеет следующий вид: sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf .

Запустите файл таким же образом, как это было показано выше и внесите туда следующие строки:

client
dev tun
proto udp
remote 194.67.215.125 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/Sergiy.crt
key /etc/openvpn/easy-rsa/keys/Sergiy.key
tls-auth ta.key 1
comp-lzo
verb 3 .

По завершении редактирования запустите OpenVPN: openvpn /etc/openvpn/client.conf .
Пропишите команду ifconfig , чтобы удостовериться в работе системы. Среди всех показанных значений обязательно должен присутствовать интерфейс tun0.

Для перенаправления трафика и открытия доступа к интернету для всех клиентов на серверном ПК вам потребуется поочередно активировать указанные ниже команды.

Читайте также:  Windows 10 во сколько появится

sysctl -w net.ipv4.ip_forward=1
iptables -A INPUT -p udp —dport 1194 -j ACCEPT
iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

В рамках сегодняшней статьи вы были ознакомлены с процедурой инсталляции и настройки OpenVPN на серверной и клиентской части. Советуем обращать внимание на уведомления, показанные в «Терминале» и изучать коды ошибок, если такие появляются. Подобные действия помогут избежать дальнейших проблем с подключением, ведь оперативное решение проблемы предотвращает появление других вытекающих неполадок.

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

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

В данной инструкции подробно описан процесс настройки клиента OpenVPN на примере операционных систем Windows и Linux. Также, с ее помощью можно настроить скиента на Android.

Установка

Windows

Заходим на официальную страницу загрузки openvpn и скачиваем клиента для нужной Windows:

Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».

Linux CentOS

Устанавливаем репозиторий EPEL:

yum install epel-release

yum install openvpn

Linux Ubuntu

apt-get install openvpn

Android

Установка выполняется из Google Play. Набираем в поиске OpenVPN Connect — нажимаем установить и принимаем условия.

Настройка

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

В системах Windows создаем файл config.ovpn в папке %programfiles%\OpenVPN\config.

* имя файла может быть любым, расширение должно быть .ovpn.

Для создания конфигурационного файла в Linux выполняем команду:

* чтобы служба openvpn автоматически выполняла соединение, необходимо, чтобы конфигурационный файл назывался client.conf.

Пример конфигурационного файла

client
dev tun
proto udp
remote 192.168.0.15 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
dh dh2048.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
comp-lzo
verb 0

Параметры конфигурационного файла

Параметр Значения Описание
client Строка говорит о том, что конфигурационный файл описывает клиентское подключение (программа сама устанавливает соединение, а не ждет, как сервер).
dev tap или tun Выбор виртуального сетевого драйвера. TUN — сетевой уровень модели OSI, оперирует IP-пакетами. TAP — эмулирует Ethernet устройство и работает на канальном уровне модели OSI, оперируя кадрами Ethernet. Настраивая OpenVPN клиента, в большинстве случаев, необходимо выбирать tun. TAP необходимо использовать для работы определенных сервисов, например DHCP.
dev-node любая строка Параметр используется в системах Windows в случаях, если имеется несколько сетевых интерфейсов. Значение этого параметра должно содержать название сетевого подключения, через который должен работать OpenVPN.
proto udp или tcp Указывает, какой протокол использовать для передачи данных. В большинстве случаев, лучше использовать UDP, так как данный протокол создает меньше нагрузки на сеть.
remote VPN-сервер и порт Задает сервер, к которому должен подключаться клиент, а также сетевой порт (по умолчанию 1194), на котором OpenVPN принимает запросы. Можно указать несколько строк.
remote-random Если указано несколько строк remote, данный параметр говорит, что необходимо подключаться к удаленным серверам в случайном порядке.
resolv-retry количество секунд или infinite Используется в тех случаях, когда в качестве сервера указано доменное имя. Параметр задает время в секундах для повторного переподключения, если не удалось узнать имя сервера. infinite — держать связь с сервером постоянно.
nobind Клиент использует динамический порт для подключения.
user учетная запись Задает определенного пользователя для работы клиента (только для UNIX-систем).
group группа Задает определенную группу для работы клиента (только для UNIX-систем).
persist-key Не перечитывает ключи при перезагрузке сервиса OpenVPN.
persist-tun Не перечитывает параметры туннеля при перезагрузке сервиса OpenVPN.
http-proxy сервер прокси и порт Использовать прокси-сервер для подключения.
http-proxy-retry Переподключаться к прокси-серверу, если связь была разорвана.
http-proxy-timeout количество секунд Время, через которое выполнять попытки переподключения к прокси-серверу.
mute-replay-warnings Параметр стоит задавать при использовании беспроводного соединения. Он отключит дублирование предупреждений пакетов.
ca пут к сертификату Корневой сертификат удостоверяющего центра. Генерируем на сервере.
cert пут к сертификату Открытый ключ клиента. Генерируем на сервере.
key пут к сертификату Закрытый ключ клиента. Генерируем на сервере.
dh пут к сертификату Ключ с алгоритмом Diffie-Hellman (Диффи-Хеллмана).
remote-cert-tls сервер Исключает возможность mitm атаки, включая верификацию сертификата сервера.
tls-client Указание на то, что это клиент TLS.
tls-auth ta.key 1 Дополнительный уровень аутентификации посредством ключа TLS.
float Удаленный хост может менять IP-адрес в процессе соединения, при этом последнее не будет разорвано.
keepalive секунд1 секунд2 Пинговать каждые секунд1 сервер и если в течение секунд2 не будут получены ответные пакеты, перезапустить подключение.
cipher алгоритм Указывает алгоритм шифрования. Примеры: AES-256-CBC, AES-128-CBC, BF-CBC, DES-EDE3-CBC.
comp-lzo Использовать сжатие.
verb число от 0 до 9 Уровень детализации лога. 0 отключает отладочную информацию.
mute число Указывает сколько лог-сообщений может отображаться для каждой категории события.
auth-user-pass ничего или путь к файлу Говорит клиенту, что необходима аутентификация. Если не указан путь к файлу, клиент выкинет окно для авторизации, иначе прочитает данные из файла.
ipchange команда или путь к скрипту Выполняет команду при смене IP.
connect-retry секунд Переподключиться к серверу через указанное количество секунд, если соединение было разорвано.
connect-retry-max число Сколько раз повторять соединение, если оно было разорвано.
shaper байт Задает максимальную скорость передачи данных для исходящего трафика.
tun-mtu число Задает MTU.
status путь к файлу Путь к фалу хранения статуса.
log путь к файлу Путь к лог-файлу.
askpass путь к файлу Путь к файлу с паролем для приватного ключа (private key password).

Наиболее полный и актуальный список параметров для OpenVPN можно получить командой openvpn —help (в Linux и Windows).

Сертификаты

Клиентские сертификаты генерируются на стороне сервера. Процедура следующая.

Источник

Читайте также:  Windows reboot to uefi
Оцените статью