Как удалить ненужные файлы конфигурации в системах на основе Debian
Мануал
Автор cryptoparty На чтение 6 мин Опубликовано 05.03.2020
Если вы новичок, вы обычно используете команду «apt remove» для удаления установленного пакета в Debian, Ubuntu и его производных, таких как Linux Mint.
Как вы, вероятно, знаете, команда apt remove удалит только данный пакет, но не удалит зависимости или файлы конфигурации удаленных пакетов.
Вот почему средний и продвинутый пользователи часто используют команду «apt purge», которая удаляет данный пакет вместе со всеми зависимостями и файлами конфигурации и поддерживает чистую систему без каких-либо остатков.
Иногда вы можете забыть про «apt purge» и использовать команду «apt remove» при удалении пакета.
Или вы, возможно, уже удалили пакеты с помощью команды apt remove и оставили много неиспользуемых / ненужных пакетов и файлов конфигурации в вашей системе.
Не стоит беспокоиться!
Этот краткий мануал объяснит и покажет, как удалить ненужные файлы конфигурации из систем на основе Debian.
Прежде чем перейти к теме, давайте рассмотрим разницу между: apt remove vs apt purge vs apt autoremove vs apt clean vs apt autoclean.
Это команды, которые мы используем для удаления пакетов, файлов конфигурации удаленных пакетов и очистки локального кэша в любых системах на основе Debian.
- apt remove – эта команда используется для удаления пакета, но оставляет все его файлы конфигурации на месте. Когда вы переустановите этот же пакет позже, все ваши настройки останутся без изменений.
- apt purge – аналогична команде «apt remove», но также удаляет все файлы конфигурации.
- apt autoremove – удаляет все пакеты в вашей системе на основе Deb, которые больше не требуются. Эти пакеты называются неиспользованными пакетами. Таким образом, команда «autoremove» просто удаляет пакеты, которые не были установлены пользователем вручную и которые не нужны ни одному другому пакету в вашей системе.
- apt clean – когда вы используете apt для установки или обновления чего-либо из репозиториев, он сначала загружает все необходимые пакеты на локальный диск, а затем устанавливает их. Команда «apt-get clean» удаляет эти загруженные пакеты. Он не удаляет какой-либо пакет, он просто очищает этот кеш.
- apt autoclean – Как и «apt clean», команда «apt autoclean» очищает локальный репозиторий от полученных файлов пакетами. Разница в том, что он удаляет все сохраненные архивы в вашем кеше пакетов, которые больше нельзя загружать.
Для более подробной информации обратитесь к справочным страницам.
$ man apt
$ man apt-get
Теперь давайте продолжим и выясним, какие файлы мы оставили в системе.
Как найти все пакеты, которые удалены, но не очищены в Debian, Ubuntu
Сначала давайте перечислим оставшиеся файлы в системе с помощью команды dpkg:
$ dpkg -l | grep ^rc
$ dpkg -l | grep "^rc"
Эта команда выведет список всех пакетов, которые были удалены, но не очищены.
Как вы могли заметить, все строки начинаются с rc. Здесь rc – это сокращение residual config.
Вы также можете использовать следующую команду apt для получения списка всех пакетов, которые удалены, но не очищены:
$ apt list | grep 'residual-config'
Другой способ перечислить остатки из вашей системы Debian – использовать менеджер пакетов Synaptic.
Если менеджер пакетов Synaptic не установлен, вы можете установить его с помощью команды:
$ sudo apt install synaptic
Теперь запустите менеджер синаптических пакетов, нажмите кнопку Status на левой панели и найдите остаточные файлы конфигурации, как показано на скриншоте ниже.
Итак, мы только что нашли неиспользуемые или ненужные файлы конфигурации, которые остались в нашей системе.
Теперь пришло время избавиться от них!
Удалите ненужные файлы конфигурации в системах на основе Debian
Есть несколько способов сделать это.
Я покажу три метода удаления ненужных файлов конфигурации из Debian и его производных.
Используя aptitude:
Это самая простая и самая короткая команда для удаления ненужных файлов конфигурации из вашей системы на основе Debian:
$ sudo aptitude purge ~c
$ sudo aptitude purge ?config-files
Обратите внимание, что по умолчанию команда aptitude предварительно не установлена.
Вы можете установить его с помощью команды:
$ sudo apt install aptitude
Либо используйте следующую команду для удаления ненужных файлов конфигурации:
$ sudo aptitude purge `dpkg --get-selections | grep deinstall | awk ''`
Используя команду dpkg:
Если у вас не установлен aptitude, вы можете использовать dpkg для очистки ненужных файлов конфигурации.
$ dpkg -l | grep "^rc" | awk '' | sudo xargs dpkg -P
$ dpkg -l | grep "^rc" | awk '' | sudo xargs dpkg --purge
Пример вывода:
(Reading database . 102520 files and directories currently installed.) [. ] Purging configuration files for linux-image-4.15.0-20-generic (4.15.0-20.21) . Purging configuration files for linux-image-4.15.0-23-generic (4.15.0-23.25) . Purging configuration files for linux-image-4.15.0-24-generic (4.15.0-24.26) . Purging configuration files for linux-image-4.15.0-45-generic (4.15.0-45.48) . Purging configuration files for linux-image-4.15.0-46-generic (4.15.0-46.49) . Purging configuration files for linux-image-4.15.0-48-generic (4.15.0-48.51) . Purging configuration files for linux-image-4.15.0-74-generic (4.15.0-74.84) . Purging configuration files for linux-modules-4.15.0-20-generic (4.15.0-20.21) . Purging configuration files for linux-modules-4.15.0-23-generic (4.15.0-23.25) . Purging configuration files for linux-modules-4.15.0-24-generic (4.15.0-24.26) . Purging configuration files for linux-modules-4.15.0-45-generic (4.15.0-45.48) . Purging configuration files for linux-modules-4.15.0-46-generic (4.15.0-46.49) . Purging configuration files for linux-modules-4.15.0-48-generic (4.15.0-48.51) . Purging configuration files for linux-modules-4.15.0-74-generic (4.15.0-74.84) . Purging configuration files for linux-modules-extra-4.15.0-20-generic (4.15.0-20.21) . Purging configuration files for linux-modules-extra-4.15.0-23-generic (4.15.0-23.25) . Purging configuration files for linux-modules-extra-4.15.0-24-generic (4.15.0-24.26) . Purging configuration files for linux-modules-extra-4.15.0-45-generic (4.15.0-45.48) . Purging configuration files for linux-modules-extra-4.15.0-46-generic (4.15.0-46.49) . Purging configuration files for linux-modules-extra-4.15.0-48-generic (4.15.0-48.51) . Purging configuration files for linux-modules-extra-4.15.0-74-generic (4.15.0-74.84) . [. ]
Использование менеджера пакетов Synaptic:
Если вы установили Synaptic в своей системе, щелкните по разделу «Status» на левой панели, установите флажок для проверки пакетов, которые вы хотите удалить, и нажмите кнопку «Apply».
Ничего страшного если вы часто не используете команду «apt purge».
Но иногда всеже полезно запускать команды «apt autoremove» и «apt autoclean» время от времени, чтобы удалить неиспользуемые зависимости и очистить папку локального кэша в ваших системах Debian.
- ✴ Как исправить неработающие пакеты в Ubuntu
- Как найти установленные приложения с установленным размером в Linux
- ℹ️ Как настроить sources.list в Debian 10
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий Отменить ответ
Поддержать нас
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (110)
- Книги (27)
- Мануал (2 359)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (831)
- Обход запретов (34)
- Опросы (3)
- Скрипты (116)
- Статьи (360)
- Философия (124)
- Юмор (18)
Наш Telegram
Социальные сети
Поделиться
Anything in here will be replaced on browsers that support the canvas element
- Каковы различные форматы сертификатов? 27.10.2023
Цифровые сертификаты могут использоваться для различных целей. Они могут использоваться для защиты соединений с веб-сайтами, для шифрования сообщений электронной почты или для проверки личности пользователя. Выбор правильного формата сертификата необходим для обеспечения безопасности и сохранности данных. Когда речь идет о различных форматах сертификатов, важно выбрать тот, который соответствует вашим потребностям Выберите формат сертификата, совместимый с […]
Преобразование файла PFX (PKCS #12) в формат PEM (Privacy Enhanced Mail) достаточно просто на Linux и Unix-подобных системах. В этой статье мы рассмотрим, как преобразовать файл сертификата в формате PFX в файл PEM с помощью OpenSSL из командной строки. Что такое файл PFX? PFX (также PKCS#12) – это формат файла, содержащего сертификат(ы) и закрытый(ые) ключ(ы), […]
Одним из основных нововведений, появившихся в Podman, стала возможность запуска контейнеров без прав root. С точки зрения безопасности это было существенным улучшением, поскольку потенциально скомпрометированный контейнер, запущенный от имени root, представляет собой угрозу безопасности для хост-системы. Чтобы добиться аналогичного поведения, последние версии Docker поддерживают запуск демона docker в пользовательском контексте. Почему процессы в контейнерах […]
Small Form Factor Pluggable (SFP) – это компактный приёмопередатчик, который устанавливается в SFP порт коммутатора Ethernet. Модуль используется для присоединения платы сетевого устройства к оптическому волокну или витой паре. Модули SFP заменили устаревшие модули GBIC благодаря своим миниатюрным размерам. Это преимущество в размерах позволяет им эффективно работать в ограниченных сетевых средах, обеспечивая быстрый обмен данными […]
Давайте поговорим о классификации вредоносных программ. Когда антивирусная программа или средство защиты от вредоносного ПО обнаруживает что-то потенциально вредоносное, она использует определенный формат, чтобы помочь вам или другим специалистам понять, с какой именно угрозой вы имеете дело. Формат может выглядеть примерно так: Type:Platform/Family.Variant!Suffixes Это не всегда будет выглядеть именно так, поскольку, как вы помните, не […]
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Инструкция по настройке сервера и клиента OpenVPN
Оглавление
Обход блокировок с помощью российских VPS
Начнём с небольшого лайф-хака: если у вас уже есть VPS (виртуальный частный сервер – разновидность хостинга, когда в отличие от совместного (shared-хостинга) вам в аренду дают не папку на сервере, а целую виртуальную машину, в которую вы можете установить любую операционную систему и настроить её как вам заблагорассудится), так вот, если у вас уже есть VPS и даже если виртуальный сервер находится в РФ, то весьма вероятно, что он подойдёт для обхода блокировок Роскомнадзора.
Чтобы это проверить, необязательно настраивать VPN – подключитесь к вашему удалённому серверу (например, по SSH) и попробуйте выполнить что-то вроде:
curl заблокированный_URL_или_IP
Вполне вероятно, что вы получите HTML код страницы заблокированного ресурса – это означает, что на вашем российском VPS можно настроить VPN для обхода блокировок.
В принципе, причина очевидна: оборудование для блокировок заставили установить только провайдеров «последней мили». Т.е. это разные ростелекомы, билайны и т.п. – те, кому вы платите за Интернет.
У кого есть российские VPS – пишите в комментариях, у вас через VPS открываются заблокированные сайты или нет? Будет интересно собрать некоторую статистику. Также указывайте, настроен ли IPv6 – возможно, дело просто в этом.
Только не думайте, что я агитирую арендовать именно российские VPS для обхода блокировок – нет, просто если вы веб-мастер и у вас УЖЕ ЕСТЬ такой сервер, то вы можете сэкономить несколько долларов в месяц, обойдясь без аренды зарубежного VPS под VPN.
Для чего нужен VPN, что он даёт
VPN создаёт соединение между одним или несколькими компьютерами. Это соединение использует надёжное шифрование. В результате чего, можно безопасно передавать данные используя ненадёжные соединения. Например, при подключении к открытой Wi-Fi сети, ваш трафик подвержен сниффингу, как со стороны других устройств локальной сети, так и со стороны тех, кто даже не подключился к этой сети – достаточно перехватывать беспроводной трафик, не подключаясь к ней. Но если вы после подключения к открытой сети начинаете использовать VPN, то ваш трафик передаётся в зашифрованном виде.
Из этого зашифрованного трафика невозможно извлечь какие-либо данные. К примеру, если без VPN вы открываете сайт, использующий HTTPS, то в результате сниффинга невозможно узнать, какие именно данные вы отправили и какие страницы посетили. Но даже при HTTPS видно, к каким именно сайтам вы подключаетесь. При использовании VPN третья сторона, даже если у ней есть доступ к вашему трафику, никак не может определить, какие сайты вы открывали либо извлечь другие данные – весь трафик представляет собой поток зашифрованных данных, имеющих такую же ценность для посторонних, как случайный набор нулей и единиц.
Как работает VPN
Технология VPN позволяет объединять несколько устройств в безопасную сеть.
В своей работе VPN использует разделение на сервер и клиент. У одного сервера может быть несколько клиентов, которые объединены в виртуальную частную сеть, где они могут безопасно обмениваться данными.
Если какому-то клиенту нужно получить доступ к глобальной сети, то он обращается к серверу VPN, этот сервер получает для него данные и перенаправляет запросившему клиенту. Благодаря такой работе, VPN часто используется для сокрытия IP и для обхода блокировки.
К примеру, если вы настроили VPN сервер на компьютере (к примеру, на VPS – виртуальном частном сервере), находящемся не в РФ, то при выходе в Интернет, этот сервер будет запрашивать для вас информацию, в результате, ваш IP адрес будет скрыт (будет показываться IP адрес удалённого сервера), а поскольку для зарубежных компьютеров не работают российские блокировки, то вы сможете получить доступ к любому сайту, который вы не можете открыть напрямую.
Что такое OpenVPN
OpenVPN – это бесплатная программа с открытым исходным кодом, которая реализует технологию VPN. Эта программа имеет и клиентскую часть, и серверную. Работает на различных операционных системах, в том числе на Linux и Windows.
Благодаря распространённости, даже существуют роутеры, которые поддерживают OpenVPN.
Понятная и рабочая инструкция по настройке OpenVPN
Я попытался максимально понятно описать каждый шаг. Если у вас возникли вопросы, то пишите их в комментариях.
Я не поленился и проверил работоспособность OpenVPN сервера на двух VPS’ках под управлением Arch Linux (мой основной виртуальный сервер) и Debian (специально арендовал для написания инструкции), а также проверил клиенты под управлением Windows, Debian (Kali Linux, Ubuntu), Arch Linux.
Т.е. если у вас не получается или возникают ошибки, то попробуйте выполнять операции более внимательно. Если это не помогает – то пишите в комментариях – попробуем разобраться вместе.
При всей своей детальности, эта инструкция не для полных нубов, как минимум вы:
- должны иметь VPS
- должны уметь пользоваться текстовыми редакторами с интерфейсом командной строки (vim или nano). Nano проще – если не умеете пользоваться vim, то в командах заменяйте его на nano
Ну и вам нужно достаточно сосредоточенности, чтобы не запутаться. Плюсом такого подхода (использование ассиметричного шифрования и различных дополнительных защит) является то, что если не получены ключи шифрования, то передаваемый трафик невозможно расшифровать никакими средствами, никакими суперкомпьютерами.
Сертификаты OpenVPN
Мы будем настраивать OpenVPN так, что в своей работе программа будет использовать сертификаты. Это очень надёжный способ как зашифровать передаваемый трафик, так и защитить подключение к серверу.
Настройка OpenVPN будет понятнее, если уяснить криптографические основы.
В криптографии есть понятие симметричного шифрования и асимметричного шифрования.
Пример симметричного шифрования: для шифрования используется пароль, для расшифровки используется этот же самый пароль.
При ассиметричном шифровании, данные зашифровываются одним ключом, а расшифровываются другим.
К примеру, при шифровании с помощью публичного ключа: имеются два ключа: приватный и публичный ключ (публичный ключ называют сертификатом). Приватный нужно хранить в секрете, а публичный распространяется свободно. С помощью публичного ключа можно шифровать сообщения и проверять электронную цифровую подпись. С помощью приватного ключа можно расшифровывать сообщения, зашифрованные публичным ключом, и подписывать данные электронной подписью.
Если у двух сторон имеется по своему собственному приватному ключу, и они обменялись публичными ключами, то перед отправкой данных они шифруют их публичным ключом другой стороны. Такие зашифрованные данные может расшифровать только истинный получатель – владелец приватного ключа.
Но это не всё. Пары ключей нельзя создавать просто так – они должны быть подписаны центром авторизации (certification authority (CA)). Для подписания сертификатов, центр сертификации использует свой собственный приватный ключ. А чтобы можно было проверить, что сертификат действительно подписан уполномоченным центром сертификации, распространяется публичный ключ (сертификат) этого CA.
Итак, получается что:
- сервер имеет два файла (сертификат, т.е. публичный ключ, и приватный ключ)
- клиент имеет два файла (сертификат, т.е. публичный ключ, и приватный ключ)
- центр сертификации имеет два файла (сертификат, т.е. публичный ключ, и приватный ключ)
Сертификаты при этом не являются секретными, а приватные ключи должны быть секретными!
- дополнительно генерируется файл .pem: протокол Ди́ффи — Хе́ллмана (англ. Diffie-Hellman, DH) — криптографический протокол, позволяющий двум и более сторонам получить общий секретный ключ, используя незащищенный от прослушивания канал связи. Полученный ключ используется для шифрования дальнейшего обмена с помощью алгоритмов симметричного шифрования.
Получается уже семь обязательных файлов.
- для добавления дополнительной HMAC подписи к пакетам рукопожатия SSL/TLS, можно создать ещё один файл – он будет восьмым. Это необязательный файл, но мы всё равно будем его использовать, поскольку он позволяет отбросить явно неподходящие пакеты.
Именно это количество файлов и может вызвать путаницу. Но если понимать, какой файл для чего используется, то проблем не возникает.
Если кому-то интересно, посмотрите соответствующие статьи в Википедии (если вам это не совсем понятно, то не переживайте, свой VPN мы всё равно настроем):
- https://ru.wikipedia.org/wiki/Инфраструктура_открытых_ключей
- https://ru.wikipedia.org/wiki/Центр_сертификации
- https://ru.wikipedia.org/wiki/Криптосистема_с_открытым_ключом
- https://ru.wikipedia.org/wiki/Протокол_Диффи_—_Хеллмана
После создания всех сертификатов, нужно настроить непосредственно сервер и клиент. Эта настройка заключается в том, что сгенерированные файлы ключей нужно скопировать в правильное расположение на сервере и клиентах (у каждого из клиентов по своей паре публичный-приватный ключ) и указать путь до файлов с ключами, указать IP подключения и некоторые другие опции.
Как установить OpenVPN
В разные системы OpenVPN ставится чуть по-разному. В Linux мы одновременно устанавливаем и сервер, и клиент. В Windows мы будем работать только с клиентом. Т.е. вам нужно выполнить установку и на сервер, и на клиентскую машину. Например, если у вас VPS с Linux, а пользоваться VPN вы будете с домашнего компьютера под управлением Windows, то устанавливайте OpenVPN на оба компьютера как это писано для каждой системы ниже.
Установка OpenVPN в Debian, Ubuntu, Linux Mint, Kali Linux
Для установки пакетов достаточно выполнить следующие команды (рекомендуется, чтобы предварительно система была обновлена и перезагружена):
sudo apt update sudo apt install openvpn easy-rsa
Установка OpenVPN в Arch Linux, BlackArch
Установка выполняется следующей командой:
sudo pacman -S openvpn easy-rsa
Установка OpenVPN в Windows
Для Windows имеется OpenVPN с графической оболочкой. Перейдите на страницу https://openvpn.net/community-downloads/, найдите там файл «WINDOWS INSTALLER (NSIS)» и скачайте установщик с расширением .exe. Или скачайте последнюю версию по прямой ссылке http://build.openvpn.net/downloads/releases/latest/openvpn-install-latest-stable.exe
Установка выполняется как обычно для Windows программ с мастером установки.
Обратите внимание, что при желании вы можете поставить галочку напротив «EasyRSA 2 Certificate Management Scripts». Это программа и скрипты для генерирования ключей. В этой инструкции ключи мы будем генерировать на Linux машине, т.е. эти скрипты нам не понадобятся, но при желании вы можете их установить.
Решение проблемы с ошибкой «OpenVPN GUI не поддерживает более 50 конфигураций. Пожалуйста свяжитесь с автором, если вам нужно больше.»
Возможно возникновение ошибки:
OpenVPN GUI не поддерживает более 50 конфигураций. Пожалуйста свяжитесь с автором, если вам нужно больше.
Для её исправления зайдите в папку C:\Program Files\OpenVPN\config\ и удалите оттуда файлы. Эти файлы могла оставить сборка на основе OpenVPN.
Создание ключей OpenVPN
Для безопасности рекомендуется, чтобы центр сертификации был на отдельном компьютере, ключи сервера генерировались на другом компьютере, и каждый клиент генерировал свои ключи на своём компьютере.
Для простоты, я буду выполнять действия на одной системе (на OpenVPN сервере), а потом перенесу клиентские ключи на нужный компьютер.
Имя файла | Нужен для | Цель | Секретный |
ca.crt | сервер + все клиенты | Публичный ключ (сертификат) корневого центра сертификации (CA) | НЕТ |
ca.key | только для машины, подписывающей ключи | Приватный ключ корневого центра сертификации (CA) | ДА |
dh.pem | только сервер | Параметры Диффи Хеллмана | НЕТ |
ta.key | сервер + все клиенты | HMAC подпись к пакетам SSL/TLS | ДА |
server.crt | только сервер | Сертификат (публичный ключ) сервера | НЕТ |
server.key | только сервер | Приватный ключ сервера | ДА |
client1.crt | только client1 | Сертификат (публичный ключ) Client1 | НЕТ |
client1.key | только client1 | Приватный ключ Client1 | ДА |
client2.crt | только client2 | Сертификат (публичный ключ) Client2 | НЕТ |
client2.key | только client2 | Приватный ключ Client2 | ДА |
client3.crt | только client3 | Сертификат (публичный ключ) Client3 | НЕТ |
client3.key | только client3 | Приватный ключ Client3 | ДА |
Ключи могут генерироваться на любой операционной системе – они будут работать также на любой ОС. Например, сервер работает на Arch Linux и ключи созданы на нём, а затем клиентские ключи передаются в ОС под управлением Windows или Ubuntu.
В зависимости от вашей системы, выберите нужную инструкцию: для производных Debian или для производных Arch Linux.
Создание ключей OpenVPN в Debian, Ubuntu, Linux Mint, Kali Linux
Начинаем с инициализации центра сертификации:
cd /usr/share/easy-rsa export EASYRSA=$(pwd) sudo ./easyrsa init-pki sudo dd if=/dev/urandom of=pki/.rand bs=256 count=1 sudo dd if=/dev/urandom of=pki/.rnd bs=256 count=1 sudo ./easyrsa build-ca
Нужно будет придумать и два раза ввести пароль от 4 до 1023 символов.
Будет создано два файла:
- /usr/share/easy-rsa/pki/ca.crt
- /usr/share/easy-rsa/pki/private/ca.key
Первый (ca.crt) – это сертификат, т.е. открытый ключ центра сертификации. Он нужен и для сервера и для каждого клиента – с помощью него они будут проверять, что публичные ключи других действительно подписаны центром сертификации и что не появился кто-то «левый», не одобренный центром сертификации.
Создаём папку, где будут все сертификаты сервера OpenVPN:
mkdir /etc/openvpn/certs/
и сразу копируем туда первый файл:
cp /usr/share/easy-rsa/pki/ca.crt /etc/openvpn/certs/ca.crt
Создание ключей OpenVPN сервера
Теперь нам нужно сгенерировать пару ключей OpenVPN сервера.
./easyrsa gen-req server nopass
Нужно подписать сертификат ключами Центра Сертификации, для этого:
./easyrsa sign-req server server
Будет задан вопрос, точно ли мы хотим подписать, наберите yes, затем введите пароль от Центра Сертификации (CA).
Когда появится фраза:
Enter pass phrase for /usr/share/easy-rsa/pki/private/ca.key:
Нужно будет ввести пароль Центра Регистрации, который установили на предыдущем шаге.
Копируем в нужную папку файлы, которые нужны для запуска сервера OpenVPN:
cp /usr/share/easy-rsa/pki/issued/server.crt /etc/openvpn/certs/ cp /usr/share/easy-rsa/pki/private/server.key /etc/openvpn/certs/
Файл параметров Diffie-Hellman (DH) нужен для протокола обмена публичными ключами.
openssl dhparam -out /etc/openvpn/certs/dh2048.pem 2048
Создайте ключ HMAC:
sudo openvpn --genkey secret /etc/openvpn/certs/ta.key
Теперь у нас 5 файлов, необходимые для запуска сервера OpenVPN, размещены в папке /etc/openvpn/certs/. Проверьте, все ли файлы на месте:
ls -l /etc/openvpn/certs/
Создание и подпись ключей клиентов OpenVPN
./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
Аналогично нужно будет ответить на вопрос yes и ввести пароль вашего Центра Сертификации.
Теперь с сервера скачайте файл /etc/openvpn/certs/ca.crt и разместите его по этому же пути, т.е. /etc/openvpn/certs/ca.crt на клиентской машине.
С сервера скачайте файл /etc/openvpn/certs/ta.key и разместите его по этому же пути, т.е. /etc/openvpn/certs/ta.key на клиентской машине.
С сервера скачайте файл /usr/share/easy-rsa/pki/issued/client1.crt, но в клиентской машине разместите его по пути /etc/openvpn/certs/client1.crt.
С сервера скачайте файл /usr/share/easy-rsa/pki/private/client1.key, но в клиентской машине разместите его по пути /etc/openvpn/certs/client1.key.
Файлы можно открывать текстовым редактором и копировать-вставлять на клиентскую машину.
Проверьте, все ли файлы на месте (на клиенте должно быть четыре файла):
ls -l /etc/openvpn/certs/
Итак, если вы создали ключи в Debian (или производных), то вам не нужно создавать ключи в Arch Linux, т.е. пропустите следующий раздел.
Для старой версии — больше не актуально
Если вышеприведённые команды вызвали ошибку, значит у вас старая версия easy-rsa, в ней должны работать следующие команды:
cd /usr/share/easy-rsa cp openssl-1.0.0.cnf openssl.cnf source ./vars ./clean-all ./build-ca
Будет создано два файла:
- /usr/share/easy-rsa/keys/ca.crt
- /usr/share/easy-rsa/keys/ca.key
Первый (ca.crt) – это сертификат, т.е. открытый ключ центра сертификации. Он нужен и для сервера и для каждого клиента – с помощью него они будут проверять, что публичные ключи других действительно подписаны центром сертификации и что не появился кто-то «левый», не одобренный центром сертификации.
Создаём папку, где будут все сертификаты сервера OpenVPN:
mkdir /etc/openvpn/certs/
и сразу копируем туда первый файл:
cp /usr/share/easy-rsa/keys/ca.crt /etc/openvpn/certs/ca.crt
Создание ключей OpenVPN сервера
Теперь нам нужно сгенерировать пару ключей OpenVPN сервера.
./build-key-server servername
Все значения можно оставить по умолчанию. Положительно отвечаем на два запроса:
Sign the certificate? [y/n]:y out of 1 certificate requests certified, commit? [y/n]y
Копируем в нужную папку файлы, которые нужны для запуска сервера OpenVPN:
cp /usr/share/easy-rsa/keys/servername.crt /etc/openvpn/certs/ cp /usr/share/easy-rsa/keys/servername.key /etc/openvpn/certs/
Файл параметров Diffie-Hellman (DH) нужен для протокола обмена публичными ключами.
./build-dh mv /usr/share/easy-rsa/keys/dh2048.pem /etc/openvpn/certs/
Создайте ключ HMAC:
sudo openvpn --genkey secret /etc/openvpn/certs/ta.key
Теперь у нас 5 файлов, необходимые для запуска сервера OpenVPN, размещены в папке /etc/openvpn/certs/. Проверьте, все ли файлы на месте:
ls -l /etc/openvpn/certs/
Создание ключей клиентов OpenVPN
./build-key client1
Все значения можно оставить по умолчанию. Положительно отвечаем на два запроса:
Sign the certificate? [y/n]:y out of 1 certificate requests certified, commit? [y/n]y
Теперь с сервера скачайте файл /etc/openvpn/certs/ca.crt и разместите его по этому же пути, т.е. /etc/openvpn/certs/ca.crt на клиентской машине.
С сервера скачайте файл /etc/openvpn/certs/ta.key и разместите его по этому же пути, т.е. /etc/openvpn/certs/ta.key на клиентской машине.
С сервера скачайте файл /usr/share/easy-rsa/keys/client1.crt, но в клиентской машине разместите его по пути /etc/openvpn/certs/client1.crt.
С сервера скачайте файл /usr/share/easy-rsa/keys/client1.key, но в клиентской машине разместите его по пути /etc/openvpn/certs/client1.key.
Файлы можно открывать текстовым редактором и копировать-вставлять на клиентскую машину.
Проверьте, все ли файлы на месте (на клиенте должно быть четыре файла):
ls -l /etc/openvpn/certs/
Итак, если вы создали ключи в Debian (или производных), то вам не нужно создавать ключи в Arch Linux, т.е. пропустите следующий раздел.
Создание ключей OpenVPN в Arch Linux, BlackArch
Развернуть
Создание ключей центра сертификации
Начинаем с инициализации центра сертификации:
cd /etc/easy-rsa export EASYRSA=$(pwd)
Следующей командой мы инициализируем инфраструктуру открытых ключей:
easyrsa init-pki
Нас предупредят, что предыдущая инфраструктура будет удалена, и что если мы хотим продолжить, то должны набрать yes.
Генерируем ключи центра сертификации:
easyrsa build-ca
Нужно будет придумать и два раза ввести пароль от 4 до 1023 символов.
Будет создано два файла:
- /etc/easy-rsa/pki/ca.crt
- /etc/easy-rsa/pki/private/ca.key
Первый (ca.crt) – это сертификат, т.е. открытый ключ центра сертификации. Он нужен и для сервера и для каждого клиента – с помощью него они будут проверять, что публичные ключи других действительно подписаны центром сертификации и что не появился кто-то «левый», не одобренный центром сертификации.
На серверной машине этот файл должен быть по пути /etc/openvpn/certs/ca.crt, поскольку у меня CA и сервер это одна машина, то я создаю папку, где будут все сертификаты сервера OpenVPN:
mkdir /etc/openvpn/certs/
и сразу копирую туда первый файл:
cp /etc/easy-rsa/pki/ca.crt /etc/openvpn/certs/ca.crt
Создание ключей OpenVPN сервера
Теперь нам нужно сгенерировать пару ключей OpenVPN сервера. Если вы это делаете на другой машине, то необходимо выполнить начальную инициализацию:
cd /etc/easy-rsa easyrsa init-pki
Я все операции делаю на одном компьютере, поэтому перехожу сразу к следующему шагу:
cd /etc/easy-rsa easyrsa gen-req servername nopass
Нужно будет ввести имя сервера – я оставляю значение по умолчанию.
Будут созданы два файла:
- /etc/easy-rsa/pki/private/servername.key
- /etc/easy-rsa/pki/reqs/servername.req
Первый – это приватный ключ сервера OpenVPN, который нужно хранить в секрете и который можно сразу переместить в нужное место, поскольку он не требует каких-либо дальнейших обработок. Если у вас OpenVPN сервер на другой машине, то разместите этот файл в папке /etc/openvpn/certs/, для этого создайте её:
mkdir /etc/openvpn/certs/
Поскольку у меня CA и сервер это одна машина, то я сразу перемещаю файл в нужное место:
cp /etc/easy-rsa/pki/private/servername.key /etc/openvpn/certs/
Но файл servername.req является файлом запроса, который будет подписан центром сертификации. Поэтому если у вас центр сертификации на другом компьютере, то перенесите его туда в папку /etc/easy-rsa/pki/reqs/, если у вас центр сертификации на этом же компьютере, то оставьте их где они лежат.
Файл параметров Diffie-Hellman (DH)
Этот файл нужен для протокола обмена публичными ключами.
На серверной машине OpenVPN создайте файл dh2048.pem командой:
openssl dhparam -out /etc/openvpn/certs/dh2048.pem 2048
Помните: можно использовать значения большие чем 2048 (например, 4096), но для создания требуется значительно больше времени, а для безопасности особо ничего не добавляется; рекомендуется иметь длину главного номера DH соответствующей длине RSA ключа.
Опять же на серверной OpenVPN машине создайте ключ HMAC:
sudo openvpn --genkey secret /etc/openvpn/certs/ta.key
Он будет использоваться для добавления дополнительной HMAC подписи к пакетам SSL/TLS рукопожатия. Как результат, любые UDP не имеющие корректной HMAC подписи будут немедленно отброшены, защищая от:
- Сканирования портов.
- DOS атаки на UDP порт OpenVPN.
- Инициализацию SSL/TLS хендшейка от неавторизованных машин.
- Любые возможные уязвимости переполнения буфера в реализации SSL/TLS.
Создание ключей клиентов OpenVPN
Клиентские файлы можно генерировать на любой машине. Если ещё не инициализирован центр сертификации, то делаем это:
cd /etc/easy-rsa easyrsa init-pki
Генерируем клиентский приватный ключ и файл запроса:
cd /etc/easy-rsa easyrsa gen-req client1 nopass
Будет создано два файла:
- /etc/easy-rsa/pki/private/client1.key
- /etc/easy-rsa/pki/reqs/client1.req
Первый – это приватный ключ, его нужно скачать на компьютер клиента сервера OpenVPN, а второй – файл запроса, его нужно подписать, чтобы был создан сертификат клиента. Поэтому если у вас центр сертификации на другом компьютере, то перенесите его туда в папку /etc/easy-rsa/pki/reqs/, если у вас центр сертификации на этом же компьютере, то оставьте их где они лежат.
Можно создать столько пар для клиентов, сколько нужно – у каждого клиента должны быть свои собственные пары публичный-приватный ключ.
Подписывание сертификатов центром сертификации
Теперь нам нужно подписать файлы запросов сервера и клиентов, чтобы получились сертификаты (публичные ключи), а также разместить файлы по нужным папкам. Начнём с подписи.
Если у вас центр сертификации расположен на отдельной машине, то перенесите на неё файлы запросов .req в папку /etc/easy-rsa/pki/reqs/
Теперь в центре сертификации выполните:
cd /etc/easy-rsa easyrsa sign-req server servername easyrsa sign-req client client1
Оба раза нас попросят задуматься, действительно ли мы хотим подписать эти файлы и действительно ли мы доверяем источнику. Также нужно будет ввести пароль, который мы придумывали, когда генерировали ключи центра сертификации.
В результате будут созданы следующие файлы:
- /etc/easy-rsa/pki/issued/servername.crt
- /etc/easy-rsa/pki/issued/client1.crt
Ставшие ненужными файлы запросов можно удалить:
rm /etc/easy-rsa/pki/reqs/*.req
Перемещаем файлы сервера:
mv /etc/easy-rsa/pki/issued/servername.crt /etc/openvpn/certs/servername.crt chown root:root /etc/openvpn/certs/servername.crt mv /etc/easy-rsa/pki/private/servername.key /etc/openvpn/certs/servername.key chown root:root /etc/openvpn/certs/servername.key
В результате на сервере файлы ключей размещены в правильной директории.
Проверьте, все ли файлы на месте (на клиенте должно быть пять файлов):
ls -l /etc/openvpn/certs/
Загрузка файлов на клиентские машины
- Теперь с сервера скачайте файл /etc/openvpn/certs/ca.crt и разместите его поэтому же пути, т.е. /etc/openvpn/certs/ca.crt на клиентской машине.
- С сервера скачайте файл /etc/openvpn/certs/ta.key и разместите его по этому же пути, т.е. /etc/openvpn/certs/ta.key на клиентской машине.
- С сервера скачайте файл /etc/easy-rsa/pki/issued/client1.crt, но в клиентской машине разместите его по пути /etc/openvpn/certs/client1.crt.
- С сервера скачайте файл /etc/easy-rsa/pki/private/client1.key, но в клиентской машине разместите его по пути /etc/openvpn/certs/client1.key.
Файлы можно открывать текстовым редактором и копировать-вставлять на клиентскую машину.
Проверьте, все ли файлы на месте (на клиенте должно быть четыре файла):
ls -l /etc/openvpn/certs/
Размещение файлов ключей на сервере и на клиенте
Итак, всего на сервере должно быть пять файлов и они должны быть размещены в следующих директориях:
- /etc/openvpn/certs/ca.crt
- /etc/openvpn/certs/servername.crt
- /etc/openvpn/certs/servername.key
- /etc/openvpn/certs/dh2048.pem
- /etc/openvpn/certs/ta.key
Проверьте, все ли файлы на месте:
ls -l /etc/openvpn/certs/
На клиентской машине должны быть следующие файлы, и в случае Linux разместите их так:
- /etc/openvpn/certs/ca.crt
- /etc/openvpn/certs/client1.crt
- /etc/openvpn/certs/client1.key
- /etc/openvpn/certs/ta.key
Проверьте, все ли файлы на месте:
ls -l /etc/openvpn/certs/
Файлы можно скачать используя программу scp или любым другим способом. Также их содержимое можно копировать-вставлять, поскольку они представляют собой обычный текст.
Для Windows машин создайте папку C:\Program Files\OpenVPN\certs\ и разместите там эти файлы:
- C:\Program Files\OpenVPN\certs\ca.crt
- C:\Program Files\OpenVPN\certs\client1.crt
- C:\Program Files\OpenVPN\certs\client1.key
- C:\Program Files\OpenVPN\certs\ta.key
Запуск сервера OpenVPN
Это универсальная инструкция для Debian, Ubuntu, Linux Mint, Kali Linux, Arch Linux и их производных.
Конфигурационный файл OpenVPN
В архиве /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz или в папке /usr/share/openvpn/examples/ имеются примеры файлов настройки. Оттуда можно взять файл server.conf и настроить его под свои нужды. Если вы действовали по этой инструкции, то можете просто создать новый файл /etc/openvpn/server/server.conf
vim /etc/openvpn/server/server.conf
и скопируйте туда:
# Какой порт использовать # Значением по умолчанию является 1194 # я использую 53 порт, мимикрируя под DNS трафик # ещё такая настройка иногда помогает обойти # перехватывающие порталы (Captive Portals) #port 1194 port 53 # TCP или UDP протокол. Рекомендуется UDP ;proto tcp-server proto udp # Не нужно менять ;dev tap dev tun # Ключи: первым идёт публичный ключ центра сертификации # затем публичный ключ сервера # затем приватный ключ сервера ca /etc/openvpn/certs/ca.crt cert /etc/openvpn/certs/servername.crt key /etc/openvpn/certs/servername.key # Этот файл нужно хранить в секрете # Параметры Diffie hellman dh /etc/openvpn/certs/dh2048.pem # Будет создана виртуальная локальная сеть # Здесь указываются её параметры # Не нужно ничего менять без особых причин topology subnet server 10.8.0.0 255.255.255.0 # При перезагрузке сервера, клиенту будет назначен его прежний IP адрес ifconfig-pool-persist ipp.txt # Эта настройка делает так, что при подключении к VPN # для клиентов сервер VPN становится шлюзом по умолчанию push "redirect-gateway def1 bypass-dhcp" # Если раскомментировать эту настройку, # то для нескольких клиентов можно использовать одну и ту же пару # приватный-публичный ключ, # но это не рекомендуется ;duplicate-cn # Пинговать удалённый узел каждые 10 секунд # и считать его упавшим, если он не ответил за 120 секунд keepalive 10 120 # Дополнительная защита для DoS атак и флудинга портов UDP # благодаря созданию "HMAC файервола" # за счёт добавления дополнительной подписи к SSL/TLS # Файл ta.key был создан во время генерирования ключей, # он должен быть доставлен также каждому клиенту remote-cert-tls client tls-auth /etc/openvpn/certs/ta.key 0 # Этот файл нужно хранить в секрете # Выбор криптографических шифров # У клиентов должно быть также # для версий ранее 2.5 #cipher AES-256-CBC # для версии 2.5 data-ciphers AES-256-GCM:AES-128-GCM # Включение сжатия и отправка настройки клиенту ;compress lz4-v2 ;push "compress lz4-v2" # Максимальное число одновременно подключённых клиентов ;max-clients 100 # Понижение привилегий демона OpenVPN # после запуска # # Только для не Windows систем. ;user nobody ;group nobody # Хранить ключи в памяти, на случай, если не получается # получить к ним доступ из-за понижения привилегий persist-key persist-tun # Короткий файл текущего статус # содержит текущие соединения # обрезается и перезаписывается каждую минуту status openvpn-status.log # По умолчанию логи идут в syslog # "log" означает перезапись файла журнала при каждом запуске OpenVPN, # а "log-append" означает дополнение журнала # Используйте только одну, а не обе! ;log openvpn.log ;log-append openvpn.log # Уровень вербальности # # 0 тихий, кроме фатальных ошибок # 4 подходит для обычного использования # 5 и 6 помогают в отладке при решении проблем с подключением # 9 крайне вербальный verb 4 # Предупреждать клиента, что сервер перезапускается # чтобы клиенты могли автоматически переподключиться. explicit-exit-notify 1
Сохраните и закройте файл.
Тестирование и запуск сервера OpenVPN
Протестировать настройки OpenVPN сервера можно так:
openvpn /etc/openvpn/server/server.conf
Если есть ошибки в файле конфигурации, то программа сразу завершиться с ошибкой. Для решения проблем включите логи в файле настроек, увеличьте вербальность до 6 и изучайте журнал ошибок:
cat /var/log/openvpn.log cat /var/log/openvpn-status.log
А если всё в порядке запустите OpenVPN сервер и добавьте его в автозагрузку
systemctl start openvpn-server@server.service systemctl status openvpn-server@server.service systemctl enable openvpn-server@server.service
Обратите внимание, что с systemctl используется команда вида openvpn-server@.service, где — это файл конфигурации, который лежит в папке /etc/openvpn/server/, но без расширения .conf
Если вы следовали этой инструкции и не меняли название файла, то вышеприведённые команды вам подойдут, их не нужно менять.
Если вы столкнулись с ошибкой:
Options error: --explicit-exit-notify cannot be used with --mode server
То из файла /etc/openvpn/server/server.conf
explicit-exit-notify 1
Причина ошибки в том, что поддержка директивы explicit-exit-notify 1 была добавлена в OpenVPN начиная с версии 2.4. А на вашей машине, очевидно, OpenVPN более старой версии.
Если вы столкнулись с ошибкой «Address already in use», например:
TCP/UDP: Socket bind failed on local address [AF_INET][undef]:53: Address already in use Exiting due to fatal error
Это означает, что порт занят другой программой. Проверить, какая программа использует порт, можно командой:
sudo netstat -tulpn | grep ":НОМЕР_ПОРТА"
К примеру, для проверки порта 53:
sudo netstat -tulpn | grep ":53"
Используйте любой другой, не занятый порт – для этого в конфигурационных файлах OpenVPN сервера и клиента отредактируйте директиву port 53.
Включение маршрутизации трафика на OpenVPN сервере
На данном этапе, если бы кто-то подключился к OpenVPN серверу, то он не сможет подключаться к глобальной сети. Чтобы это стало возможным нужно настроить маршрутизацию трафика.
Для этого создайте файл vpn_route.sh.
Обратите внимание, что я создаю скрипт в папке /root/bin/, если у вас её нет, то создайте её предварительно
mkdir /root/bin/
Если вы хотите разместить скрипт в другой папке, то отредактируйте последующие данные под свои.
vim /root/bin/vpn_route.sh
B этот файл скопируйте следующее содержимое, отредактировав его под свои нужды. Обратите внимание на:
- PRIVATE=10.8.0.0/24 – измените подсеть в соответствии с вашими настройками. Если делали по этой инструкции, то менять ничего не нужно.
- Укажите значение DEV! Впишите там имя вашего сетевого интерфейса. Это имя можно посмотреть командой
ip a
Если вы не впишите имя, то есть вероятность, что при загрузке компьютера скрипт не сможет автоматически получить имя сетевого интерфейса и поэтому маршрутизация трафика не будет работать правильно!
#!/bin/sh # укажите имя интерфейса, иначе скрипт попытается выбрать его автоматически #DEV='eth0' DEV='ens3' PRIVATE=10.8.0.0/24 if [ -z "$DEV" ]; then DEV="$(ip route | grep default | head -n 1 | awk '')" fi # Включаем форвардинг пакетов, чтобы из туннельного интерфейса # они попадали на внешний интерфейс sysctl net.ipv4.ip_forward=1 # Убеждаемся, что iptables не блокируют перенаправляемый трафик: iptables -I FORWARD -j ACCEPT # Преобразование адресов (NAT) для приходящих из туннеля пакетов # При включенной пересылке пакеты по умолчанию перенаправляются # с исходным адресом без изменений, то есть в нашем случае 10.8.0.* # такие пакеты либо удаляются на шлюзе ISP, либо даже если они # отправляются в пункт назначения, ответ никогда не находит обратного пути. # Эти частные адреса не маршрутизируются в Интернете. # # Решением является преобразование адресов (NAT) исходящего трафика, # то есть заменить частный 10.8.0.* адрес общедоступным IP адресом VPN-сервера. # Это позволит ответам достичь VPN-сервера, # и там они будут отправлены обратно в туннель. iptables -t nat -I POSTROUTING -s $PRIVATE -o $DEV -j MASQUERADE
Сделайте файл исполняемым:
chmod 755 /root/bin/vpn_route.sh
Чтобы изменения вступили прямо сейчас, до перезапуска компьютера, выполните:
bash /root/bin/vpn_route.sh
Если всё нормально, то для добавления его в автозагрузку создайте файл /etc/systemd/system/enable-openvpn-routing.service:
vim /etc/systemd/system/enable-openvpn-routing.service
Со следующим содержимым:
[Unit] Description=Включение роутинга OpenVPN трафика. [Service] ExecStart=/root/bin/vpn_route.sh [Install] WantedBy=multi-user.target
Обратите внимание на строку /root/bin/vpn_route.sh – замените её на свой путь, если мы разместили файл в другом месте или назвали его по-другому.
И активируйте автозапуск этого файла:
systemctl enable enable-openvpn-routing
Настройка клиентов OpenVPN сервера
Настройка Windows для использования OpenVPN
Как уже было сказано, необходимые ключи должны быть размещены в следующих папках:
- C:\Program Files\OpenVPN\certs\ca.crt
- C:\Program Files\OpenVPN\certs\client1.crt
- C:\Program Files\OpenVPN\certs\client1.key
- C:\Program Files\OpenVPN\certs\ta.key
Теперь в папке C:\Program Files\OpenVPN\config\ создайте файл client.ovpn со следующим содержимым:
ВНИМАНИЕ: замените в строке remote 185.117.153.79 IP адрес на свой.
# Программа выступает в роли клиента (а не сервера) client # Самая важная настройка: # впишите здесь IP адрес СВОЕГО OpenVPN СЕРВЕРА # Другие настройки можно вообще не менять. remote 185.117.153.79 # Сервер использует 53 порт, этот же порт указывается здесь port 53 # Не меняйте dev tun # Выбор протокола TCP или UDP # Должен быть таким же, как на сервере ;proto tcp-client proto udp # Имя хоста/IP и порт сервера. # Можно вписать несколько удалённых серверов # для балансировки нагрузки. ;remote my-server-1 1194 ;remote my-server-2 1194 # Если для балансировки нагрузки вы вписали несколько хостов # то при включении этой опции будет выбран случайный # в противном случае они будут следовать по очереди ;remote-random # Бесконечно пытаться преобразовать имя хоста # сервера OpenVPN. Очень полезно на машинах # которые подключены к интернету не постоянно, # например, для ноутбуков resolv-retry infinite # Большинству клиентов не нужно # привязываться к определённому локальному порту nobind # Понизить привилегии после подключения (только для не-Windows) ;user nobody ;group nobody # Пытаться сохранить прежнее состояние после перезапуска. persist-key persist-tun # Здесь можно настроить HTTP прокси # для подключения к OpenVPN серверу # поддерживается аутентификация на удалённом прокси ;http-proxy-retry # retry on connection failures ;http-proxy [proxy server] [proxy port #] # Беспроводные сети часто создают много дублирующих пакетов # Включите эту настройку, чтобы не показывать предупреждения # о дубликатах ;mute-replay-warnings # Путь до сертификатов # Обратите внимание, как это делается в Windows: # Путь до файлов взят в двойные кавычки, # обратные слеши экранированы ca "C:\\Program Files\\OpenVPN\\certs\\ca.crt" cert "C:\\Program Files\\OpenVPN\\certs\\client1.crt" key "C:\\Program Files\\OpenVPN\\certs\\client1.key" # Дополнительная защита remote-cert-tls server # Ключ для дополнительной защиты tls-auth "C:\\Program Files\\OpenVPN\\certs\\ta.key" 1 # Набор шифров как на сервере # cipher AES-256-CBC # для старых версий до 2.5 data-ciphers AES-256-GCM:AES-128-GCM # Сжатие. Не включайте, если не включено на сервере #comp-lzo # Вербальность журнала. verb 3
Теперь выберите подключение «client» и нажмите «Подключиться»:
Свой IP вы можете проверить на сайте https://suip.biz/ru/?act=myip
Настройка Debian (Ubuntu, Linux Mint, Kali Linux), а также Arch Linux( BlackArch) для использования OpenVPN
Это универсальная инструкция для всех производных Debian и Arch Linux по подключению к OpenVPN.
Теперь настроем клиента, который будет пользоваться OpenVPN на Linux. Как это было сказано почти в самом начале, пакет OpenVPN у вас уже должен быть установлен.
Сгенерированные ключи должны быть в этих файлах:
- /etc/openvpn/certs/ca.crt
- /etc/openvpn/certs/client1.crt
- /etc/openvpn/certs/client1.key
- /etc/openvpn/certs/ta.key
Если у вас нет папки /etc/openvpn/certs/, то создайте её:
sudo mkdir /etc/openvpn/certs/
И скопируйте туда все необходимые ключи.
Проверьте, все ли файлы на месте (4 файла):
ls -l /etc/openvpn/certs/
Создайте файл /etc/openvpn/client/client.conf
sudo gedit /etc/openvpn/client/client.conf
И скопируйте туда (обязательно поменяйте IP адрес в строке remote 185.117.153.79 на IP адрес ВАШЕГО OpenVPN сервера) :
# Программа выступает в роли клиента (а не сервера) client # Самая важная настройка: # впишите здесь IP адрес СВОЕГО OpenVPN СЕРВЕРА # Другие настройки можно вообще не менять. remote 185.117.153.79 # Сервер использует 53 порт, этот же порт указывается здесь port 53 # Не меняйте dev tun # Выбор протокола TCP или UDP # Должен быть таким же, как на сервере ;proto tcp-client proto udp # Имя хоста/IP и порт сервера. # Можно вписать несколько удалённых серверов # для балансировки нагрузки. ;remote my-server-1 1194 ;remote my-server-2 1194 # Если для балансировки нагрузки вы вписали несколько хостов # то при включении этой опции будет выбран случайный # в противном случае они будут следовать по очереди ;remote-random # Бесконечно пытаться преобразовать имя хоста # сервера OpenVPN. Очень полезно на машинах # которые подключены к интернету не постоянно, # например, для ноутбуков resolv-retry infinite # Большинству клиентов не нужно # привязываться к определённому локальному порту nobind # Понизить привилегии после подключения (только для не-Windows) ;user nobody ;group nobody # Пытаться сохранить прежнее состояние после перезапуска. persist-key persist-tun # Здесь можно настроить HTTP прокси # для подключения к OpenVPN серверу # поддерживается аутентификация на удалённом прокси ;http-proxy-retry # retry on connection failures ;http-proxy [proxy server] [proxy port #] # Беспроводные сети часто создают много дублирующих пакетов # Включите эту настройку, чтобы не показывать предупреждения # о дубликатах ;mute-replay-warnings # Путь до сертификатов ca /etc/openvpn/certs/ca.crt cert /etc/openvpn/certs/client1.crt key /etc/openvpn/certs/client1.key # Дополнительная защита remote-cert-tls server # Ключ для дополнительной защиты tls-auth /etc/openvpn/certs/ta.key 1 # Набор шифров как на сервере # cipher AES-256-CBC # для старых версий до 2.5 data-ciphers AES-256-GCM:AES-128-GCM # Сжатие. Не включайте, если не включено на сервере #comp-lzo # Вербальность журнала. verb 3
Протестировать настройки OpenVPN клиента можно так:
sudo openvpn /etc/openvpn/client/client.conf
Слова «Initialization Sequence Completed» говорят о том, что подключение прошло успешно.
Если по каким-то причинам нет Интернета, то проверьте, пингуются ли IP
ping 8.8.8.8
и пингуются ли имена хостов:
ping ya.ru
Если пинг к IP проходит, а к именам хостов – нет, то откройте файл /etc/resolv.conf:
sudo gedit /etc/resolv.conf
И замените его содержимое на:
nameserver 8.8.8.8
А если всё в порядке запустите клиент OpenVPN в фоне и при желании добавьте его в автозагрузку. Это необязательно – вы можете подключаться к OpenVPN только по мере необходимости.
sudo systemctl start openvpn-client@client.service
sudo systemctl status openvpn-client@client.service
Добавление в автозагрузку:
sudo systemctl enable openvpn-client@client.service
Если нужно остановить, то введите:
sudo systemctl stop openvpn-client@client.service
Если нужно отключить из автозапуска, то выполните:
sudo systemctl disable openvpn-client@client.service
Встраивание сертификатов в файл .ovpn
Сертификаты необязательно должны быть в отдельных файлах. Сертификат можно внедрить прямо в файл .ovpn и, на самом деле, это очень удобно! То есть для распространения конфигурации среди клиентов OpenVPN сервера не нужно передавать пять файлов (настройки и четыре сертификата) достаточно передать только один файл настроек, в который уже встроены сертификаты.
OpenVPN позволяет включать файлы в главный конфигурационный файлы, которые указываются опциями —ca, —cert, —dh, —extra-certs, —key, —pkcs12, —secret, —crl-verify, —http-proxy-user-pass, —tls-auth и —tls-crypt.
Перед каждым сертификатом ставится строка (где вместо слово «опция» нужно вписать ту опцию, которую заменяет данный сертификат, то есть это ca, cert, dh и так далее). Когда текст сертификата заканчивается, то ставится закрывающий тег .
Пример использования встроенного сертификата:
-----BEGIN CERTIFICATE----- [. ] -----END CERTIFICATE-----
Как можно увидеть, нужно копировать содержимое файлов целиком, вместе с комментариями. Если внедряется файл —pkcs12, то его нужно закодировать в base64. Закодировать файл .p12 в base64 можно сделать, например, с помощью OpenSSL, запустив
openssl base64 -in input.p12
Рассмотрим конкретно для нашей конфигурации. Мы используем четыре сертификата:
ca "C:\\Program Files\\OpenVPN\\certs\\ca.crt" cert "C:\\Program Files\\OpenVPN\\certs\\client1.crt" key "C:\\Program Files\\OpenVPN\\certs\\client1.key" tls-auth "C:\\Program Files\\OpenVPN\\certs\\ta.key" 1
Эти четыре строки нужно удалить из конфигурационного файла. Обратите внимание, что с tls-auth после имени файла стоит цифра один – это дополнительная опция и чтобы она не была потеряна, к уже имеющимся опциям добавьте в ваш .ovpn файл строку:
key-direction 1
Теперь прямо в файл .ovpn добавьте:
Где вместо многоточий […] вставьте соответствующие сертификаты/ключи полностью, вместе с комментариями. Получается примерно так:
-----BEGIN CERTIFICATE----- [. ] -----END CERTIFICATE----- [. ] -----BEGIN PRIVATE KEY----- [. ] -----END PRIVATE KEY----- # # 2048 bit OpenVPN static key # -----BEGIN OpenVPN Static key V1----- [. ] -----END OpenVPN Static key V1-----
Теперь файл настроек .ovpn можно загружать в различные клиенты OpenVPN: на телефон, например, или на другой компьютер – отдельные файлы сертификатов больше не нужны.
Информация о выходе новых версий OpenVPN
Информация о выходе новых версий, а также другой интересный материал об OpenVPN на форуме.
Заключение
Если у вас нет своего VPS, и вы хотите его купить прямо сейчас, то пара ссылок:
- зарубежный (крупный хостер, сервера в разных странах)
- отечественный (дешёвый, работаю с ними 2 года, нареканий нет – на нём я держу SuIP.biz)
Связанные статьи:
- Продвинутое использование OpenVPN (80.7%)
- autovpn2 и autovpn3 — скрипты для автоматического подключения к бесплатным VPN (77.7%)
- Как подключаться к OpenVPN через прокси или Tor (77.7%)
- Типичные ошибки, приводящие к деанонимизации (75.6%)
- Как быстро поменять IP в Linux (73.5%)
- Введение в IPv6 адреса: как пользоваться и как исследовать сеть (часть 2) (RANDOM — 13.5%)
факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!
Рекомендуется Вам:
64 комментария to Инструкция по настройке сервера и клиента OpenVPN
А каК тор работет из под впн? Скорость падает? Спасибо за подробную инструкцию
Alexey :
Да, если внутри VPN использовать Tor (например, сервер с OpenVPN настроить так, чтобы пришедший из туннеля трафик он отправлял через сеть Tor), то скорость упадёт до обычной скорости Tor’а. Такую конструкцию имеет смысл делать если вы хотите скрыть факт использования Tor’а. Т.е. со стороны будет виден только зашифрованный канал к определённому IP (от вашего компьютера до сервера OpenVPN). На мой взгляд, если вы не делаете секрета из того, что используете Tor, то используйте его напрямую, без VPN. Со стороны это будет выглядеть как создание зашифрованного соединения с разными IP. Поскольку IP Tor’а не являются секретом, то третья сторона может определить, что вы используете Tor. Но к передаваемым данным тот, кто сниффит трафик от вас до ноды Tor, никак не сможет получить доступ в любом из рассмотренных случаев – у Tor тоже очень надёжное шифрование. Но не надо слишком доверять сети Tor! На выходной ноде обмен с глобальной сетью происходит «как есть». Т.е. если это HTTP трафик – то выходная нода видит его незашифрованным, если это HTTPS трафик, то он, само-собой зашифрован. Так вот, ничто (!) не мешает владельцу выходной ноды настроить пассивный сниффер и собирать пароли/кукиз из незашифрованного трафика. Хотя IP источника (т.е. ваш) он всё равно не узнает, но адрес сайта/логин/пароль/кукиз вполне может перехватить. Это же касается и сторонних бесплатных/платных VPN. Считайте по умолчанию, что ваш трафик там непрерывно сниффится и сохраняются логи всей сетевой активности, в том числе ваш IP адрес, с которого вы подключились, и адреса ресурсов, куда вы делали запросы. Т.е. чтобы зайти на заблокированный ресурс или провести сканирование сайта без криминала – для этого сгодиться. А если действия связаны с серьёзным криминалом – то уже вряд ли. Естественно, лучше не делать ничего криминального – это лучшая защита от проблем с законом.
Да, никакого крименала. Мне просто и самому интересно. Я вообще сервисный инженер. И к администрированию сети имею поскольку постольку. Но в детстве увлекался данной тематикой (1994 году)… А потому как то стало не до этого….С тех пор все стало только интересней и недавно снова окунуться так сказать в андеграунд решил, посмотреть что да как теперь дела… Кстати интересно что когда начинаю с админами говорить о безопасности они делают круглые глаза, странно что админы очень слабо разбрираються в сетевой безопасности. Да пароли да надежные но про способы атак на сеть вообще имеют очень размытые представления….
Да про VPN я слышал что зарубежные с большой неохотой дают логи Российским спецслужбам. Но я также слышал что для спецслужб не составляет особого труда взломать зарубежных хостеров если уж действительно крименал и далее СОРМ и пиндыр…. Мне понравился этот ролик про СОРМ https://www.youtube.com/watch?v=MvJwN8pD2qc
Так что я уверен что посетители этого ресурса уже автоматически попадают в базу даных СОРМ))) Так что если кто тут пришел что бы творить безпредел в сети — НЕСОВЕТУЮ.
Вот еще про СОРМ кому интересно….) что бы читатели не думал что раз знает пару атак уже стал «хацкером» https://www.youtube.com/watch?v=ow4ZOyWCJMo
это обычные гбшные сказки,сорм сколько отследили преступников?телефоные террористы наносили миллионные убытки,где отдел к?телеграмм показал уровень гб инженеров,а здесь у нас не логинов заходим через впн и тор привет сорму,и спасибо алексею повышаем свой уровень
Да согласен, уровень «русских хакеров выбравших Трампа» на лицо. Такого позора с телеграммом и законом яровой еще нигде небыло.но лучше перебдеть чем недобдеть. Могут и гбшники нанять свободных художников. Оутсорсинг рулит — и дать им сорм в помощь. То что было с телеграммом и дурацким законом о хранении данных показатель как далеко правительство (где кстати и президент неумеет компом пользоваться) далеки от этого всего. …………………………………….. …. в стране где правительство строит электронное государство и неумеет даже винду поставить сами.. это правительство а не гбшники. Те тож любят анонимничить.
Alexey :
Ребят, я разделяю ваше мнение. Но не нужно про политику – просто чтобы разных кремлеботов не набежало и мне не пришлось тратить время на лишнюю модерацию. Кстати, сейчас всё отлично – очень адекватные посетители сайта, задумываюсь, чтобы отключить предварительную модерацию. И особенно не нужно призывов к противоправным действиям (DDoS’у в том числе) – им от этого ничего не будет, а мне, как владельцу этого сайта, может аукнуться. Ну и само-собой, мы с вами изучаем infosec чтобы сделать информационные технологии защищённее, а не чтобы совершать противоправные деяния.
кукумария в :
Ссылка на зарубежные хостеры не рабит((( просто не нажимаеться. Русские хостеры открываються.
Alexey :
Спасибо, поправил.
Извеняюсь… поделюсь своей бедой . Cоздал VPS на Ubuntu 16.04 -i686minimal Установил openvpn создал ключи раскидал по машинам Но при создании на сервере файла server.conf обнаружил что папки server несуществует. (у меня на попугае она есть) Создал ее руками и сделал там файл server.conf но при команде (openvpn /etc/openvpn/server/server.conf) пишеться что — Options error: —explicit-exit-notify cannont be used with —mode server Use —help for more information мож я нуб( это мой первый раз))) Может что подскажите?
Alexey :
Приветствую! Поддержка директивы
explicit-exit-notify 1
Была добавлена в OpenVPN начиная с версии 2.4. Вариантов два: 1) из файла /etc/openvpn/server/server.conf Удалить директиву
explicit-exit-notify 1
(это не критично) 2) использовать более новую версию Ubuntu/Debian, где в репозиториях уже OpenVPN 2.4 П.с. Просто из любопытства, почему за основу серверной ОС вы берёте Ubuntu, а не берёте Debian-minimal последней версии? Я спрашиваю, поскольку в минимальных версиях там всё равно в основном нет «супер плюшек Ubuntu», зато есть устаревший софт. Кстати, в Ubuntu 17.10 уже OpenVPN 2.4.
Ну тут причин две — первая) я сначало поставил дебиан и не минимальный и что то у меня с при установке сети не пошло с сетевым интерфейсом, сеть установщик никак неловил на VPS…Вот и схватился за то что работает…) — Вторая — Я нуб))) Всем этим интересным я занялся где то с месяц назад) Тогда же впервые увидил и Linux))) Огромное спасибо) Дождусь пока ноут зарядиться. А то разрядил его за день…и буду пробывать снова. Повторение мать учения)
Alexey :
Сразу предупрежу о другой возможно ошибке. Не знаю, будет ли эта проблема на минимальной версии Ubuntu, но на настольной Ubuntu порт UDP 53 занят процессом systemd-resolve. Можно проверить, занят ли этот порт:
netstat -tulpn | grep ":53 "
Если занят, то используйте любой другой, не занятый – в конфигурационных файлах OpenVPN сервера и клиента это директива port 53.
кукумария в :
спасибо, переставил на дебиан9минимал и все пошло…запустился сервак успешно завтра уже буду воевать с клиентами на виндов и попугае. ) Весь день проковырялся… ппц но полезно. Огромное спасибо.
кукумария в :
дополнение в debian9 — netstat не работает там надо lsof -i:номер порта а далее kill если надо
кукумария в :
и еще сори за флуд с kali или попугая на vps можно зайти по команде в терминале ssh root@ipсервера вводим пароль и погнали) может помочь комуто.
Есть еще невероятно простой способ, с помощью графического приложения https://github.com/delfer/ssheller
Код открыт, работает под Windows, macOS и Linux.
Не требуется никакого доп. софта. И сервер настроит, и файл подключения скачает.
Гигантское спасибо за инструкцию, просто выше всяких похвал
Здравствуйте! Цель — настроить vpn на Linux Mint 19.1. Удобнее не из командной строки запускать, а вручную, кликом на сетевые соединения. При настрйке нужно добавить файлы сертификатов. У меня есть файл с расширением .ovpn (создал на серваке по простой инструкции в несколько команд). Вопрос. Как можно извлечь из него сертификаты, чтобы потом вручную добавить?
Alexey :
Думаю, вы собираетесь использовать NetworkManager, эта программа прекрасно понимает файлы .ovpn со встроенными сертификатами. Для этого нажмите на иконку Wi-Fi в панели рядом с часами, там выберите Network Settings (на русском наверное будет Настройки сети). В открывшемся окне внизу слева нажмите плюсик (+) и там нажмите Import from file (на русском будет Импортировать из файла). NetworkManager сам извлечёт сертификаты и сохранит куда нужно. Если всё равно нужно извлечь сертификаты вручную, то откройте .ovpn файл любым текстовым редактором — вы увидите сертификаты. Сохраните их в отдельные текстовые файлы. Проще говоря, делайте как в этом разделе, но только задом наперёд.
1000 раз извиняюсь, но уж помогите коли можете… Да, я только начинаю изучать все связанное с линуксом, поэтому вопрос «нубский». Дошел я до Easy RSA и на этом все кончилось(( init-pki и build-ca no such file…
cd /usr/share/easy-rsa export EASYRSA=$(pwd) ./easyrsa init-pki ./easyrsa build-ca
куда податься пока не могу понять ибо с OpenVPN Easy-RSA определенно устанавливается(пытался установить отдельно — терминал уверяет что уже все есть). В папке usr/share/easy-rsa существует только build-ca (из требуемых мануалом)
Alexey :
Приветствую! Напишите, какой у вас дистрибутив Linux? Ещё посмотрите, пожалуйста, на раздел под спойлером «Для старой версии — больше не актуально» — я специально его не удалил, так как для некоторых он может быть всё же актуальным. Возможно, команды из этого раздела у вас сработают.
Да, версию забыл указать, отправил и из за модерации не смог оперативно исправить — пробовал на убунту 18.04LTS (устанавливается easy-RSA 2.2 через apt-get install easy-rsa, хотя как вижу в большинстве мануалов во всю используется 3 версия) так же пробовал на Debian (на VPS’е от digital ocean) эффект прям такой же, хотя это совсем и не удивило. Пробовал с GitHub загрузить третью версию, но пока не разобрался, после работы попробую по вашему совету, спасибо
Спасибо за ответ, с этим разобрался — сработало именно то что больше не актуально) и, к моему стыду, действовал я не от имени root… sudo не спасало(бала куча ругани в терминале на необходимость «source ./vars») и тут под пивом вспомнил про «sudo -i», а дальше с мелкими «перефразированиями» все пошло как надо) неоднократно перечитывал и старался вникнуть во все что написано (чтоб не копипастить не понимая как это работает), возможно из-за этого openvpn и кажется чем то невероятно непростым. Так или иначе надеюсь с клиентскими ключами проблем далее не возникнет(сегодня не возьмусь — пиво дошло до мозга). Спасибо за интересные материалы (не только касаемые openvpn — уже многое прочел) и помощь в решении сего недоразумения!
Алексей,
интернет через wifi вопрос:
можно ли поставить openvpn сервер и клиента на один ноутбук с debian(ubuntu) и с этого ноута пользоваться vpn через wifi
или надо поставить сервер на одни комп а пользоваться vpn с другого.
Спасибо.
Alexey :
Может быть я не совсем понимаю, что вы имеете ввиду, но случай, когда и клиент и сервер на одном компьютере кажется бессмысленным. В принципе можно сделать так, что клиент на компьютере будет подключён к OpenVPN серверу, который находится на этом же компьютере. НО: OpenVPN сервер будет выходить в Интернет с этого же компьютера, в результате: а) IP адрес будет таким же, как и изначально, б) трафик от OpenVPN сервера, когда он выходит в Интернет, не зашифрован. По итогу для условного «внешнего наблюдателя» в трафике с этого компьютера абсолютно ничего не поменяется. Случаи, когда OpenVPN сервер и клиент на одном компьютере имеет смысл: а) тестирование настроек OpenVPN (например, у вас нет VPS сервера, но хочется попробовать свои силы в настройке OpenVPN); б) тестирование виртуальной частной сети с использованием виртуальных компьютеров: можно настроить несколько виртуальных машин VirtualBox на одном компьютере, подключить их к OpenVPN серверу, который также может быть виртуальной машиной, и в этой системе делать разные тесты по маршрутизации и настройки сервисов внутри виртуальной частной сети. Но это уже только для тех, кто чётко понимает для чего ему это. Для подмены своего IP и шифрования выходящего во вне трафика это не поможет.
Как удалить ненужное openVPN подключение?
В меню Настройки — Дополнительно есть пункт папки с конфигами
В моем случае это C:\Users\alexv\OpenVPN\config
в этой папке лежат ovpn файлы конфига подключения, либо доп папки с сертификатами, ключами и конфигами. В этой папке удали папку с ненужным конфигом и файлами либо ненужный ovpn файл.
Ответ написан более года назад
Комментировать
Нравится 5 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- Windows
- +3 ещё
Установка Zabbix Agent на большое количество машин Windows без домена?
- 3 подписчика
- 12 часов назад
- 93 просмотра
PfSense OpenVPN Server + Linux-client
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
Tano
отредактировано
werter, я проверил ваши предложения, но результат был тот же.
Comonn name верный, сертификаты не «заглушены», я лишь сделал заготовку, чтобы потом можно были их туда вписывать, там сейчас закрытых сертификатов нуль, но я для пробы поставил NONE, в любом случае ничего не изменилось.
Пока читал разные источники наткнулся на эту страницу https://doc.pfsense.org/index.php/Why_won’t_OpenVPN_push_routes
Поэтому решил вернуться опять к варианту когда за работу мобильных клиентов будет отвечать opnevpn server — REMOTE ACCESS SSL|TLS, а для соединения двух и более локальных сетей (для чего я и затеял весь этот сыр бор) будет отвечать другой openvpn server — Peer to peer, только уже настроил его по варианту SSL|TSL, а не Shared key как было ранее.
В итоге есть двухсторонняя связь между главной и удаленной сетью, — УРА.
В перспективе я подключу еще одну удаленную сеть по такому же принципу и постараюсь обеспечить связь каждой сети с каждой не зависимо от каждой.
Сейчас же идем дальше, подключаю мобильного клиента, в конкретном случае планшет, имеем полный доступ в главную сеть, но нет доступа в удаленную, не роутит PFSENSE из одного Openvpn сервер в другой…
Добавил таблицу маршрутов которая сейчас сформировалась на pfsense, также лог сервера OVPNS при подключении к нему планшет:
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 SENT CONTROL [16_VPN_C2]: ‘PUSH_REPLY,route 192.168.1.0 255.255.255.0,route 192.168.12.0 255.255.255.0,route 192.168.87.0 255.255.255.0,ifconfig 10.0.0.6 10.0.0.5’ (status=1)
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 send_push_reply(): safe_cap=940
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 PUSH: Received control message: ‘PUSH_REQUEST’
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 MULTI: primary virtual IP for 16_VPN_C2/217.118.78.123:39394: 10.0.0.6
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 MULTI: Learn: 10.0.0.6 -> 16_VPN_C2/217.118.78.123:39394
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 MULTI_sva: pool returned IPv4=10.0.0.6, IPv6=(Not enabled)
Mar 13 01:20:15 openvpn[69378]: 16_VPN_C2/217.118.78.123:39394 OPTIONS IMPORT: reading client specific options from: /var/etc/openvpn-csc/16_VPN_C2
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 [16_VPN_C2] Peer Connection Initiated with [AF_INET]217.118.78.123:39394
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Data Channel Decrypt: Using 160 bit message hash ‘SHA1’ for HMAC authentication
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Data Channel Decrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Data Channel Encrypt: Using 160 bit message hash ‘SHA1’ for HMAC authentication
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 Data Channel Encrypt: Cipher ‘AES-256-CBC’ initialized with 256 bit key
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 VERIFY OK: depth=0, C=RU, ST=SPB, L=SPB, O=16, emailAddress=tano@16.spb.ru, CN=16_VPN_C2
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 VERIFY SCRIPT OK: depth=0, C=RU, ST=SPB, L=SPB, O=16, emailAddress=tano@16.spb.ru, CN=16_VPN_C2
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 VERIFY OK: depth=1, C=RU, ST=SPB, L=SPB, O=16, emailAddress=tano@16.spb.ru, CN=16_CA
Mar 13 01:20:15 openvpn[69378]: 217.118.78.123:39394 VERIFY SCRIPT OK: depth=1, C=RU, ST=SPB, L=SPB, O=16, emailAddress=tano@16.spb.ru, CN=16_CA
Mar 13 01:20:13 openvpn[69378]: 217.118.78.123:39394 TLS: Initial packet from [AF_INET]217.118.78.123:39394, sid=1f71d622 811fd4e0
Mar 13 01:19:37 openvpn[69378]: 16_VPN_C2/217.118.78.123:39389 SIGTERM[soft,remote-exit] received, client-instance exiting В его настройках Client Specific Overrides — common names — 16_VPN_C2 указал в разделе IPv4 Local Network/s все три сети к которым хочу обеспечить доступ, в итоге в сети: 192.168.1.0/24 и 192.168.12.0/24 доступ есть, а вот в удаленную есть нет.
В настройках его сервера ничего не менял, кроме того, что вы советовали, на всякий случае его тоже выкладываю. ![Routing tables PFSENSE TWO ovpnserver.JPG](/public/imported_attachments/1/Routing tables PFSENSE TWO ovpnserver.JPG)
![Routing tables PFSENSE TWO ovpnserver.JPG_thumb](/public/imported_attachments/1/Routing tables PFSENSE TWO ovpnserver.JPG_thumb)
![ovpn server remote access2.JPG](/public/imported_attachments/1/ovpn server remote access2.JPG)
![ovpn server remote access2.JPG_thumb](/public/imported_attachments/1/ovpn server remote access2.JPG_thumb)
werter