Openvpn — настройка клиента на windows и ubuntu

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

Защитить особо ценные данные от кражи и потери помогают виртуальные частные сети (VPN, ВПН) – системы закрытых каналов (туннелей), которые строятся внутри другой, более крупной сети.

Одним из видов ВПН является OpenVPN.

openvpn - настройка клиента на windows и ubuntu

Хотите научиться создавать виртуальные частные сети быстро и легко? Поговорим о преимуществах протокола OpenVPN, а также о настройках серверной и клиентской части принадлежащего ему ПО под Windows и Ubuntu.

Область применения и преимущества OpenVPN

Область применения

  • Создание защищенных корпоративных сетей. Расстояние между узлами таких сетей не имеет значения.
  • Защита информации в открытых общественных сетях.
  • Подключение к Интернету нескольких хостов через общий шлюз.
  • Доступ к запрещенным веб-ресурсам.

Преимущества

  • Всё бесплатно. Большинство из нас не откажется от бесплатного Wi-Fi в кафе или в парке, но трафик, передаваемый по такому соединению, никак не защищен от перехвата. Бесплатное ПО OpenVPN направит его в закрытый туннель, поэтому ваши логины, пароли и другая секретная информация точно не утечет в чужие руки.
  • Чтобы сделать свою сеть защищенной, не нужно покупать дополнительное оборудование.
  • Весь передаваемый трафик сжимается, что обеспечивает высокую скорость связи (выше, чем при использовании IPSec).
  • Гибкие настройки ПО позволяют сконфигурировать VPN любой сложности.
  • Использование нескольких надежных алгоритмов шифрования обеспечивает очень высокую степень защиты данных.
  • Не требуется перенастройки или отключения файерволов (сетевых экранов) и NAT (технологии преобразования ИП-адресов в сетях TCP/IP).
  • Протокол поддерживают все основные операционные системы.
  • Для установки и настройки программного обеспечения не нужны глубокие знания сетевых технологий, и даже у неспециалиста это занимает считанные минуты.

Настройка OpenVPN под Windows

Установка и настройка серверной части

Поскольку большинство из нас пользуется ОС Windows, знакомство с OpenVPN-технологией начнем с нее. Итак, скачайте с официального сайта подходящий дистрибутив и запустите инсталляцию.

В списке «Select components to install» (выберите компоненты для установки) отметьте всё.

openvpn - настройка клиента на windows и ubuntu

  • Согласитесь на установку драйвера виртуального сетевого адаптера TAP Windows Adapter V9.

openvpn - настройка клиента на windows и ubuntu

Установили? Теперь займемся созданием ключей и сертификатов VPN.

  • Заходим в каталог %ProgramFiles%/OpenVPN/easy-rsa и запускаем пакетный файл init-config.bat – он скопирует в эту же папку файл vars.bat.sample в виде vars.bat. В дальнейшем пакет команд vars.bat будет задавать переменные для генерации сертификатов.

openvpn - настройка клиента на windows и ubuntu

  • После создания vars.bat открываем его с помощью блокнота и прописываем в выделенных строчках (после «=») любые данные. Сохраняем изменения.

openvpn - настройка клиента на windows и ubuntu

  • Далее запускаем от администратора командную строку и выполняем инструкцию перехода в /easy-rsa (cd %ProgramFiles%/OpenVPN/easy-rsa). После этого последовательно запускаем vars.bat и clean-all.bat (загружаем переменные и удаляем ранее созданные ключи).

openvpn - настройка клиента на windows и ubuntu

  • Выполняем пакет команд build-ca.bat – этим мы создадим новый основной сертификат в каталоге %ProgramFiles%/OpenVPN/easy-rsa/keys. Заполнять данные об имени организации и прочее, что обведено на скриншоте рамкой, не обязательно – достаточно просто нажимать Enter.

openvpn - настройка клиента на windows и ubuntu

  • Запускаем build-dh.bat – этим мы создаем ключ Диффи-Хельмана. В папке /keys появится файл dh1024.pem.

openvpn - настройка клиента на windows и ubuntu

  • На очереди – ключ сервера: выполняем инструкцию build-key-server myVPN («myVPN» – это имя сервера, можете указать любое другое). Блок вопросов, начинающийся с «Country Name», пропускаем, нажимая Enter. На два последних вопроса – «Sign the certificate?» и следующий, отвечаем «Y».

openvpn - настройка клиента на windows и ubuntu

  • Дальше нам нужно получить ключ клиента: выполняем build-key user1 (user1 – имя клиента, можете заменить на другое). Если клиентских компьютеров несколько, повторяем операцию для каждого, не забыв изменить имя. Обведенный рамкой блок, как и раньше, пропускаем.

