Андрей Смирнов
Время чтения: ~9 мин.
Просмотров: 4

Учим NAS Synology маршрутизировать трафик в OpenVPN туннель с аутентификацией по сертификату

  • Из песочницы
  • Tutorial

b08b34f28648cbd23ecf1d3179729ed4.jpg Понадобилось мне чтобы некоторые сайты думали что я нахожусь не в Европе, а в России. Да и свой интерес к торрентам хотелось скрыть от местных властей (не уверен что они следят, но тем не менее.) И были у меня файл конфигурации клиента OpenVPN и сертификаты к нему. Кроме того, очень не хотелось ставить OpenVPN на каждое устройство в сети. Домашний маршрутизатор относится к крайне нижней ценовой группе и точно не умеет работать с OpenVPN. И вспомнил я про свое сетевое хранилища данных, которое у меня только и делает что данные хранит. Раньше еще и торренты качало, но после переезда от торрентов было решено временно отказаться. Вот его-то (Synology DS211j) и было решено превратить в шлюз в Российский интернет, а то что процессорные мощности простаивают. Заранее предупреждаю что все манипуляции были произведены на DSM версии 5.0-4458 и на других версиях все может быть иначе.

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

В первую очередь заходим в web-интерфейс нашего хранилища в раздел «Панель управления>Сеть>Сетевой интерфейс» и создаем там профиль OpenVPN. К сожалению web-интерфейс рассчитан только на создание подключения с парольной аутентификацией. Нас же интересует аутентификация по сертификату. Поэтому заполняем предложенные поля любыми данными:fc0ec3c4a2ea9e4cb095b55aedafaf94.jpg Щелкаем далее, и устанавливаем следующие настройки:4bfcbeae8f9ba02f7e9925d8d6c8f1c4.jpg Обратите внимание на второй пункт настроек. Что имеется в виду не очень понятно. В DSM версии 4.3 таких недостатков перевода мною замечено не было. Затем в разделе «Панель управления>Терминал и SNMP>Терминал» включаем тот способ коммуникации с хранилищем который вам идеологически ближе:d48f0605a963fd483c2d0d5e7b906987.jpg Подключаемся к synology c использованием выбранного протокола. Затем нам будет необходимо поправить созданный автоматически файл /usr/syno/etc/synovpnclient/openvpn/client_oXXXXXXXXXX. Гуру vi могут это сделать прямо в консоли, остальным может быть удобно скопировать файл к себе в папку общего доступа и отредактировать файл там с использованием более привычных инструментов. Делается это следующей командойcp /usr/syno/etc/synovpnclient/openvpn/client_oXXXXXXXXXX /volume1/Share При редактировании файла обратите внимание что у Linux и windows разные подходы к обозначению конца строки, поэтому используйте текстовый редактор который сможет сохранить файл в привычном synology формате. В моем случае файл конфигурации выглядит следующим образом:clientdev tunproto udpremote 255.255.255.255 1194resolv-retry infinitenobindpersist-keypersist-tunca keys/ca.crtcert keys/client.crtkey keys/client.keyns-cert-type servercipher AES-128-CBCauth SHA1redirect-gateway def1 Затем с помощью команды mkdir создаем директорию keys в директории /usr/syno/etc/synovpnclient/openvpn/ куда и положим с помощью команды cp имеющиеся у нас файлы сертификатов и ключи от них. С помощью этой же команды необходимо скопировать измененный файл конфигурации обратно в соответствующую директорию. Для того чтобы подключиться к серверу OpenVPN необходимо зайти в «Панель управления>Сеть>Сетевой интерфейс», выбрать созданное нами подключение и нажать на кнопку «Подключить». Благодаря строке «redirect-gateway def1» в конфигурационном файле synology будет использовать созданный туннель в качестве основного канала для доступа к интернет, а при отключении от VPN сервера наше хранилище будет вновь использовать имеющийся в локальной сети маршрутизатор для доступа в глобальную сеть.

Настраиваем остальные устройства

Теперь осталось научить остальные устройства выбирать путь в интернет. Для этого у меня создано два скрипта с следующим содержимым: напрямую.bat:route change 0.0.0.0 mask 0.0.0.0 255.255.255.254 metric 1 через туннель.bat:route change 0.0.0.0 mask 0.0.0.0 255.255.255.255 metric 1 где 255.255.255.254 — адрес домашнего маршрутизатора, а 255.255.255.255 — адрес synology в локальной сети. При необходимости выпустить одно из устройств в интернет через российский канал на synology через web-интерфейс поднимается VPN подключение, а на ПК, с помощью скрипта, меняется шлюз по умолчанию. Когда необходимость пропадает — подключение на synology гасится, а на ПК, с помощью другого скрипта, шлюз по умолчанию возвращается обратно.

Скорость

При моем паттерне использования подобной конфигурации нагрузка на процессор хранилища не превышает 80% что много, но не критично. Не стоит также забывать, что подобная конфигурация вносит большие задержки, а скорость через туннель в моем случае не превышает 8 мегабит при скорости домашнего интернета в 20 мегабит и скорости в 40 мегабит на том конце туннеля.

Давно искал возможность создать собственный VPN сервер, но всё как то откладывал реализацию на потом. И вот совсем недавно всё таки решил его реализовать.  Вариантов виделось два — установить LINUX и настроить VPN на купленом по случаю неттопе с SSD диском или использовать возможности моего NAS Synology и настроить на нём OpenVPN сервер.

