Openvpn ��� linux ubuntu

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

Сегодня в этой статье мы обсудим установку и настройку собственного OpenVPN сервера на Linux-дистрибутив Ubuntu 20.04.

Что такое и для чего вам нужен VPN?

Виртуальная Частная Сеть (Virtual Private Network) — сеть, в которой участвуют 2 и более устройства, между которыми происходит зашифрованный обмен данными. Авторизация клиента происходит по секретному слову (паролю), или же по специальному сертификату.

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

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

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

Подключаемся и устанавливаем OpenVPN

В данной статье мы рассмотрим объединение в сеть нескольких устройств и доступ к файлам на центральном устройстве (сервере)

Для начала нам необходим ПК или выделенный сервер в облаке с установленной на него Ubuntu 20.04 ( руководство по установке вы можете найти в интернете )

В качестве сервера я буду использовать вируальную машину с установленной Ubutnu 20.04 Server, выпущенную в сеть, и имеющую статический белый IP адрес и открытый извне порт 4321

Подключаемся к серверу по SSH (рекомендую под Windows использовать клиент Putty ) с использование логина-пароля пользователя с правами sudo

P.S. Если вы используете на сервере desktop-редакцию Ubuntu (с графической оболочкой), то все описанные ниже действия вы так же можете проводить в приложении “Терминал”, в меню приложений Ubuntu

Перед нами появляется запрос проверки подлинности сертификата SSH — соглашаемся, так как мы знаем, что это действительно наш сервер

После того как мы вошли на сервер, выполняем проверку и установку последних обновлений

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

По завершении установки мы можем приступить к конфигурированию будущего сервера.

OpenVPN. Готовим среду для создания сертификатов

В начале нам потребуются сертификаты и ключи для создания безопасного соединения клиент-сервер. Так как сертификаты будем выпускать свои, воспользуемся ранее скачанным инструментом EasyRSA

Для удобства создадим папку в /opt и поместим копию инструментария в отдельную подпапку, например /opt/ovpn/

Теперь переходим в папку и приступаем к созданию сертификатов

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

После подготовки мы можем начать с генерации CA-ключа (Ключ центра сертификации сервера).

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

При запросе Common Name — вводим имя сервера (в примере он указан как OVPN-SERVER1 )

OpenVPN. Создаем сертификат сервера

После подготовки CA мы можем подать на него запрос о выпуске сертификата для нашего сервера — с его помощью мы в последствии и сможем выпустить сертификат, с которым клиенты смогут убедиться в подлинности данного сервера

Читайте также:  Как добавить локальную сеть windows 10 компьютер

У вас будет запрошено Common Name — вводим имя вашего будущего сервера

Далее вам следует подтвердить запрос на выпуск сертификата командой

У вас будет запрошено подтверждение выпуска — вводим “ yes ” и нажимает ENTER, после чего вводим пароль от CA сертификата

Далее нам необходим TLS (transport layer security, или HMAC) ключ для безопасной авторизации клиентов. Генерируем его следующей командой

После создания TLS ключа также создаем ключ DH (Диффи Хеллмана)

Эта процедура займет от 1 до 5 минут, в зависимости от мощности ЦП вашего сервера

Сертификаты сервера успешно созданы, теперь для удобства копируем их в папку /opt/ovpn/keys

Создаем сертификаты пользователей

Для подключения пользователей необходимо сертификаты. Для этого с помощью того же EasyRSA генерируем сертификат клиента без пароля (в примере будет использоваться вход только по сертификату)

Где user1 — имя нашего будущего пользователя

При запросе вводим пароль от вашего созданного ранее CA сертификат а

Настраиваем параметры сервера и производим первый запуск

Перед тем как запускать сервер необходимо правильно прописать в конфигурации пути до созданных сертификатов, IP адреса пула VPN а так же другие параметры, о которых будет сказано ниже. Для начала мы создадим базовую конфигурацию сервера. Создаем ее с помощью редактора Nano по пути /etc/openvpn/server.conf

sudo nano /etc/openvpn/server.conf

Копируем в созданный файл следующие строки

Подробнее обо всех параметрах вы можете прочесть на официальном сайте OpenVPN, или в файле-примере ( https://github.com/OpenVPN/openvpn/blob/master/sample/sample-config-files/server.conf ).

На данный момент нас интересуют несколько пунктов:

Проверяем правильность всех параметров, сохраняем и выходим из Nano комбинацией ctrl+x

Теперь создадим папку для хранения логов, куда будет писаться журнал состояния сервера

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

И проверить его статус

Как мы видим из статуса Active — сервер запущен и готов принимать подключения от клиентов

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

После чего набор клиентских сертификатов будет сохранен в папку /opt/ovpn/cli_keys, откуда позже мы их можем скачать

Загрузка и установка клиента OpenVPN на систему Windows

Для начала нам необходимо с помощью утилиты WinSCP (Скачать для Windows) подключиться и скачать подготовленные клиентские сертификаты (которые мы сохранили в папке /opt/ovpn/cli_keys на сервере)

Заходим в WinSCP и подключаемся к нашему серверу

Переходим в каталог /opt/ovpn/cli_keys и копируем содержимое в любую удобную для вас папку на клиентскую машину

После чего скачиваем последнюю версию OpenVPN по ссылке — https://openvpn.net/community-downloads/ и устанавливаем без изменения галочек и пути установки

По окончании установки OpenVPN переходим в папку

и копируем туда ранее скачанные сертификаты клиента из папки cli_keys

В том же каталоге создаем файл config.ovpn и открываем его с помощью текстового редактора (например “Блокнот” или «Notepad++»)

В этот файл копируем приведенную ниже базовую конфигурацию клиента

где 12.221.98.11 — IP адрес сервера, доступный из вне (белый IP адрес), а 4321 — порт, указанный в конфигурации сервера

Сохраняем файл и запускаем OpenVPN от имени администратора

В трее появится значок OpenVPN, щелкаем по нему правой кнопкой и выбираем “Подключиться”

Если все прошло успешно, то вы увидите лог подключения и уведомление о присвоении адреса VPN

Читайте также:  M audio fast track c400 драйвер windows 10

Поздравляем! Теперь вы можете пользоваться удаленными ресурсами на сервере с вашего клиентского ПК, к примеру, подключаться к серверу по SSH для удаленного управления — сервером будет являться первый адрес из пула VPN — в данном примере — 10.11.12.1

Для доступа к локальной сети сервера, в конфиг OpenVPN ( /etc/openvpn/server.conf ) достаточно добавить

Где 10.11.12.0 — подсеть нашего VPN, а 192.168.111.0 — подсеть локальной сети сервера

После чего перезапустить его командой

sudo systemctl restart openvpn@server

Читай как установить Docker на Ubuntu в нашей статье

Источник

Установка 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 — адрес оборудования, с которого производится скачивание.

Читайте также:  Скринсейвер windows 10 2021

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

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

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) и мы точно еще пригодимся вам.

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

Источник

Оцените статью