Здравейте на всички!
Знам, че за настройките на 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. За целта, в Центъра за пакети добавих източника и инсталирах пакета Midnight Commander.

Влизаме по SSH на NAS с акаунт с администраторски права.

Въведете sudo su и отново посочете паролата за администратора:

Въвеждаме командата mc и стартираме Midnight Commander:

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

В нашия случай, необходимо е да свържем две отдалечени подсистеми. За целта създаваме две акаунта в NAS с ограничени права на всички услуги и предоставяме достъп само за VPN връзка в настройките на VPN сървъра. За всеки клиент трябва да настроим статичен IP, предоставян от VPN сървъра, и маршрутизация на трафика от подсистемата на VPN сървъра към подсистемата на VPN клиента през този IP.
Изходни данни:
Подсистема на 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, който трябва да получава статичен адрес 10.8.0.5 от OpenVPN сървъра.
Клиентска VPN подсистема 2 (потребител VPN-GUST): 192.168.5.0/24, трябва да получи статичен адрес 10.8.0.4 на OpenVPN сървъра.
В директорията за настройки създаваме папка ccd и в нея създаваме файлове за настройки с имена, отговарящи на логините на потребителите.

За потребителя VPN в файла записваме следните настройки:

За потребителя VPN-GUST в файла записваме следните:

Остава само да подшлем конфигурацията на OpenVPN сървъра — да добавим параметър за четене на клиентските настройки и да добавим маршрути към клиентските подсистеми:

На предоставения скрийншот първите 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
