Настройка на NAS Synology OpenVPN сервера по типу site-to-site

Всем привет!

Знаю, что тем с настройками OpenVPN сделано множество. Однако, сам столкнулся с тем, что систематизированной информации по теме заголовка в принципе нет и решил поделиться опытом в первую очередь с теми, кто не является гуру в администрировании OpenVPN, но хотел бы добиться подключения удаленных подсетей по типу site-to-site на NAS Synology. Заодно и для себя заметку оставить на память.

Итак. Есть NAS Synology DS918+ с установленным пакетом VPN Server, настроенным OpenVPN и пользователями, которые могут коннектиться к VPN серверу. Не буду вдаваться в подробности настройки сервера в интерфейсе DSM (веб портал NAS сервера). Эта информация есть на сайте производителя.

Проблема в том, что интерфейс DSM (на дату публикации версия 6.2.3) имеет ограниченное количество настроек для управления OpenVPN сервером. В нашем случае требуется схема соединения по типу site-to-site, т.е. хосты подсети клиента VPN должны видеть хосты подсети VPN сервера и наоборот. Типовые настройки, доступные на NAS, позволяют настроить доступ только от хостов подсети клиента VPN до хостов подсети сервера VPN.

Для настройки доступа к подсетям клиентов VPN из подсети VPN сервера нам понадобится зайти на NAS через SSH и настроить файл конфигурации OpenVPN сервера вручную.

Для редактирования файлов на NAS по SSH мне удобнее пользоваться Midnight Commander. Для этого я в Центре пакетов подключил источник packages.synocommunity.com и установил пакет Midnight Commander.

Настройка на NAS Synology OpenVPN сервера по типу site-to-site

Заходим по SSH на NAS под учетной записью с правами администратора.

Настройка на NAS Synology OpenVPN сервера по типу site-to-site

Набираем sudo su и ещё раз указываем пароль администратора:

Настройка на NAS Synology OpenVPN сервера по типу site-to-site

Набираем команду mc и запускаем Midnight Commander:

Настройка на NAS Synology OpenVPN сервера по типу site-to-site

Далее переходим в каталог /var/packages/VPNCenter/etc/openvpn/ и находим файл openvpn.conf:

Настройка на NAS Synology OpenVPN сервера по типу site-to-site

По задаче нам необходимо подключить 2 удаленные подсети. Для этого заводим через DSM 2 учетные записи на NAS с ограниченными правами на все службы NAS и выдаём доступ только на VPN подключение в настройках VPN Server. Для каждого клиента нам нужно настроить статичный IP выделяемый VPN сервером и роутинг через этот IP трафика с подсети VPN сервера на подсеть VPN клиента.

Исходные данные:

Подсеть VPN сервера: 192.168.1.0/24.
Пул адресов OpenVPN сервера 10.8.0.0/24. Сам OpenVPN сервер получает адрес 10.8.0.1.
Подсеть VPN клиента 1 (пользователь VPN): 192.168.10.0/24, должен получать на OpenVPN сервере статичный адрес 10.8.0.5
Подсеть VPN клиента 2 (пользователь VPN-GUST): 192.168.5.0/24, должен получать на OpenVPN сервере статичный адрес 10.8.0.4

В каталоге настроек создаем папку ccd и неё создаём файлы настроек с названиями, соответствующими логинам пользователей.

Настройка на NAS Synology OpenVPN сервера по типу site-to-site

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

Настройка на NAS Synology OpenVPN сервера по типу site-to-site

Для пользователя VPN-GUST в файле прописываем следующие:

Настройка на NAS Synology OpenVPN сервера по типу site-to-site

Остаётся только поднастроить конфигурацию OpenVPN сервера — добавить параметр для чтения настроек клиентов и добавить роутинги на подсети клиентов:

Настройка на NAS Synology OpenVPN сервера по типу site-to-site

В приведенном скриншоте первые 2 строчки конфига настраиваются с помощью интерфейса DSM (простановка галки на параметре «Разрешить клиентам осуществлять доступ к локальной сети сервера» в настройках OpenVPN сервера).

Строка client-config-dir ccd указывает, что настройки клиентов находятся в папке ccd.

Далее 2 строки настройки добавляют роуты на подсети клиентов через соответствующие шлюзы OpenVPN.

И наконец для правильной работы необходимо применить топологию subnet.
Все остальные настройки в файле не трогаем.

После прописывания настроек не забываем перезагрузить сервис VPN Server в менеджере пакетов. На хостах или шлюзе для хостов подсети сервера прописать роуты на подсети клиентов через NAS.
В моём случае шлюзом для всех хостов подсети, в которой находится NAS (его IP 192.168.1.3), выступал роутер (192.168.1.1). На этом роутере я добавил в статическую таблицу маршрутов записи маршрутизации для сетей 192.168.5.0/24 и 192.168.10.0/24 на шлюз 192.168.1.3 (NAS).

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

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

Источник: habr.com