Установка и настройка OpenVPN для Ubuntu

Установка и настройка OpenVPN (клиента и сервера) и Easy-RSA 3 в CentOS 7

Что нужно знать в теории?

OpenVPN — это достаточно функциональное, быстрое и гибкое ПО, которое позволяет работать с SSL VPN. Оно обладает открытым исходным кодом. Это значит, что каждый желающий может использовать его возможности по отдельности, а также модифицировать код программы для собственных нужд.

На деле такая технология предлагает использование небезопасных сетей так, как если бы они обладали мощной защитой. Это будет очень актуально, если:

  1. Вы используете для доступа в интернет-соединение со слабой защитой.
  2. В месте вашего пребывания действует цензура на доступ к информации.
  3. Вы находитесь в месте с точками доступа Wi-Fi для общественного пользования.
  4. Вам нужно хорошо скрыть своё местонахождение от других пользователей сети.
  5. Вы хотите ещё лучше защитить свои личные данные и пароли.

СОВЕТ. Сеть VPN называется виртуальной, поскольку все её элементы объединены с помощью программного обеспечения, которое применяет виртуальные соединения. 

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

Что нужно знать в теории?

Базовые понятия

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

Клиент — это программа, которая устанавливается на оборудование, где нужно обеспечить канал обмена данными сервером. Этот канал обладает защитой.

Сервер — компьютер или место, где хранятся учётные записи пользователей виртуальной частной сети. Использование сервера позволяет ускорить работу программ и уменьшить трафик (объём передаваемых данных).

Читайте также:  Docker. Управление образами и контейнерами

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

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

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

  1. Инсталляция ПО и установка маршрута:

emerge openvpn

cd /etc/init.d/

ln -s openvpn

следующий этап — rc-update add default

mkdir /etc/openvpn/vpnet/ + плюс каталог client_keys

Создаём конфиг в папке openvpn

  1. Копируете данные доступа .crt и .key с VDS и переносите их в клиентский раздел ключей;
  2. Производим редактирование :

remote

далее port 5555

cd /etc/openvpn/vpnet

tls-auth, ca, cert, key   — каждому параметру задайте характерный путь к ключам

cipher DES-EDE3-CBC

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

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

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

(Пока оценок нет)

Как сделать автоматический старт OpenVPN соединения при запуске Windows? 

Каждый раз запускать вручную соединение  неудобно. В ярлыке OpenVPNgui  (свойствах объекта) дописываем аргумент —connect , Ярлык помещаем в «автозагрузку». Я настраивал автозапуск быстро с помощью glary utilites

Читайте также:  Изображение в iOS 12.1 beta подтверждает дизайн нового iPad Pro 2018 года

Вот так это выглядит Команда —connect дает соединение, а настройки его берутся из файла  нашего

Как сделать автоматический старт OpenVPN соединения при запуске Windows? 

Если планируется круглосуточная работа  сервера — советую настроить операционную систему на автоматический вход без пароля. Это гарантирует самозапуск соединения после  перезагрузок, которые бывают при отключении света, установки обновлений.

С сервером закончили. Не забываем открыть порт (указанный в конфиге сервера) на роутере, чтобы предоставить доступ к  нашему серверу извне.

Настройка подключения на Linux

Для подключения к OpenVPN-AS из-под Linux необходимо выполнить следующие шаги:

1. Установить OpenVPN-клиент. Наиболее лёгкий способ установки – из стандартных репозиториев операционной системы. Примеры команд:

RedHat/Fedora/CentOS:

yum install openvpn

Ubuntu/Debian:

apt-get install openvpn

Настройка подключения на Linux

Примечание: рекомендуем обратить внимание на версии устанавливаемого клиента, т.к. его версия должна быть не ниже 2.1, иначе подключение к AS будет невозможным. Проверить версию установленного OpenVPN-клиента можно командой:

openvpn —version

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

3. Теперь делаем запуск OpenVPN командой:

service openvpn start

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

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

Установим пакет OpenVPN:

Поднимем права до root:

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

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

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

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

Читайте также:  Вышла iOS 13.1 beta 2 для разработчиков — нововведения

traceroute traceroute to (), 30 hops max, 60 byte packets 1 () ms ms ms 2 () ms ms ms

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

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

traceroute traceroute to (), 30 hops max, 60 byte packets 1 () ms ms ms 2 () ms ms ms 3 () ms () ms () ms 4 () ms ms ms 5 () ms ms ms 6 () ms () ms ms 7 () ms ms ms 8 () ms ms ms

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

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

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

traceroute traceroute to (), 30 hops max, 60 byte packets 1 () ms ms ms 2 () ms ms ms

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

traceroute traceroute to (), 30 hops max, 60 byte packets 1 () ms ms ms 2 () ms ms ms 3 () ms ms ms 4 () ms ms ms 5 () ms ms ms 6 () ms ms ms 7 () ms ms ms 8 () ms ms m

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

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

Источник