Итак волею судеб вынужден был поднять на windows 10 (больше под эту цель выделить просто нечего) простенький сервер openvpn, 1 подсеть, до 10 клиентов, суть - доступ к кое-какому серверу который стоит в локалке за сервером опенвпн, будут ли клиенты видеть друг друга - неважно.
Гайдов по настройке конфига сервера, клиентов, выпуску сертификатов через easyrsa - вал, выбирай любой и делай по нему, хочу отметить некоторые особенности, с которыми столкнулся, может кому-то поможет:
1)при попытке первого запуска easyrsa - она даёт вовсе не то что написано в гайде, а ошибку "openssl is missing".
Всё просто, не установлена софтина win32openssl качаем её с сайта производителя
https://slproweb.com/products/Win32OpenSSL.html
устанавливаем как обычный msi, перезапускаем easyrsa и вуаля после ввода start.bat она даёт нам то что и должна была.
2)если в конфиге сервера ввели строчки dev tun и client to client - то крайне рекомендую ввести и строчку topology subnet, потому что по умолчанию в такой конфигурации опенВПН будет работать в своей сумрачной топологии net30 (это когда каждому клиенту выдаётся комплект из 3 или 4 айпишников с узкой маской /30, которую надо обязательно учитывать в опциях push route).
Если хотите обойтись двумя простыми строчками "push route 0.0.0.0 (сеть используемая для выдачи адресов внутри впн) mask 255.255.255.0" и "push route 0.0.0.0 (локалка за сервером опенвпн к которой и нужен доступ") mask 255.255.255.0" в настройках маршрутизации в конфиге сервера - используйте subnet
3)Винде надо обязательно включить её маршрутизатор (без него она не будет роутить пакеты в сеть за собой), делается это в реестре по адресу
Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters параметру IPenablerouter надо выставить значение 1.
И возможно придётся включить службу RRAS (по идее она должна сама включиться после правки этого параметра в реестре и перезагрузки, но у меня не включилась, идём в службы ищем "Маршрутизация и удалённый доступ" ставим её на "запуск автоматически" и запускаем)
4)Интерфейс (tap в моём случае), который указан в строчке dev-node конфига сервера должен называться строго так же, как он прописан в конфиге (включая регистры).
Для него же расшариваем ethernet подключение вашего сервера.
Без этого - пакеты в сеть за сервером - не пойдут.
5)Многие гайды пишут что после завершения написания конфига, сохранения его и перезапуска службы Опенвпн - выделенный для неё интерфейс должен сам перейти в состояние "подключено", это не так, в состояние подключен он перейдёт только после того как вы нажмёте "подключиться" в GUI на сервере (опять же когда сервер сам к себе не подключен - у клиентов - ничего не работает, естественно, ведь гейтом для наворачиваемых маршрутов всем указан именно первый айпишник частной подсети используемой для самой опенвпн, который всегда присваивается серверу).
6)Создайте правило в брандмауэре сервера - разрешающее подключение на его порт указанный в конфиге клиентов и сервера - обязательно.
7)Если вдруг, вы перезагрузили сервер опенвпн и у вас стала недоступна локалка за ним (но впн подключается и клиенты по частным адресам впн пингуются, а вы ничего не меняли - проверьте не включился ли какой-нибудь доп.файервол на сервере (у меня этим eset грешит, любит завести свой файервол никого ни о чём не спрашивая, после перезагрузки или какого-нибудь большого обновления), если ТОЧНО нигде ничего не блочит, а сеть - всё равно недоступна - это греет башку служба RRAS, у меня проявляется так:
Идёшь ты такой в services.msc находишь там её, у неё статус "выполняется", думаешь "ну всё в порядке" и идёшь искать другие причины неработы, но если тыкнуть в неё - то увидишь что метод запуска стоит "отключена" после перезагрузки (почему так - не приложу ума), меняешь метод запуска, перезапускаешь, всё начинает работать.
Никогда до этого с ОпенВПН не сталкивался, делал всё в первый раз, набил видимо совершенно нубские шишки, может мой опыт будет кому-то полезен. Гайды утверждают что самый православный вариант поднятия опенвпн - на CentOS, но мне пришлось делать исходя из того что есть.
Первый пост))