openvpn - настройка клиента на windows и ubuntu

  • Далее копируем из папки /easy-rsa/keys в /OpenVPN/config следующие файлы: dh1024.pem, ca.crt myvpn.crt, myvpn.key, user1.key, user1.crt. Последние четыре могут называться у вас по-другому. Почему, думаю, понятно.
  • Следом в этой же папке создаем файл конфигурации сервера. Копируем приведенные ниже директивы в блокнот и, если нужно, меняем их параметры на свои. Сохраняем документ с расширением .ovpn и именем «Server».

# Интерфейс (L3-туннель)dev tun# Протокол работы VPNproto udp# Используемый порт (можно указать любой свободный)port 1234# Список сертификатов и ключей (обратите внимание на имена)ca ca.crtcert myvpn.crtkey myvpn.keydh dh1024.pem# Тип шифрования данныхcipher AES-256-CBC# Выделяем диапазон ИП-адресовserver 10.

10.10.0 255.255.255.

0# Уровень отладочной информацииverb 3# Используем сжатиеcomp-lzopersist-keypersist-tunmssfix# Задаем максимальное число повторяющихся событийmute 25# Количество одновременно подключенных клиентов (5)max-clients 5# Время жизни клиентской сессииkeepalive 10 120# Видимость клиентами друг друга (разрешена)client-to-client# Выделяем каждому юзеру 1 адресtopology subnet# Устанавливаем задержку перед добавлением маршрутаroute-delay#Указываем, если хотим раздавать Интернет. Адреса DNS пишем те, которые прописаны в настройках интернет-подключения.push «redirect-gateway def1»push «dhcp-option DNS x.x.x.x»

push «dhcp-option DNS x.x.x.x»

