Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Маршрутизация OpenVPN

    Scheduled Pinned Locked Moved Russian
    97 Posts 7 Posters 28.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • werterW
      werter
      last edited by werter

      "На форуме ixbt есть ветка по openvpn. Там на русском хорошо описаны директивы. "

      Подскажу, для того, чтобы сеть за сервером увидела сеть за клиентом на сервере нужна директива route (ее роль выполняет пункт remote network в настройках сервера)
      Наоборот - директива iroute на сервере в настройках Client specific overrides.

      Выше описанное касается только туннеля, построенного на сертификатах.

      1 Reply Last reply Reply Quote 0
      • PTZ-MP
        PTZ-M
        last edited by

        То же наступил на такие грабли, ток сервером у меня PfSense с сертификатами, а клиентом Zyxel на NDIS.
        С Zyxel в сетку за PfSense ходит прекрасно (видать сам OpenVPN разруливает маршруты), а вот в обратку никак.

        P 1 Reply Last reply Reply Quote 0
        • P
          pigbrother @PTZ-M
          last edited by pigbrother

          @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 перезакрузка.

          PTZ-MP 1 Reply Last reply Reply Quote 0
          • PTZ-MP
            PTZ-M @pigbrother
            last edited by PTZ-M

            Ох как туго мозг включается после отпуска, да ещё и интерфейс форума переделали... ☠

            @pigbrother
            Насколько помню iroute в OpenVPN давным давно "грохнули" как атавизм, и без него норм работает на новых версиях.
            LAN правило - м-м, оно вместо статического маршрута работает?

            P.S. ещё вроде как tap на TCP надо переходить, а то с MultiWAN будут проблемы при UDP

            P.S.S. кста, в видео, что выше, чувак делает точка-точка, а у меня точка-многоточка!

            P werterW 2 Replies Last reply Reply Quote 0
            • P
              pigbrother @PTZ-M
              last edited by pigbrother

              @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-MP 1 Reply Last reply Reply Quote 0
              • werterW
                werter @PTZ-M
                last edited by werter

                @ptz-m said in Маршрутизация OpenVPN:

                P.S. ещё вроде как tap на TCP надо переходить, а то с MultiWAN будут проблемы при UDP

                Ерунда какая.
                Не вводите др. участников в заблуждение.

                P.s. Навскидку, TAP исп-ся, если необходим широковещательный домен - единая сеть с единой адресацией в ней.
                В ютубе есть офиц. канал Netgate. Рекомендую видео по OpenVPN (и не только) там. Оч. доходчиво снято.

                1 Reply Last reply Reply Quote 0
                • PTZ-MP
                  PTZ-M @pigbrother
                  last edited by

                  @pigbrother said in Маршрутизация OpenVPN:

                  Про это не слышал

                  Да суть в технологии TCP/UDP, если VPN не ответственный (не касса или канал банка) то и х с ним. В противном случае где-то тут писалось, что тупить начинает - не понимает, что канал лёг и держит сессию. Реально может стать проблемой, если настроено кол-во подключений - слоты забиваются и до свидос.

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    pigbrother @PTZ-M
                    last edited by

                    @ptz-m , Использую и TCP и UDP. Никакой разницы в моем случае не замечаю.

                    PTZ-MP werterW 2 Replies Last reply Reply Quote 0
                    • PTZ-MP
                      PTZ-M @pigbrother
                      last edited by PTZ-M

                      Вчера провёл эксперимент.
                      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, Порт *, Шлюз *?

                      1 Reply Last reply Reply Quote 0
                      • P
                        pigbrother
                        last edited by

                        А с каким IP виден ПК, подключивщийся из сети за Zyxel к ресурсу в сети за pfSense? Обычно это видно в логах почтовых, веб и т.д серверов.

                        PTZ-MP 1 Reply Last reply Reply Quote 0
                        • werterW
                          werter @pigbrother
                          last edited by werter

                          Добрый.

                          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 сертфиката пол-ля.
                          Внимательно с этим.

                          1 Reply Last reply Reply Quote 0
                          • PTZ-MP
                            PTZ-M @pigbrother
                            last edited by PTZ-M

                            @pigbrother а вот это хороший вопрос... народ пользуется шарой, на pfsense в логах разве что смотреть...

                            @werter said in Маршрутизация OpenVPN:

                            Если только на сертификатах - правильное CN сертфиката пол-ля.
                            Внимательно с этим.

                            имя полностью писал -> ля-ля-ля.домен , специально 2 раза проверил

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              pigbrother @PTZ-M
                              last edited by

                              @ptz-m said in Маршрутизация OpenVPN:

                              а вот это хороший вопрос… народ пользуется шарой, на pfsense в логах разве что смотреть…

                              Смотреть можно на ПК с шарой. netstat, хотите в GUI -
                              https://live.sysinternals.com/Tcpview.exe

                              @ptz-m said in Маршрутизация OpenVPN:

                              имя полностью писал -> ля-ля-ля.домен , специально 2 раза проверил

                              ля-ля-ля.домен? Имеется в виду CN (common name) сертификата пользователя.

                              PTZ-MP 1 Reply Last reply Reply Quote 0
                              • PTZ-MP
                                PTZ-M @pigbrother
                                last edited by

                                @pigbrother
                                я уже глянул в ту сторону, на следующей неделе займусь этим вопросом

                                ну CN у меня есть и трёхсоставные - ля-ля-ля.город.отдел

                                1 Reply Last reply Reply Quote 0
                                • werterW
                                  werter
                                  last edited by

                                  Покажите скрин того, что вы считаете CN. Так нам всем понятнее будет.

                                  PTZ-MP 1 Reply Last reply Reply Quote 0
                                  • PTZ-MP
                                    PTZ-M @werter
                                    last edited by PTZ-M

                                    @werter 0_1529094343166_cn.jpg

                                    не знаю что это даст, но вот - смотрите. берём имя из сертификата.
                                    проблема то в маршрутизации на данный момент, идея с правилом в разделе OpenVPN ничего не дала. согласно tracert - по прежнему сыпет pf пакетами для 1.0 сети в мир вместо того что-бы гнать его в туннель. идея с правилом в LAN от pigbrother даёт хоть что-то, но опять же, трафик сыпется в дефолтный гейтвей и выкидываться в мир вместо туннеля. бредовая идея с созданием прослойки в виде "левого" гейтвея и прогоном трафика из LAN через него в failover выглядит диким костылём

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pigbrother
                                      last edited by

                                      1. Повторю свой вопрос :

                                      @pigbrother said in Маршрутизация OpenVPN:

                                      с каким IP виден ПК, подключивщийся из сети за Zyxel к ресурсу в сети за pfSense?

                                      1. Попробуйте создать пользователя с CN попроще, из 1 слова без точек и спецсимволов.
                                      PTZ-MP 1 Reply Last reply Reply Quote 0
                                      • werterW
                                        werter
                                        last edited by

                                        Добрый.
                                        Адресация в сетях за сервером и клиентом какая ? Должна быть разной.

                                        1 Reply Last reply Reply Quote 0
                                        • PTZ-MP
                                          PTZ-M @pigbrother
                                          last edited by PTZ-M

                                          @pigbrother

                                          0_1529406722921_socket.jpg
                                          Винда идентифицирует соединения из тунеля (172.) и локалку серверную (0.0).
                                          Вообще проще через Диагностика - Редактировать файл привести конфиг сервака на данный момент из /var/etc/openvpn/server1.conf

                                          codedev 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
                                          разуметься разная, в противном случае начинает глючить сеть со стороны клиента

                                          P 1 Reply Last reply Reply Quote 0
                                          • P
                                            pigbrother @PTZ-M
                                            last edited by pigbrother

                                            @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.

                                            PTZ-MP 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.