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.
    • M
      Monya @werter
      last edited by Monya

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

      По умолч. NAT на опенвпн откл. Проверено на последнем 2.4.х

      Всё возможно. Просто за 6 лет использования pfSense начиная с версии 2.0.1 заметил что n-ное колличество инсталяций по разному обрабатывают данный факт, несмотря на единообразную настройку онных. К сожалению на x86-only железках где обитает на данный момент 2.3.5_2 обновляемых с 2.0.1 и 2.2 это не работает без явного правила, при чём неважно натировать или нет... главное чтобы правило присутствовало.

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

        Пользуюсь OpenVPN начиная с 2.0.1
        Никаких правил в outbound не создавал.

        По поводу назначения статических адресов клиентов. Использую альтернативный способ:

        Для topology subnet. Для net30 тоже работает, но адреса нужно выдавать с иным шагом, не подряд.

        создаем текстовый файл ips.list вида
        user1,10.11.11.20
        user2,10.11.11.21
        user3,10.11.11.22
        ……
        где
        10.11.11.0/24 - сеть туннеля.
        userX - common name пользователя.

        OVPN резервирует адреса из списка и не выдает их пользователям, в список не включенным.

        В Advanced сервера добавляем:
        ifconfig-pool-persist /var/games/ips.list 0;
        (0) - ноль обязателен.
        т.е. мой ips.list лежит в /var/games.
        Свой положите и назовите как\где хотите.
        Редактироват ips.list желательно при остановленном сервере или отсутствии подключенных пользователей.

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

          @monya

          0_1530000138435_маршруты.jpg

          dev 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
          route 192.168.1.0 255.255.255.0 172.16.0.2
          
          iroute 192.168.1.0 255.255.255.0
          ifconfig-push 172.16.0.2 255.255.255.0
          

          P.S. решил зайти с другого конца
          почитал - http://www.irz.net/sites/default/files/documentation/Router_iRZ_C02_Tunnels_RU.pdf пункт 2.2, углубился в вопрос - https://serveradmin.ru/nastroyka-openvpn-na-centos-7/#_openvpn_8212_TAP_TUN пункт 6.1, обратился к оф. ману - https://community.openvpn.net/openvpn/wiki/305-what-is-the-difference-between-a-tun-device-and-a-tap-device
          пришла мысля, что изначальный проект сменил хардварную реализацию, поэтому стоит от tap уйти к tun, поскольку tap - это мост, а tun - маршрутизация.

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

            @ptz-m маршруты верны. Посмотрите трейс до внутреннего клиента. Перепроверьте правила файервола. Судя по таблице маршрутизации у вас может возникать только проблема с натированием при условии разрешающего правила на интерфейсе и правильном направлении трафика.

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

              Добрый.

              @ptz-m said in Маршрутизация OpenVPN:
              iroute 192.168.1.0 255.255.255.0; <--
              ifconfig-push 172.16.0.2 255.255.255.0; <--

              Важно ;

              P.s. Не морочьте себе голову со статикой для впн-клиентов. Решите сперва проблему с прохождением трафика. Не хватайтесь за все сразу.

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

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

                Важно ;

                С ним и прописано в конфиге, просто в самом файле интерпретируется без этих разделителей

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

                Решите сперва проблему с прохождением трафика.

                дык я уже который пост и бьюсь над этим 😢

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

                  @ptz-m сделайте трасировку с клиентской машины в головной сети, при этом смотрите лог файрвола в динамике. Отладка требует учесть несколько моментов. Но честно говоря очень странно что фактически при верном конфиге у вас не идёт трафик. Попробуйте всё-таки правило NAT создать.

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

                    Добавил себе гемора!
                    Попробовал в настройках сервера сменить tap на tun - результата не дало, а вот возврат назад дал хреновый результат - 1. теперь все подключаемые клиенты получают по умолчанию адрес 172.168.0.2, соответственно ни хрена не работает. грохгул Специфические Настройки Клиента - не помогло. 2. хоть со стороны клиентов, пинг идёт на компы в серверной сети, шару видят только на центральном сервере, на остальных хоть зашарься внутри серверной сети всё ок, а за VPN тишина

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

                      Добрый.

                      Только заметил, что у вас там TAP. Ну и каша.

                      Так с ТАР маршрутизация не работает. Это ж L2.
                      Зачем вам ТАР вообще? В 99% исп-ся TUN.
                      TAP исп-ся, если необходима работа в сети с одной адресацией (широковещание). И это редкий случай.

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

                        @werter изначально всё делалось под клиенты на каждый ПК, это уже полгода спустя было решено маршрутизаторы связать. настраивалось по этому ману - https://habr.com/post/312528/
                        другой вопрос, почему смена в настройках сервера tap на tun не принесла толку, а только грохнуло раздачу ИП для туннеля 😠

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

                          По ссылке у человека специфическая задача

                          — я работаю с tap туннелем, мне так удобнее, он имитирует L2 уровень. С ним работают всякие мультикасты, бродкасты и т.п.;

                          У вас такие же условия ? Если нет, то используйте TUN.

                          Типа https://www.ceos3c.com/pfsense/configure-openvpn-for-pfsense-2-3-step-by-step/, но внимательно и под себя.

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

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

                            У вас такие же условия ?

                            почти, сейчас касса Атол в серверной сети, клиент через VPN коннектится RDP к серверу и печатает на ней. потом "на лошадях" отправляем в офис клиента чек - как понятно гемор аХренеть какой.

                            не говоря о том, что админить сеть приходиться через дырки в мире, что вообще не комильфо

                            P.S. почитал мануал - не понял своей ошибки; тут он вообще весь обрезанный, есть мануал понятней и на русском - https://1cloud.ru/help/network/nastrojka-point-to-site-vpn-s-pomoshchyu-openvpn-remote-access-server-na-pfsense А так я не стал создавать VPN User - а) у десктопного клиента постоянно вылазит окно с авторизацией, а для women - это ahtung! б) что важнее zyxel и иже с ним эту авторизацию не воспринимают априори (см. ссылки на маны выше)
                            Dynamic DNS Service мне вообще боком - у меня white IP v4 на WAN, можно было б заморочить его для 4G модема (правда это резерв чисто для головного офиса), но проще 2-го проводного провайдера подтянуть.
                            В остальном разницы не увидел, пжст ткните носом где не прав

                            P.S.S. грохнул сервер, мастером сделал заново, вообще по дефолту, ток дописал наши обсуждения

                            dev ovpns1
                            verb 1
                            dev-type tun
                            dev-node /dev/tun1
                            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 udp
                            cipher AES-256-CBC
                            auth SHA1
                            up /usr/local/sbin/ovpn-linkup
                            down /usr/local/sbin/ovpn-linkdown
                            multihome
                            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
                            duplicate-cn
                            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"
                            passtos
                            persist-remote-ip
                            float
                            topology subnet
                            route 192.168.1.0 255.255.255.0 172.16.0.2
                            
                            iroute 192.168.1.0 255.255.255.0
                            

                            Удалось вернуть раздачу ИП, а вот с остальным по прежнему глухо - клиенты друг друга не видят, пинги из серверной сети вместо туннеля летят к провайдеру - всё вернулось к началу...

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

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

                              сделайте трасировку с клиентской машины в головной сети

                              делал, см. выше - уходит сразу в сетку провайдера. вот из под клиента до сервера
                              0_1530547955096_tracert.jpg

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

                              Попробуйте всё-таки правило NAT создать

                              какое? а то я уже утонул во всём этом мракобесье... 💀

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

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

                                делал, см. выше - уходит сразу в сетку провайдера. вот из под клиента до сервера

                                Я вас спрашивал - с каким IP ПК за сервером видят ПК из сети за клиентом. Насколько помню - не с IP из LAN за клиентом. Если так, предположу, что Zyxel натирует клиентскую LAN через IP OpenVPN-клиента. Если так - сети за сервером не увидеть сети за клиентом.
                                Если я прав и, повторюсь, ПК за сервером видят соединения с ПК из сети за клиентом с IP тоннеля (соединения с разных ПК видны с одним IP тоннеля) - дело в клиенте Zyxel.

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

                                  @pigbrother я уже сервер пересоздал, но уже на TUN - маршруты pfsense в opnevpn так и не передаёт!
                                  сейчас сижу с домашнего компа с ип 172.16.0.3 и не вижу нифига в серверной сети, кроме центрального сервера, на который в NAT настроены разные дырки. в предыдущей версии с TAP, я мог подключаться удалёнкой к своему рабочему компу.

                                  0_1530557099319_marshrut.jpg

                                  блин такое чувство, что OpenVPN подчиняется правилам NAT pfsense! но это же бред мы для него дыру во внутрь зачем делаем! он что внешний интерфейс чтоль для LAN?!

                                  0_1530557905995_rule.jpg

                                  даже добавление правила, всё равно просто задублирует основное

                                  P.S. вот внизу интересный совет - http://bilee.com/pfsense.html пока не пробовал, а что у кого в этом разделе настроект прописано?

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

                                    Добрый.

                                    Впн настроен в режиме сервер-клиент или p2p ?
                                    Выдача маршрутов 100% работает в режиме сервер-клиент.
                                    У меня впн на сертификатах + аутентификация по связке пол-ль-пароль.
                                    Проблем с выдачей маршрутов, "видимости" друг-друга нет. Это самый простой случай.

                                    Вот тут есть немного http://forum.zyxmon.org/topic110-openvpn-keenetic-p16.html

                                    P.s. Настройка ipsec между Zyxell и пф http://www.nwlab.net/tutorials/VPN-pfSense-ZyWALL/. Если с опенвпн не выйдет.

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

                                      А то, что кнопка "применить" в правилах на OpenVPN не нажата - нормально?
                                      Брандмауэры на целевых серверах отключены\настроены?

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

                                        @werter
                                        спс за ссылки, читаю, хотя они и для старых версий уже не используемых в новых ревизиях zyxel... у меня ситуация похожая на 390 пост, но насколько вижу решения не было. в затыки на стороне zyxel не в приоритете, поскольку с виндовыми клиентами та же ерунда.

                                        @pigbrother
                                        нормально, если её нажать магия не происходит всё равно
                                        до них ещё не доходит даже

                                        _______________________________________________________________________________________________________________________

                                        0_1530629553200_tracert.jpg

                                        пинганул с рабочей станции по vpn каналу из под серверной сети (поставил на комп и указал подключиться к 192.168.0.1), клиенты на винде друг друга видят (172.16.0.х), а вот серверная сеть их нет

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

                                          @ptz-m извините за долгое отсутствие... Во первых я просил трассировку из головной сети, где находится сам OpenVPN сервер в клиентскую. Во вторых вы не сказали что у вас клиент оказывается на Зухеле а не на pfSense, в этом случае у вас на Зухеле надо добавить правило файрвола и возможно NAT (последняя строчка) он же простой Linux.
                                          пример правила

                                          iptables -I INPUT -i tun1 -j ACCEPT
                                          iptables -I FORWARD -i tun1 -j ACCEPT
                                          iptables -I FORWARD -i br0 -o tun1 -j ACCEPT
                                          iptables -I FORWARD -i tun1 -o br0 -j ACCEPT
                                          iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
                                          

                                          имена интерфейсов могут отличаться

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

                                            @monya
                                            спс, аналогичное чуть выше скинул werter, однако суть в том , что серверная сеть не видит и клиентов на обычных виндовых машинах. не пингует и не трессирует до них, всё что имеет адрес 192.168.1.х улетает к провайдеру по умолчанию. а вот с 172.16.0.х сложнее, пинг уходит в никуда, а трейс затыкается на самом pfsense, при этом если использовать утилиту встроенную в сам pfsense и указать интерфейс openvpn для пингования - всё ок!
                                            от сюда и возникает логичное предположение, что 192.168.0.х (серверная сеть), т.е. LAN, не имеет маршрута к OpenVPN серверу (сеть OpenVPN как бы изолированна и является внешним интерфейсом подчиняющимся NAT pfsense, что есть м бред), а как его добавить - я хз.

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