(function(w, d, n, s, t) { w[n] = w[n] || []; w[n].push(function() { Ya.Direct.

insertInto(154953, »yandex_ad_4», { ad_format: »direct», type: »posterHorizontal», limit: 3, title_font_size: 3, links_underline: true, site_bg_color: »FFFFFF», title_color: »0000CC», url_color: »006600», text_color: »000000», hover_color: »0066FF», sitelinks_color: »0000CC», favicon: true, no_sitelinks: false }); }); t = d.getElementsByTagName(»script»)[0]; s = d.createElement(»script»); s.src = »//an.yandex.ru/system/context.js»; s.type = »text/javascript»; s.async = true; t.parentNode.insertBefore(s, t); })(window, document, »yandex_context_callbacks»);

  1. Дополнительно о директивах серверного конфига читайте здесь.
  2. Далее для раздачи интернета заходим в каталог сетевых подключений, открываем свойства интерфейса, смотрящего в глобальную сеть, переходим на вкладку «Доступ», ставим метку напротив «Разрешить другим пользователям использовать это подключение…» и выбираем из списка сеть виртуального адаптера TAP-Windows adapter V9 – в моем примете это Ethernet 3.
  • Создаем файл конфигурации клиента. Копируем следующий текст в блокнот и сохраняем документ с расширением .ovpn под именем «Client».

clientdev tunproto udp# IP или доменное имя VPN-сервера и порт подключения.remote x.x.x.x 1234ca ca.crtcert user1.crtkey user1.keycipher AES-256-CBCcomp-lzopersist-keypersist-tun

  • verb 3
  • Другие директивы клиентского конфига смотрите здесь.

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

Устанавливаем приложение на клиентский компьютер. Далее заходим на серверный, открываем каталог %ProgramFiles%/OpenVPN/config и копируем оттуда файлы ca.crt, Client.ovpn, user1.crt, user1.key в сетевую папку или на флешку. Переносим их в аналогичную папку клиентской машины.

Подключение

Чтобы запустить сервер, кликните по ярлыку «OpenVPN GUI» на рабочем столе. В трее появится иконка серого цвета. Щелкните по ней правой кнопкой мышки, выберите в меню команды «Server» и «Подключиться».

При удачном подключении иконка сменит цвет на зеленый. При неудачном – кликните в меню «Посмотреть журнал»: в нем будет указана ошибка.

Подключение клиента выполняется таким же способом, только вместо «Server» выбираем в меню «Client».

Настройка OpenVPN под Ubuntu

Начинаем с того, что, как и на Windows, устанавливаем пакет OpenVPN на серверную и клиентские машины. Директива установки консольной версии ПО через терминал следующая: sudo apt-get install openvpn. При желании можете установить графические версии пакетов из центра приложений Ubuntu.

Однако важнейший компонент – модуль easy-rsa, предназначенный для генерации сертификатов и ключей, в Linux-дистрибутив не входит. Его придется установить отдельно, выполнив команду: sudo apt-get install easy-rsa.

Настройка серверной части

  • После инсталляции программы и дополнительного модуля создаем каталог «easy-rsa» в папке /etc/openvpn: sudo mkdir /etc/openvpn/easy-rsa. Копируем в него содержимое из места установки: cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa.
  • Следом переходим в новый каталог: cd /etc/openvpn/easy-rsa/ и приступаем к созданию сертификатов и ключей.
  • Открываем с помощью консольного редактора nano файл переменных vars (аналог vars.bat в Windows) и импортируем в него те же данные, что и в vars.bat, с измененными значениями:
  1. KEY_COUNTRY=RUKEY_PROVINCE=CAKEY_CITY=SanFranciscoKEY_ORG=OpenVPNKEY_EMAIL=mail@host.domainKEY_CN=changemeKEY_NAME=changemeKEY_OU=changemePKCS11_MODULE_PATH=changeme
  2. PKCS11_PIN=1234
  • Копируем криптографический пакет openssl: cp openssl-1.0.0.cnf openssl.cnf.
  • Загружаем переменные из vars: source ./vars.
  • Удаляем ранее созданные данные: ./clean-all.
  • Создаем новый основной сертификат: ./build-ca. Блок вопросов в рамке пропускаем.
  • Следом – ключ Диффи-Хельмана: ./build-dh.
  • За ним – сертификат сервера: ./build-key-server myVPN (myVPN, как вы помните, – это имя, у вас оно может быть другим). Выделенный блок пропускаем (на скриншоте он сокращен), на 2 последних вопроса отвечаем «Y».
  • Последним создаем сертификат клиента: ./build-key user1 (вместо «user1» можете придумать другое имя). При этом снова пропускаем выделенный на скрине блок и на два последних вопроса отвечаем «Y».
Читайте также:  Обзор airpods pro – стандарт качества беспроводных наушников

Все созданные ключи и сертификаты сохраняются в подкаталоге /etc/openvpn/easy-rsa/keys. Перемещаем их в папку /openvpn: cp -r /etc/openvpn/easy-rsa/keys /etc/openvpn.

На завершающем этапе создаем файл конфигурации сервера в папке /etc/openvpn: nano /etc/openvpn/server.conf и заполняем его так же, как заполняли аналогичный документ на Windows. Единственное отличие – другие пути:

ca /etc/openvpn/keys/ca.crtdh /etc/openvpn/keys/dh2048.pemcert /etc/openvpn/keys/myvpn.crt

  • key /etc/openvpn/keys/myvpn.key
  1. Наконец, создаем каталог для конфигурации клиентских машин: mkdir /etc/openvpn/ccd, и запускаем сервер: service openvpn start.

Если сервер не стартует, вероятно, в конфигурации допущена ошибка. Сведения о проблеме можно посмотреть в документе /var/log/openvpn.log с помощью команды tail -f /var/log/openvpn.log.

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

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

Ключ и сертификаты – ca.crt, user1.crt и user1.key, находятся в папке /etc/openvpn/keys. Копируем их на флешку и вставляем в одноименную папку на компьютере клиента.

Файл конфигурации создаем с помощью nano: nano /etc/openvpn/client.conf, и заполняем по образцу Windows. Не забудьте прописать в нем правильные пути:

ca /etc/openvpn/keys/ca.crtdh /etc/openvpn/keys/dh2048.pemcert /etc/openvpn/keys/user1.crt

key /etc/openvpn/keys/user1.key

Всё готово. Для подключения к серверу используем ту же команду: service openvpn start.

***

Инструкция получилась длинной, но на самом деле выполнение этих действий занимает 5-10 минут. Более подробная информация о работе с OpenVPN находится в разделе «Документация» официального сайта приложения. Пробуйте, и всё у вас получится!

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

В прошлых статьях мы настраивали сервер OpenVPN. Если вы успешно справились с этой задачей или просто заказали уже настроенный сервер, перед вами строит задача — настроить клиентские устройства.

Настроить их гораздо проще, чем сервер. В качестве примера я настрою клиенты на Ubuntu, Windows и Android.

Клиент Ubuntu мы в прошлый раз уже настраивали, но сегодня я покажу, как выполнить ту же задачу, используя преимущественно графический интефейс.

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

В самом начале нам все же придется воспользоваться терминалом, чтобы доустановить нужные пакеты. Выполните следующую команду:

sudo apt install network-manager-openvpn network-manager-openvpn-gnome

Будет установлен плагин для менеджера соединений Ubuntu, предназначенный специально для VPN и графическая оболочка для этого плагина. Если ранее вы не устанавливали пакет openvpn, он будет добавлен в список автоматически.

После этого щелкните на значок сети и выберите пункт Изменить соединения, затем — Добавить. Из списка выберите OpenVPN и нажмите кнопку Создать.

openvpn - настройка клиента на windows и ubuntu

Если вы настраивали сервер не по инструкции из предыдущих статей и у вас есть файл с расширением .ovpn, выберите Импортировать сохраненные параметры VPN. Настраивать придется еще меньше.

В открывшемся окне переходим на вкладку VPN и указываем путь к сертификатам и ключам. Если у вас их нет, в прошлой статье я рассказывал, как их загрузить с сервера, а еще раньше — как сгенерировать.

О том, как добыть файлы с сервера с помощью программы с графическим интерфейсом читайте ниже, в разделе о настройке клиента под Windows. Эта программа доступна и в Ubuntu, более того, она есть в репозитории. Для ее установки просто выполните:

sudo apt install filezilla

В поле шлюз введите IP (либо доменное имя вашего сервера), номер порта и используемый протокол, разделяя их двоеточием. Если вы следовали предыдущим частям инструкции, последние два параметра — 1194 и udp. Строка должна выглядеть примерно так:

openvpn - настройка клиента на windows и ubuntu

Далее нажмите Дополнительно и отметьте чекбокс Использовать для данных сжатие LZO. В этом же окне перейдите на вкладку Безопасность и выберите из списка шифр AES-256-CBC. На вкладке аутентификация TLS отметьте чекбокс Использовать дополнительную аутентификацию ТLS, укажите путь к ключу с именем ta.key, который мы также скачивали с сервера и установите направление ключа 1.

Теперь осталось лишь сохранить созданное нами подключение, еще раз нажать на значок сети и в подменю Соединения VPN выбрать созданное нами подключение. Если все сделано правильно, через пару секунд вы увидите, что благополучно подключились.

openvpn - настройка клиента на windows и ubuntu

Если что-то не так — смотрите логи. О том, как их найти, написано во второй половине предыдущей статьи о VPN.

При необходимости можно включить автоподключение. Для этого из того же выпадающего меню выберите Изменить подключения, далее — свое основное соединение (не VPN!) и нажмите Изменить. Теперь на вкладке Общие выберите чекбокс Автоматически подключаться к VPN… Готово!

openvpn - настройка клиента на windows и ubuntu

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

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

  • openvpn - настройка клиента на windows и ubuntu
  • Если раньше вы не скачали необходимые ключи и сертификаты с сервера, это можно сделать и из-под Windows.
  • Один из самых простых способов – воспользоваться бесплатной программой FileZilla.

В окне программы выберите меню Файл→Менеджер Сайтов→Новый сайт. В поле Хост, расположенном в правой части окна, введите IP-адрес сервера. Немного ниже выберите протокол SFTP. Еще ниже укажите Тип входа: Нормальный, а затем введите имя и пароль своего пользователя на сервере. Теперь, нажав соединиться, вы увидите слева список локальных каталогов, а справа — список каталогов на сервере.

Скопируйте в С:Program FilesOpenVPNconfig файлы ca.crt, ta.key, а также клиентский сертификат и ключ, имена которым вы давали самостоятельно на этапе генерации.

Не используйте один клиентский ключ и один сертификат больше, чем на одном устройстве!

openvpn - настройка клиента на windows и ubuntu

Затем найдите в меню Пуск папку OpenVPN→Shortcuts→OpenVPN Sample Configuration Files.

В открывшемся файловом менеджере найдите файл client.ovpn. Это тот же client.conf, который мы правили в Ubuntu, только под другим именем. Скопируйте его в С:Program FilesOpenVPNconfig и переименуйте в client.ovpn.

Откройте его с помощью блокнота и найдите параметр remote.

Вместо my-server-1 вставьте IP-адрес вашего сервера.

Измените значение параметров ca, cert и key так, чтобы они указывали на расположение корневого сертификата (ca.crt), клиентского сертификата и ключа соответственно.

Чуть ниже таким же образом укажите полный путь к ta.key.

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

ca «C:\Program Files\OpenVPN\config\ca.crt»
tls-auth «C:\Program Files\OpenVPN\config\ta.key» 1

Далее раскомментируйте строки:

tls-auth ta.key 1
comp-lzo

и сохраните файл.

Теперь обратите внимание на висящую в трее программу OpenVPN GUI. Если вдруг ее там не окажется, запустите ее через Пуск. Щелчком правой кнопки мыши вызовите контекстное меню программы и нажмите подключиться.

  1. Если вы все сделали правильно, через пару секунд появится уведомление о подключении.
  2. openvpn - настройка клиента на windows и ubuntu
  3. Если что-то не так, читайте лог в папке C:Program FilesOpenVPNlog.

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

Для начала скачайте официальное приложение OpenVPN Connect. Android работает с VPN и без приложения, но я продемонстрирую именно этот способ.

Нам потребуется файл .ovpn, который мы уже создавали для Windows. Подойдет и client.config от Ubuntu, только не забудьте его переименовать. Откройте этот файл блокнотом и уберите пути из имен ключей и сертификатов, оставив лишь названия файлов.

Не забудьте изменить названия клиентского сертификата и ключа на правильные — те, которые вы сгенерировали для смартфона или планшета. После этого сохраните файл и загрузите на устройство в специально созданную папку. Туда же скопируйте ta.key, ca.crt, а также ключ и сертификат клиента, названия которых вы только что указывали.

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

На смартфоне запустите приложение OpenVPN. Из меню выберите Import→Import Profile from SD card. Затем укажите только что скопированный файл с расширением .ovpn и подтвердите согласие на перехват трафика.

Читайте также:  Как скачать видео с Рутуба? Подробная

openvpn - настройка клиента на windows и ubuntu

openvpn - настройка клиента на windows и ubuntu

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

Настройка OpenVPN в Ubuntu 20.04

Частная виртуальная сеть или Virtual Private Network (VPN)  — это сеть между компьютерами или серверами в сети, в которой шифруются все передаваемые данные и к которой могут подключится только клиенты, имеющие специальные ключи.

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

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

В последнее время различные сервисы VPN набирают популярность.

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

Существует много проприетарых VPN сервисов, но их использовать не обязательно, поскольку есть свободный и бесплатный OpenVPN. В этой статье мы рассмотрим как выполняется установка OpenVPN в Ubuntu 20.04.

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

1. Установка пакетов

На обоих машинах должен быть установлен OpenVPN, это довольно популярная программа, поэтому вы можете установить ее из официальных репозиториев. Также нам понадобится Easy-RSA для работы с секретными ключами. Для установки программ в Ubuntu используйте такую команду:

sudo apt install openvpn easy-rsa

openvpn - настройка клиента на windows и ubuntu

Оба пакеты должны быть установлены как на сервере, так и на клиенте. Они понадобятся для настройки программы. Первый этап статьи установка и настройка openvpn завершен.

2. Настройка центра сертификации

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

 Обратите внимание, что все секретные ключи должны находится в надежном месте. В OpenVPN открытый ключ называется сертификатом и имеет расширение .crt, а закрытый ключ так и называется ключом, его расширение — .key.

Обслуживать всё это мы будем с помощью набора скриптов Easy-RSA.

  • Для того чтобы после обновления системы все ваши сертификаты и настройки не были стёрты, надо скопировать набор скриптов из каталога /usr/share/easy-rsa куда-нибудь, например, в /etc/openvpn/:
  • sudo mkdir /etc/openvpn/easy-rsa
  • Затем скопируем в эту папку все необходимые скрипты easy-rsa:
  • sudo cp -R /usr/share/easy-rsa /etc/openvpn/
  • openvpn - настройка клиента на windows и ubuntu
  • Далее нам нужно создать центр сертификации в этой папке. Для этого сначала перейдите в неё:
  • cd /etc/openvpn/easy-rsa/
  • Эта команда создаст папку pki и и необходимые файлы для генерации сертификатов. Алгоритм шифрования можно настраивать, но с параметрами по умолчанию тоже всё будет работать:
  • sudo ./easyrsa init-pki
  • Следующая команда создаёт ключ центра сертификации, для него понадобится придумать пароль:
  • sudo ./easyrsa build-ca
  • openvpn - настройка клиента на windows и ubuntu
  • Далее надо создать ключи Диффи-Хафмана, которые используются при обмене ключами между клиентом и сервером. Для этого выполните:
  • sudo ./easyrsa gen-dh
  • openvpn - настройка клиента на windows и ubuntu

Команда создаст файл /etc/openvpn/easy-rsa/pki/dh.pem. Если вы хотите использовать TLS авторизацию, то вам ещё понадобится ключ Hash-based Message Authentication Code (HMAC). Он используется для предотвращения DoS атаки при использовании протокола UDP. Для его создания выполните:

  1. sudo openvpn —genkey —secret /etc/easy-rsa/pki/ta.key
  2. Для отзыва уже подписанных сертификатов нам понадобится сертификат отзыва. Для его создания выполните команду:
  3. sudo ./easyrsa gen-crl

Будет создан файл ./pki/crl.pem.

3. Создание сертификатов сервера

  • Для создания сертификатов, которые будут использоваться сервером надо выполнить команду:
  • sudo ./easyrsa build-server-full server nopass
  • Здесь server — это имя нашего сервера, а опция nopass отключает использование пароля. Теперь все полученные ключи надо скопировать в папку /etc/openvpn:

cp ./pki/ca.crt /etc/openvpn/ca.crt
cp ./pki/dh.pem /etc/openvpn/dh.pem
cp ./pki/crl.pem /etc/openvpn/crl.pem
cp ./pki/ta.key /etc/openvpn/ta.key
cp ./pki/issued/server.crt /etc/openvpn/server.crt
cp .

/pki/private/server.key /etc/openvpn/server.key

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

4. Конфигурационный файл сервера

По умолчанию, конфигурационных файлов OpenVPN нет. Их нужно создать самостоятельно в зависимости от того, что планируется настраивать, сервер или клиент. Нужный файл конфигурации OpenVPN можно найти по адресу /usr/share/doc/openvpn/examples/sample-config-files/. Давайте создадим конфигурационный файл для сервера:

zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

  1. Здесь вам нужно настроить несколько параметров. Самые важные — port и proto — порт и протокол, по которым будет работать программа;
  2. port 1194
    proto udp
  3. Все созданные ключи нужно прописать в конфигурационном файле. Наши ключи хранятся по адресу /etc/openvpn, в самой папке с конфигурационным файлом, поэтому можно не прописывать к ним полный путь:

ca ca.crt
cert server.crt
key server.key
dh dh.pem

tls-auth ta.key 0

Настраиваем диапазон адресов для виртуальной сети, наш сервер будет доступен по первому из них — 10.8.0.1:

server 10.8.0.0 255.255.255.0

  • Следующая директива позволяет раздавать одним и тем же клиентам одни и те же IP адреса:
  • ifconfig-pool-persist /var/log/openvpn/ipp.txt
  • После завершения настройки сохраните изменения в файле, вы можете либо вставить всю эту конфигурацию себе или отредактировать файл с примером. Если убрать все комментарии получится такой конфигурационный файл:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push «redirect-gateway def1 bypass-dhcp»
push «dhcp-option DNS 8.8.8.8»
push «dhcp-option DNS 8.8.8.8»
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
verb 3

explicit-exit-notify 1

Настройка сервера OpenVPN завершена. Дальше необходимо запустить OpenVPN сервер. Это можно сделать прямо из командной строки, просто укажите адрес конфигурационного файла:

sudo openvpn /etc/openvpn/server.conf

openvpn - настройка клиента на windows и ubuntu

Если вы увидели сообщение Initialization Sequence Completed значит всё хорошо и можно двигаться дальше. Если возникли ошибки, исправьте их, скорее всего вы сделали что-то не то в конфигурационном файле. После этого остановите запущенный сервер и запустите его снова уже с помощью systemd:

sudo systemctl start openvpn@server

5. Настройка форвардинга пакетов

Для того чтобы OpenVPN сервер мог предоставить клиентам доступ к внешней сети сервера надо включить параметр ip_forwarding. Для этого откройте файл для этого выполните такую команду:

sysctl -w net.ipv4.ip_forward=1

6. Настройка брандмауэра

Теперь надо разрешить прохождение пакетов в брандмауэре. Давайте будем использовать iptables. Но сначала надо посмотреть сетевой интерфейс, который используется для доступа к внешней сети. Это можно сделать с помощью команды:

  1. ip -br a
  2. openvpn - настройка клиента на windows и ubuntu
  3. В данном случае — это ens3. Поэтому правила iptables будут выглядеть вот так:
  4. sudo iptables -I FORWARD -i tun0 -o ens3 -j ACCEPT
    sudo iptables -I FORWARD -i ens3 -o tun0 -j ACCEPT
    sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
  5. Настройка OpenVPN Ubuntu на сервере завершена, теперь осталось подготовить всё необходимое для подключения клиентов.

7. Создание сертификатов для клиента

  • Чтобы не скидывать ключи на сервер, а потом обратно, лучше создавать ключи на сервере. Для этого в той же директории /etc/openvpn/easy-rsa/ выполните такую команду:
  • sudo ./easyrsa build-client-full losst nopass
  • openvpn - настройка клиента на windows и ubuntu
  • Вместо losst используйте нужное вам имя пользователя, а опция nopass аналогично генерации ключей для сервера отключает использование пароля.

8. Конфигурационный файл клиента

  1. Давайте создадим папку /etc/openvpn/clients, куда будем складывать все ключи и конфигурационные файлы клиентов:
  2. sudo mkdir /etc/openvpn/clients
  3. sudo mkdir /etc/openvpn/clients/losst
  4. Затем перейдите в папку клиента:
  5. cd /etc/openvpn/clients/losst

Затем туда надо скопировать ca.crt, ta.key и ключи клиента losst.crt и losst.key:

cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/clients/losst/
cp /etc/openvpn/easy-rsa/pki/ta.key /etc/openvpn/clients/losst/
cp /etc/openvpn/easy-rsa/pki/issued/losst.crt /etc/openvpn/clients/losst/
cp /etc/openvpn/easy-rsa/pki/private/losst.key /etc/openvpn/clients/losst/

Теперь давайте создадим конфигурационный файл клиента, его тоже можно скопировать из директории с примерами:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ./losst.conf

  • Перед тем, как редактировать конфигурационный файл надо узнать публичный IP вашего сервера. Для этого можно воспользоваться командой:
  • ip -br a
  • openvpn - настройка клиента на windows и ubuntu
  • Теперь можно открыть скопированный конфигурационный файл:

sudo vi ./losst.conf

Здесь обязательно надо заменить в этой строке my-server-1 на IP адрес сервера, который вы узнали ранее. Например:

remote 185.117.155.209 1194

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

client
dev tun
proto udp
remote 185.117.155.209 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert losst.crt
key losst.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC

Читайте также:  Какой марки холодильник лучше выбрать?

verb 3

Обратите внимание, что конфигурационные файлы должны максимально совпадать, отсутствие определенных опций в одном из файлов может привести к ошибкам. Это не значит, что файлы будут идентичны, но основные параметры openvpn должны быть одинаковыми. Например, если вы включили опцию comp-lzo для сервера, то она должна быть включена и для клиента.

Далее осталось всё это упаковать в архив и отправить клиенту. Но можно поступить по другому. Ключи для опций ca, cert, key и tls-auth можно упаковать в сам файл конфигурации. Например, для опции cert используется такой синтаксис:

  1. ——BEGIN CERTIFICATE——
    текст_сертификата
    ——END CERTIFICATE——

Текст ключа надо взять из файла losst.crt между BEGIN CERTIFICATE и END CERTIFICATE. Например:

  • openvpn - настройка клиента на windows и ubuntu
  • Для ca.crt всё будет выглядеть аналогично:
  • Для приватного ключа losst.key надо использовать немного другой синтаксис:
  • И для tls-auth тоже:
  • После этого директивы, указывающие на файлы можно удалить, и передать клиенту только один этот файл.

9. Проверка подключения

  1. Вы можете скачать конфигурационный файл клиента с сервера, например, с помощью scp:
  2. scp root@ip_сервера:/etc/openvpn/clients/losst/losst.

    conf /etc/openvpn/

  3. Вам осталось запустить OpenVPN на этой машине используя этот конфигурационный файл:
  4. openvpn /etc/openvpn/losst.conf

Готово, теперь все работает, если вы выполните ifconfig, то увидите что был добавлен интерфейс tun0.

Также вы можете попробовать выполнить ping адреса 10.8.0.1, именно этот адрес мы настроили для нашего сервера OpenVPN, пакеты ping будут нормально отправляться.

ping 10.8.0.1

Если пакеты не идут, или еще что-то не работает, обратите внимание на вывод обоих программ, возможно, возникли какие-либо ошибки или предупреждения, также убедитесь, что брандмауэр сервера разрешает доступ извне по udp для порта 1194.

Еще можно запустить сервер или клиент, настроив в конфигурационном файле уровень подробности на максимум verb 9. Очень часто это помогает понять почему что-то не работает. Но вы еще не можете направлять трафик через туннель.

Выводы

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

OpenVPN — настройка клиента на Windows и Ubuntu

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

openvpn - настройка клиента на windows и ubuntu

Распространенная схема подключения с каким-либо узлом представляет из себя такую последовательность:

  • Ваш ПК (клиент);
  • Непосредственно VDS или VPS;
  • Конечная сеть, к которой вы обращались.

openvpn - настройка клиента на windows и ubuntu

Таким образом можно даже заметить увеличение скорости работы интернет соединения, не всегда, но всё же (зависит от локации дата центра и качества его обслуживания). Тем не менее мы здесь не за этим, самое важное – это конфиденциальность, которая требует некоторой жертвы, а именно некоторое время для того, чтобы настройка OpenVPN WindowsUbuntu приобрела должное значение.

Для чего же применяется данный ход? – В первую очередь для защиты своих конфиденциальных данных, таких как месторасположения, IP и подобных. Также для доступа к проектам, которые недоступны в ваших широтах, к примеру: сервисы для просмотра фильмов, блокирующие возможность скачивания или доступа с некоторых стран, до недавних пор таким являлся Netflix.

[tip] Как зайти на заблокированный сайт? [/tip]

Другой подход – это построение защищенное сети предприятия, особенно удобно, когда офисы разбросаны по миру. Таким образом вы создаёте единое общество с полным функционалом взаимодействия. Создание VPN сеть не затратное дело и его может реализовать для себя весьма небольшая фирма.

openvpn - настройка клиента на windows и ubuntu

OpenVPN параметры для VDS/VPS

В первую очередь разберёмся с серверной частью программы, которые, практически всегда, располагаются на Ubuntu. В общем большинство хостингов использует Linux и его разновидности для повышения скорости работы. Вам придется приобрести выделенный сервер (VDS), что весьма недорого, где и будет находится ваш туннель OpenVPN.

openvpn - настройка клиента на windows и ubuntu

Настойчивых рекомендаций давать нет смысла, подбирается индивидуально в зависимости от ваших требований по расположению, методу оплаты, качеству обслуживания и цене. К примеру вы можете присмотреться к сервису AdminVPS.ru или Mgnhost.ru, но их большое множество и нужно всё время мониторить обстановку, не поленитесь, скорости и характеристик VDS/VPS зависит немало.

Итак, настройка OpenVPN Ubuntu производится в несколько поочерёдных шагов, а именно:

  1. Инициализируйте ядро, используя параметры, где необходимо задать:
  • CONFIG_NF_NAT/CONFIG_NF_NAT_PPTP/CONFIG_TUN=m
  • CONFIG_NETFILTER=y
  • после этого перезагрузитесь;
  1. Перейдём к инициализации установки:

emerge —sync

emerge openvpn bind bind-tools iptables – обычно занимает какое-то время, возможно даже долго;

  1. Следуйте в раздел /etc/init.d/ и внесите код в консоль
  1. ln -s openvpn openvpn.vpnet
  2. далее rc-update add openvpn.vpnet default
  3. rc-update add named default
  4. добавляем rc-update iptables default
  5. ./iptables save
  1. Теперь добавляем named, iptables и openvpn в автозапуск;
  2. Приступаем к процессу образования некоторых каталогов и их наполнение:
  • mkdir /etc/openvpn/vpnet/ + файл ключей/keys
  • touch /openvpn/vpnet.conf
  • создайте пустой лог в характерном реестре openvpn.log

[tip] Создание загрузочной флешки Ubuntu  [/tip]

  1. Следуем внутрь раздела /usr/share/openvpn/easy-rsa/, где вы найдёте элемент vars, после этого запускаем;
  2. Задайте соответствующие переменные в конфигурации сервера:
  1. export EASY_RSA=»/usr/share/openvpn/easy-rsa/»
  2. export KEY_CONFIG=»$EASY_RSA/openssl.cnf»
  3. прописываем export KEY_DIR=»/etc/openvpn/vpnet/keys»
  4. export KEY_SIZE=1024
  5. export KEY_EMAIL=»example@gmail.com»
  1. Теперь следует создать ключи:
  • ./clean-all
  • openvpn —genkey —secret ta.key
  • ./build-dh
  • ./pkitool запустите команду с флагами, поочерёдно —initca/—server vpsrv/vpclient
  1. Перенесите остатки информации в необходимое хранилище

mv ./ta.key /openvpn/vpnet/keys

  1. Теперь остались конечные настройки находящиеся в файле vpnet.conf:
  1. proto tcp-server
  2. port 5555
  3. tls-auth vpnet/keys/ta.key 0
  4. ca, cert, key, dh   — каждый параметр с новой строки и указываем ваш путь к соответствующим конфигам

ifconfig 10.10.0.1 255.255.255.0

следующий параметр — ifconfig-pool 10.10.0.2 10.10.0.128

  • cipher DES-EDE3-CBC
  • log-append – путь к файлу-логу
  • openvpn - настройка клиента на windows и ubuntu
  1. Производим запуск iptables:

/etc/init.d/iptables save, затем снова только с параметром start

  1. Перейдём к установке параметров IP адресов:

echo «sysctl net.ipv4.ip_forward = 1» >> /etc/sysctl.conf

[tip] Как сменить IP адрес на компьютере?  [/tip]

  1. Теперь нужно настроить firewall

iptables -v -t nat -A POSTROUTING -o EXTERNAL_IF -s VPN_NET/24 -j SNAT —to-source SERVER_IP

  1. Снова вводим команду сохранения из 11-го пункта.

Теперь OpenVPN server настройка закончена, для применения его ещё необходимо выполнить один шаг – интеграция опций в клиент.

openvpn - настройка клиента на windows и ubuntu

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

Большая часть выполнена, теперь возьмёмся за синхронизацию клиента и его доступа. Не стоит заострять своё внимание на том, что пример выполнен на Ubuntu, так настройка OpenVPN Windows 7 идентична дальнейшим действиям, выполняйте по аналогии. Последующее действие необходимо для синхронизации туннелей IP-адресов VPN сервиса.

openvpn - настройка клиента на windows и ubuntu

  1. Инсталляция ПО и установка маршрута:
  1. emerge openvpn
  2. cd /etc/init.d/
  3. ln -s openvpn openvpn.vpnet-client
  4. следующий этап — rc-update add openvpn.vpnet-client default
  5. mkdir /etc/openvpn/vpnet/ + плюс каталог client_keys
  6. Создаём конфиг vpnet-client.conf в папке openvpn
  1. Копируете данные доступа .crt и .key с VDS и переносите их в клиентский раздел ключей;
  2. Производим редактирование vpnet-client.conf:

remote 212.212.212.212

  • далее port 5555
  • cd /etc/openvpn/vpnet
  • tls-auth, ca, cert, key   — каждому параметру задайте характерный путь к ключам
  • cipher DES-EDE3-CBC

Также добавьте журнал openvpn.log в оригинальный одноименный каталог.

[note] При необходимости сменить страну потока VPN, вам придется воспользоваться ещё одним дополнительным выделенным сервером и направлять трафик через оба VDS или каждый по отдельности. [/note]

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

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

Если у Вас остались вопросы по теме «Настройка OpenVPN на Windows и Ubuntu», то можете задать их в х

Ссылка на основную публикацию
Adblock
detector