Решил пойти вторым путём и настроить VPN сервер на домашнем сетевом накопителе Synology, тем более, что в составе его ПО уже имеется соответствующее приложение.

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

Отвлечёмся на минуту от повествования что бы вспомнить о том, что такое VPN и решить для чего же нам может потребоваться собственный сервер VPN.

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

В моём случае VPN-сервер требовался для создания безопасного и защищённого канала при работе со смартфона или планшета через сети 3G, публичные точки доступа в кафе и т.п., а так же что бы не искушать службу безопасности работодателя, внимательно отслеживающую трафик пользователей локальной сети офиса. К тому же все мои сайты администрируются только с определённых IP адресов, поэтому VPN даёт мне возможность безпрепятственно получить доступ к панели управления не зависимо от моего местоположения. Для этих задач вполне достаточно скромного домашнего Open VPN сервера, схема работы которого довольно проста:Для повторения моего примера Вам понадобится: 1 NAS Synology — описанная настройка проводилась на модели 110J, которая служит верой и правдой уже 5 лет в режиме 24/7/365; 2 Интернет соединение с постоянным IP адресом — может быть аналогично можно настроить и с динамическим IP, например используя службу DynDNS или подобную ей; 3 Устройство-клиент, например смартфон или планшет на Android с установленным и настроенным соответствующим ПО — об этом будет отдельная статья.

На самом деле настойка OpenVPN сервера на Synology проста и не займёт у Вас много времени.

Для начала в менеджере пакетов Synology устанавливаем пакет VPN Server. Приложение готово к работе практически «из коробки», в этом есть огромный плюс, т.к. нет необходимости возиться с правкой кода через SSH и прочих заморочек.

Совсем без настроек не обойдётся, поэтому рассмотрим по порядку:

В меню «Настройки» выберем Сетевой интерфейс (хотя он у нас всего один) и активируем функцию «Предоставлять права доступа VPN новым пользователям» что бы вновь добавленные пользователи NAS Synology могли пользоваться VPN используя собственный логин и пароль.

Пакет VPN Server для NAS Synology может работать со следующими типами подключений: VPN PPTP, OpenVPN и L2TP/IPSec. Нас будет интересовать OpenVPN, как самый простой и быстрый способ настройки безопасного соединения.

Переходим на вкладку «OpenVPN», активируем сервер OpenVPN, выбираем максимальное число подключений (вариантов два — доступны 3 или 5 подключений), обязательно меняем порт! , включаем сжатие и разрешаем клиентам доступ к ресурсам локальной сети сервера, применяем внесённые изменения. В завершение нажимаем кнопку «Экспортировать конфигурацию» и сохраняем архив к себе на диск, в дальнейшем он понадобится нам при конфигурации клиентов. Это действие придётся повторять каждый раз, когда Вы вносите изменения в настройки сервера VPN.

На этом настройка OpenVPN сервера на Synology закончена.

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

Проверяем статус сервера:

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

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

Желаю успеха в настройке OpenVPN сервера на Synology! Свои вопросы, пожелания и предложения вы можете оставлять в комментариях.

date.png 24 июля 2014 г.user.pngpashichpost-view.png Просмотров: 17384rss.pngRSScomments.pngОбсудитьcategory.pngСетевые файловые хранилищаtag.pngNAS

syn-ftp12.jpg

Сегодня рассказываю как настроить VPN сервер на сетевом файловом хранилище Synology DiskStation 212+, завтра рассказываю (если не забью ) как настроить клиентов для подключения к этому серверу (даже если забью завтра, обязательно расскажу в ближайшие пару дней)

Итак, для начала нам нужно поставить пакет, который так и называется VPN Server.Топаем в менеджер пакетов, находим нужный нам и устанавливаем его

syn3.png

Собственно, основная часть на этом готова Ничего конфигурировать руками не надо, пакет полностью готов к использованию «из коробки», однако, на паре настроек я заострю внимание.

syn2.png

Начнем по порядку:

Пункт Меню

syn9.png

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

Пункт Права доступа

syn4.png

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

Пункт OpenVPN

syn7.png

Здесь просто ставим галку на «Включить OpenVPN», указываем адресацию сети и максимальное количество разрешенных клиентов. После этого жмем кнопку «Экспортировать конфигурацию». И файл конфигурации пакуется в архив и скачивается

syn8.png

Он будет нужен нам для настройки клиентов, что с ним делать расскажу в следующей статье.

В пункте Обзор

syn1.png

Можно увидеть текущее состояние VPN сетей. В моем случае включена сеть OpenVPN, видна ее адресация и количество подключенных клиентов — 1.

В пункте Список подключений

syn6.png

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

Ну и в Журнале

syn5.png

Можно смотреть историю подключений к VPN серверу, с указанием ip адреса клиента, времени и даты подключения.

Вот такая нехитрая настройка VPN на NAS Synology DiskStation 212+ из коробки )

Не знаете что подарить человеку, который прется по различным гаджетам? Рассмотрите такой вариант и узнайте его ценуiwatch цена. Штуковина одновременно и полезная, и технически интересная

Поделиться с друзьями  

Еще записи по темеИспользуемые источники:

  • https://habr.com/post/216197/
  • http://am-diary.tw1.ru/nastroyka-openvpn-servera-na-synology-diskstation-110j/
  • http://pashich-ssd.ru/page/nastraivaem-vpn-server-na-nas-synology-diskstation-212

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации