Меню Рубрики

Установка openvpn клиент linux

Установка openvpn клиент linux

В данной статье будет подробно описана установка и настройка консольного клиента OpenVPN OpenVPN в Ubuntu.

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

Установка и настройка клиента OpenVPN.

Для настройки клиента OpenVPN на Ubuntu (в примере использовалась Ubuntu 16.04) нам понадобится тот же пакет, что и для установки сервера.

Соответственно, все команды мы будем выполнять на клиенте (например, на домашнем ПК).

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

Сначала измените значение параметра remote на IP вашего сервера. Если вы по каким-либо причинам изменили номер порта, впишите соответствующее значение вместо стандартного 1194.

Раскомментируйте следующие строки так же, как делали это на сервере:

Далее найдите блок, начинающийся с # SSL/TLS params. Внизу этого блока укажите пути к файлам ключей и сертификатов таким образом:

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

В следующем блоке замените:

Если в файле конфигурации сервера вы указали другой тип шифрования, то и здесь нужно ввести его же.

Скачаем с сервера файлы ключей и сертификатов и разместим их в той директории, которую мы указали выше.

Потребуется ввести пароль пользователя вашего сервера. Возможно, потребуется подтвердить согласие на подключение — для этого введите «yes». Далее тем же способом получим еще два файла:

Перезапустите сервис openvpn:

Для единоразового подключения используйте команду:

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

Воспользуйтесь любым сервисом проверки ip-адреса, чтобы узнать, все ли работает как нужно. Если с работающей и остановленной службой openvpn ваши IP различаются, значит, вы настроили все верно.

В случае проблем первым делом проверьте логи:

Если информации о проблеме в выводе команды нет, попробуйте увеличить значение параметра verb в самом конце файла /etc/openvpn/client.conf, чтобы сделать логи более подробными. Максимальное значение — 11. После этого снова перезапустите сервис openvpn и проверьте логи еще раз.

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

Если соединение слишком медленное, попробуйте добавить в файлы конфигурации клиента и сервера (в моей серии статей это etc/openvpn/client.conf и etc/openvpn/server.conf соответственно) строки:

Не забудьте добавить эти же строки в файлы конфигурации остальных клиентов, если они есть. И сервер, и клиенты нужно будет перезапустить.

Можно также попробовать отключить сжатие трафика, после чего сравнить результаты и оставить лучший вариант. Для этого и в /etc/openvpn/server.conf, и в /etc/openvpn/client.conf нужно закомментировать (поставить «;» в начале строки) параметр comp-lzo.

Обратите внимание: состояние этой и многих других директив на сервере и клиентах должно быть одинаковым!

В начале цикла статей об OpenVPN я уже упоминал, что защита, которую дает это ПО, хороша, но не абсолютна. Один из способов повысить ее эффективность — скрыть сам факт использования 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: Конфигурация клиентских сертификатов

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

    Откройте консоль и напишите там команду 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/ .

Читайте также:  Установка карбюратора дааз 21083 на классику

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

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.

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

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 на серверной и клиентской части. Советуем обращать внимание на уведомления, показанные в «Терминале» и изучать коды ошибок, если такие появляются. Подобные действия помогут избежать дальнейших проблем с подключением, ведь оперативное решение проблемы предотвращает появление других вытекающих неполадок.

Читайте также:  Установка вебасто в павлодаре

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

источник

Ubuntu → Настраиваем OpenVPN клиент Linux на примере Ubuntu

Здравствуйте.
Как и обещал, в выкладываю статью по настройке OpenVPN клиента Linux, мы с вами уже настроили OpenVPN сервер, и нам осталось настроить подключение к нему, иначе для чего он нам нужен, если к нему никто не подключается… С данным мануалом настройка будет весьма проста, эта схема была успешно оттестирована в условиях IT компании и работает по сей день.

Теперь нам необходимо создать конфигурационный файл клиента.

Нам остаётся скачать c OpenVPN сервера, где живет наш удостоверяющий центр, 4 файла:

И положить их в директорию /etc/openvpn рядом с файлом client.conf

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

traceroute 172.16.1.20
traceroute to 172.16.1.20 (172.16.1.20), 30 hops max, 60 byte packets
1 172.16.10.1 (172.16.10.1) 4.066 ms 8.001 ms 7.974 ms
2 172.16.1.20 (172.16.1.20) 7.952 ms 7.931 ms 7.910 ms

Видно что пакет ушел на адрес 172.16.10.1 и с интерфеса eth1 в локальную сеть к целевому IP

Выполним трассировку к google.ru, получаем ответ вида:

traceroute google.ru
traceroute to google.ru (173.194.32.159), 30 hops max, 60 byte packets
1 111.111.111.111 (111.111.111.111) 1.360 ms 1.252 ms 1.177 ms
2 46.61.227.225 (46.61.227.225) 1.865 ms 1.271 ms 1.707 ms
3 95.167.90.39 (95.167.90.39) 18.209 ms 95.167.90.37 (95.167.90.37) 18.170 ms 95.167.90.39 (95.167.90.39) 18.496 ms
4 74.125.146.86 (74.125.146.86) 17.827 ms 17.984 ms 17.946 ms
5 216.239.42.97 (216.239.42.97) 17.771 ms 18.058 ms 18.319 ms
6 216.239.42.83 (216.239.42.83) 17.765 ms 216.239.42.49 (216.239.42.49) 19.130 ms 19.004 ms
7 72.14.236.242 (72.14.236.242) 19.287 ms 18.554 ms 18.802 ms
8 173.194.32.159 (173.194.32.159) 18.025 ms 18.269 ms 18.224 ms

Видно что ответ вылетел черз шлюз сети к которой подключен клиент, а не через наш VPN канал

Для обычного пользователя все работает как надо, чтобы проверить под пользователем supersuer нам необходимо положить ключи в директорию openvpn и поменять запись в client.conf указывающих на названия ключа и сертификата

перезапустить OpenVPN клиента и повторить трасисровку пакетов

traceroute 172.16.1.20
traceroute to 172.16.1.20 (172.16.1.20), 30 hops max, 60 byte packets
1 172.16.10.1 (172.16.10.1) 4.066 ms 8.001 ms 7.974 ms
2 172.16.1.20 (172.16.1.20) 7.952 ms 7.931 ms 7.910 ms

В локальную сеть пакеты ходят без изменений, тут ничего не поменялось

traceroute google.ru
traceroute to google.ru (173.194.122.248), 30 hops max, 60 byte packets
1 172.16.10.1 (172.16.10.1) 6.115 ms 11.448 ms 11.500 ms
2 222.222.222.222 (222.222.222.222) 11.614 ms 11.649 ms 11.676 ms
3 10.158.192.1 (10.158.192.1) 11.691 ms 11.705 ms 11.719 ms
4 v811.m9-3.caravan.ru (212.24.42.49) 11.729 ms 11.744 ms 11.751 ms
5 msk-ix-gw1.google.com (195.208.208.232) 11.736 ms 15.341 ms 15.350 ms
6 66.249.94.100 (66.249.94.100) 15.346 ms 5.884 ms 8.451 ms
7 72.14.252.22 (72.14.252.22) 49.777 ms 49.787 ms 49.796 ms
8 173.194.122.248 (173.194.122.248) 49.510 ms 49.620 ms 49.671 m

А тут видно что пакет попал на наш OpenVPN сервер и вылетел во внешний мир через интерфейс eth0
Значит и эта маршрутизация работает правильно

На этом я свой опус пожалуй и закончу, если нашли ошибку пишите в личку, возникли вопросы оставляйте их в комментариях.

источник

Добавить комментарий