Маршрутизация OpenVPN
-
"На форуме ixbt есть ветка по openvpn. Там на русском хорошо описаны директивы. "
Подскажу, для того, чтобы сеть за сервером увидела сеть за клиентом на сервере нужна директива route (ее роль выполняет пункт remote network в настройках сервера)
Наоборот - директива iroute на сервере в настройках Client specific overrides.Выше описанное касается только туннеля, построенного на сертификатах.
-
То же наступил на такие грабли, ток сервером у меня PfSense с сертификатами, а клиентом Zyxel на NDIS.
С Zyxel в сетку за PfSense ходит прекрасно (видать сам OpenVPN разруливает маршруты), а вот в обратку никак. -
@ptz-m said in Маршрутизация OpenVPN:
Zyxel
Как написано выше - про route и iroute для клиента на Zyxel не забыли?
Плюс иногда помогает правило на LAN pfSense :
IPv4 * LAN net * a.b.с.d/24 *
a.b.с.d/24 - сеть за Zyxel
Правило поставить повыше, затем reset states перезакрузка. -
Ох как туго мозг включается после отпуска, да ещё и интерфейс форума переделали...
@pigbrother
Насколько помню iroute в OpenVPN давным давно "грохнули" как атавизм, и без него норм работает на новых версиях.
LAN правило - м-м, оно вместо статического маршрута работает?P.S. ещё вроде как tap на TCP надо переходить, а то с MultiWAN будут проблемы при UDP
P.S.S. кста, в видео, что выше, чувак делает точка-точка, а у меня точка-многоточка!
-
@ptz-m said in Маршрутизация OpenVPN:
Насколько помню iroute в OpenVPN давным давно “грохнули” как атавизм, и без него норм работает на новых версиях.
Нет, это не так.
route говорит серверу - у тебя есть маршрут в a.b.с.d/24
iroute говорит серверу, что сеть a.b.с.d/24 находится за конкретным клиентом.@ptz-m said in Маршрутизация OpenVPN:
LAN правило - м-м, оно вместо статического маршрута работает?
Нет, в pfSense иногда проявляется особенность, заставлюющая это правило создавать (если интересно - гуглите ветку на предмет negate rules)
@ptz-m said in Маршрутизация OpenVPN:
P.S. ещё вроде как tap на TCP надо переходить, а то с MultiWAN будут проблемы при UDP
Про это не слышал
-
@ptz-m said in Маршрутизация OpenVPN:
P.S. ещё вроде как tap на TCP надо переходить, а то с MultiWAN будут проблемы при UDP
Ерунда какая.
Не вводите др. участников в заблуждение.P.s. Навскидку, TAP исп-ся, если необходим широковещательный домен - единая сеть с единой адресацией в ней.
В ютубе есть офиц. канал Netgate. Рекомендую видео по OpenVPN (и не только) там. Оч. доходчиво снято. -
@pigbrother said in Маршрутизация OpenVPN:
Про это не слышал
Да суть в технологии TCP/UDP, если VPN не ответственный (не касса или канал банка) то и х с ним. В противном случае где-то тут писалось, что тупить начинает - не понимает, что канал лёг и держит сессию. Реально может стать проблемой, если настроено кол-во подключений - слоты забиваются и до свидос.
-
@ptz-m , Использую и TCP и UDP. Никакой разницы в моем случае не замечаю.
-
Вчера провёл эксперимент.
VPN - OpenVPN - Серверы - Локальные сети IPv4 кроме серверной сети 0.0 дописал клиентские 1.0 и т.д. В результате клиент перестал пинговать серверную сеть и открывать шару. Снёс изменения - пинг с клиента в серверную сеть снова пошёл, в обратку - по прежнему нет.
VPN - OpenVPN - Серверы - Специфические Настройки Клиента - Настройки Клиента - Расширенные добавил запись, с Обычное Имя (CN) соответствующие имени клиента VPN на сети 1.0, вида push "route 192.168.1.0 255.255.255.0". Толку 0%.
Межсетевой экран - Правила - LAN добавил запись Протокол IPv4 *, Источник LAN net, Порт *, Назначение 192.168.1.0, Порт *, Шлюз * и стало интереснее, согласно tracert пакеты в данном случае ходят по маршруту комп-pfsense-провайдер-заглушка. Убираем правило и маршрут меняется на комп-провайдер-заглушка. Тут возможно срабатывают правила, с которыми я воевал ранее - https://forum.netgate.com/topic/128281/multiwan-dns-do-not-override/19
Мысль вернулась к тому, что PfSense не пускает клиентам, поскольку просто не объявлен маршрут. Теперь вопрос - а как его прописать правильно? В Система - Маршрутизация - Статические Маршруты какая-то белиберда добавляется, предположу что надо в Межсетевой экран - Правила - OpenVPN добавить запись вида Протокол IPv4 *, Источник LAN net, Порт *, Назначение 192.168.1.0, Порт *, Шлюз *? -
А с каким IP виден ПК, подключивщийся из сети за Zyxel к ресурсу в сети за pfSense? Обычно это видно в логах почтовых, веб и т.д серверов.
-
Добрый.
VPN - OpenVPN - Серверы - Специфические Настройки Клиента - Настройки Клиента - Расширенные добавил запись, с Обычное Имя (CN) соответствующие имени клиента VPN на сети 1.0, вида push “route 192.168.1.0 255.255.255.0”. Толку 0%.
Enter the X.509 common name for the client certificate, or the username for VPNs utilizing password authentication. This match is case sensitive.
Т.е., если у вас впн на сертификатах + юзер и пасс - пишется имя пол-ля.
При этом пол-лю должен быть создан личный сертификат.Если только на сертификатах - правильное CN сертфиката пол-ля.
Внимательно с этим. -
@pigbrother а вот это хороший вопрос... народ пользуется шарой, на pfsense в логах разве что смотреть...
@werter said in Маршрутизация OpenVPN:
Если только на сертификатах - правильное CN сертфиката пол-ля.
Внимательно с этим.имя полностью писал -> ля-ля-ля.домен , специально 2 раза проверил
-
@ptz-m said in Маршрутизация OpenVPN:
а вот это хороший вопрос… народ пользуется шарой, на pfsense в логах разве что смотреть…
Смотреть можно на ПК с шарой. netstat, хотите в GUI -
https://live.sysinternals.com/Tcpview.exe@ptz-m said in Маршрутизация OpenVPN:
имя полностью писал -> ля-ля-ля.домен , специально 2 раза проверил
ля-ля-ля.домен? Имеется в виду CN (common name) сертификата пользователя.
-
@pigbrother
я уже глянул в ту сторону, на следующей неделе займусь этим вопросомну CN у меня есть и трёхсоставные - ля-ля-ля.город.отдел
-
Покажите скрин того, что вы считаете CN. Так нам всем понятнее будет.
-
не знаю что это даст, но вот - смотрите. берём имя из сертификата.
проблема то в маршрутизации на данный момент, идея с правилом в разделе OpenVPN ничего не дала. согласно tracert - по прежнему сыпет pf пакетами для 1.0 сети в мир вместо того что-бы гнать его в туннель. идея с правилом в LAN от pigbrother даёт хоть что-то, но опять же, трафик сыпется в дефолтный гейтвей и выкидываться в мир вместо туннеля. бредовая идея с созданием прослойки в виде "левого" гейтвея и прогоном трафика из LAN через него в failover выглядит диким костылём -
- Повторю свой вопрос :
@pigbrother said in Маршрутизация OpenVPN:
с каким IP виден ПК, подключивщийся из сети за Zyxel к ресурсу в сети за pfSense?
- Попробуйте создать пользователя с CN попроще, из 1 слова без точек и спецсимволов.
-
Добрый.
Адресация в сетях за сервером и клиентом какая ? Должна быть разной. -
Винда идентифицирует соединения из тунеля (172.) и локалку серверную (0.0).
Вообще проще через Диагностика - Редактировать файл привести конфиг сервака на данный момент из /var/etc/openvpn/server1.confcodedev ovpns1 verb 1 dev-type tap dev-node /dev/tap1 writepid /var/run/openvpn_server1.pid #user nobody #group nobody script-security 3 daemon keepalive 10 60 ping-timer-rem persist-tun persist-key proto udp4 cipher AES-256-CBC auth SHA1 up /usr/local/sbin/ovpn-linkup down /usr/local/sbin/ovpn-linkdown local XXX.XXX.XXX.XXX tls-server server 172.16.0.0 255.255.255.0 client-config-dir /var/etc/openvpn-csc/server1 tls-verify "/usr/local/sbin/ovpn_auth_verify tls 'server.ля-ля-ля.mainframe' 1" lport 1194 management /var/etc/openvpn/server1.sock unix push "route 192.168.0.0 255.255.255.0" client-to-client ca /var/etc/openvpn/server1.ca cert /var/etc/openvpn/server1.cert key /var/etc/openvpn/server1.key dh /etc/dh-parameters.2048 tls-auth /var/etc/openvpn/server1.tls-auth 0 ncp-ciphers AES-256-GCM:AES-128-GCM comp-lzo adaptive push "comp-lzo adaptive" persist-remote-ip float
P.S. глянул в ман - http://www.lissyara.su/doc/man/safety/openvpn/ , слазил client-config-dir - я так понимаю тут и лежат активные VPN - OpenVPN - Специфические Настройки Клиента - CSC специфические настройки. Вот ток не все, а только из раздела Расширенные
P.S.S. вот сразу надо было в норм конфиг OpenVPN залезть! Появилась мысль вида:
VPN - OpenVPN - Специфические Настройки Клиента - CSC специфические настройки - Расширенные нужно правильный синтаксис писать iroute 192.168.1.0 255.255.255.0
VPN - OpenVPN - Серверы - Расширенные настройки - Особые параметры прописать route 192.168.1.0 255.255.255.0
А я как дурак пишу push "route 192.168.10.0 255.255.255.0" и т.д. из хелпа PfSense.@werter
разуметься разная, в противном случае начинает глючить сеть со стороны клиента -
@ptz-m said in Маршрутизация OpenVPN:
Винда идентифицирует соединения из тунеля (172.
А должна из сети за клиентом.
@ptz-m said in Маршрутизация OpenVPN:
нужно правильный синтаксис писать iroute 192.168.1.0 255.255.255.0
Отмтайте тему назад и посчитайте, сколько раз про iroute вам тут говорили.
Момент номер 2.
Убедитесь что Zyxel не поднимает NAT для своего OpenVPN интерфейса.@ptz-m said in Маршрутизация OpenVPN:
Вообще проще через Диагностика - Редактировать файл привести конфиг сервака на данный момент из /var/etc/openvpn/server1.conf
Нет. Этого делать не надо. Если и сработает - до до первой перезагрузки. Плюс pfSense - практически идеал в смысле GUI настроек вообще, OpenVPN - в частности.
Более того, даже для iroute есть GUI-аналог, да еще хорошо откомментированный:
IPv4 Remote Network/s
These are the IPv4 networks that will be routed to this client specifically using iroute, so that a site-to-site VPN can be established. Expressed as a comma-separated list of one or more CIDR ranges. May be left blank if there are no client-side networks to be routed.
NOTE: Remember to add these subnets to the IPv4 Remote Networks list on the corresponding OpenVPN server settings.
В pfSense можно настроить OpenVPN практическти не используя поля Advanced.