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

    OpenVPN и локальные ресурсы внутри сети

    Scheduled Pinned Locked Moved Russian
    57 Posts 5 Posters 8.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.
    • K
      Konstanti @marchello
      last edited by Konstanti

      @marchello
      Возможно
      Nat outbound на lan интерфейсе Вам в помощь для клиентов Openvpn , устанавливающих соединение с данным серевером

      1 Reply Last reply Reply Quote 0
      • M
        marchello
        last edited by

        Нет, не желает соединятся. Хотя другие сервера на которых шлюзом прописан сам pfSense с соответствующим правилом в firewall и NAT обмениваются пакетами без проблем. Нужно исхитриться сделать так чтобы пакеты отправляемые с подсети OpenVPN доходили а ответы возвращались отправителю с сервера находящегося в локальной сети за pfSense у которого шлюз не pfSense.

        K 1 Reply Last reply Reply Quote 0
        • K
          Konstanti @marchello
          last edited by Konstanti

          @marchello
          Это значит , что

          1. или Вы меня не поняли
          2. или что-то делаете неправильно

          Тут задача простая , подменить IP адрес источника на адрес , на который сервер обязательно ответит, не используя шлюз по умолчанию . Этим адресом станет ip адрес lan интерфейса ( при условии , что pf и сервер находятся в одной сети ) . Для решения этой задачи Вам надо создать правило Nat Outbound на lan интерфейсе pf для всех пакетов , идущих от openvpn клиентов в сторону сервера .

          Например , используя iptables это будет выглядеть так

          -A POSTROUTING -o LAN_ИНТЕРФЕЙС -p tcp -s КЛИЕНТЫ_OPENVPN --dport ПОРТ_ВАШЕГО_СЕРВЕРА -d АДРЕС_ВАШЕГО_СЕРВЕРА -j SNAT --to-source IP_АДРЕС_LAN_ИНТЕРФЕЙСА

          https://forum.netgate.com/topic/156968/help - проблема , по сути, та же , только без проброса портов

          M 1 Reply Last reply Reply Quote 0
          • M
            marchello @Konstanti
            last edited by

            @Konstanti В Interfaces > Interface Assignments Добавил и активировал интерфейс VPN-а
            Screenshot 2020-10-02 094554.png
            Далее создал в Firewall > NAT > Outbound
            Буфер обмена-1.png
            Попытка достучаться ping-ом до сервера снаружи по VPN безуспешна ((( не отвечает хотя другие сервера у которых прописан гейтом pfSense отрабатывают штатно.

            K 1 Reply Last reply Reply Quote 0
            • K
              Konstanti @marchello
              last edited by

              @marchello
              Логично, что не отвечает
              TCP и Icmp немного разные протоколы

              M 1 Reply Last reply Reply Quote 0
              • K
                Konstanti
                last edited by

                This post is deleted!
                M 1 Reply Last reply Reply Quote 0
                • M
                  marchello @Konstanti
                  last edited by

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • M
                    marchello @Konstanti
                    last edited by

                    @Konstanti said in OpenVPN и локальные ресурсы внутри сети:

                    @marchello
                    Логично, что не отвечает
                    TCP и Icmp немного разные протоколы

                    Не логично, прошу заметить что в протоколах указано ''any''

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Konstanti @marchello
                      last edited by

                      @marchello
                      На вашей картинке прописано , tcp для интерфейса lan . Откуда any ?

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        marchello @Konstanti
                        last edited by

                        @Konstanti said in OpenVPN и локальные ресурсы внутри сети:

                        @marchello
                        На вашей картинке прописано , tcp для интерфейса lan . Откуда any ?

                        Это два правила касающиеся двух портов на двух разных серверах на которые заходят клиенты из вне, это не имеет отношения к нашему VPN )))

                        K L 2 Replies Last reply Reply Quote 0
                        • K
                          Konstanti @marchello
                          last edited by

                          @marchello тогда у Вас нет нужно правила на lan интерфейсе

                          M 1 Reply Last reply Reply Quote 0
                          • L
                            luha @marchello
                            last edited by

                            @marchello Привет. Недавно настраивал OpenVPN и так же надо было видеть сервера.

                            1. В настройках сервера OpenVPN на pf в разделе "Advanced Configuration" в "Custom options" прописываем в какую подсеть могут стучать клиенты OpenVPN - push "route 192.168.1.0 255.255.255.0" (там это даже в подсказке указано и не с проста)
                            2. На самом сервере при необходимости разрешить доступ с подсети OpenVPN (с той, которую ты указываешь в настройках сервера OpenVPN).

                            ... и всё, должно работать. Может быть ещё включить "заворачивание всего трафика через туннель", но тогда обратить внимание на настройки DNS.

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              marchello @Konstanti
                              last edited by

                              @Konstanti said in OpenVPN и локальные ресурсы внутри сети:

                              @marchello тогда у Вас нет нужно правила на lan интерфейсе

                              В порядке эксперимента добавил правило на эхо, и всё равно не работает.
                              Буфер обмена-1.png

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                Konstanti @marchello
                                last edited by

                                @marchello
                                Тогда только остается включать tcpdump и смотреть , что происходит в момент пинга
                                tcpdump -netti имя_lan_интерфейса icmp and host ip_адрес_сервера

                                и проверять
                                1 отрабатывает ли nat outbound (те изменился ли ip адрес источника)
                                2 и приходят ли ответные пакеты

                                1 Reply Last reply Reply Quote 0
                                • M
                                  marchello @luha
                                  last edited by

                                  @luha said in OpenVPN и локальные ресурсы внутри сети:

                                  @marchello Привет. Недавно настраивал OpenVPN и так же надо было видеть сервера.

                                  1. В настройках сервера OpenVPN на pf в разделе "Advanced Configuration" в "Custom options" прописываем в какую подсеть могут стучать клиенты OpenVPN - push "route 192.168.1.0 255.255.255.0" (там это даже в подсказке указано и не с проста)
                                  2. На самом сервере при необходимости разрешить доступ с подсети OpenVPN (с той, которую ты указываешь в настройках сервера OpenVPN).

                                  ... и всё, должно работать. Может быть ещё включить "заворачивание всего трафика через туннель", но тогда обратить внимание на настройки DNS.

                                  Удалил все правила включая OpenVPN. Создал новый сервер включив дополнительный маршрут в Custom options, далее выгрузил конфигурацию, загрузил на клиента, проверил подключение к OpenVPN серверу - работает без вопросов. Добавил правило в NAT
                                  Буфер обмена-1.png

                                  Перепроверил активность и поднятое состояние OpenVPN интерфейса. По итогу ping с клиента показывает что сервера с прописаным гейтом pfSense отвечают, с иным ip гейта на интерфейсе молчат.

                                  K 1 Reply Last reply Reply Quote 0
                                  • L
                                    luha
                                    last edited by luha

                                    Думаю дело не в том какой шлюз указан на "неотвечающем" сервере, а во взаимодействии подсетей. Шлюз это только для выхода в интернет. Учти, прохождение пакетов зависит от каждой из участвующих сторон! Ты же на сервере ведь проверил, слушает он подсеть OpenVPN или нет? От стороны pf твой клиент виден в локалке с адресом подсети VPN... соответственно свичи там разные, компьютеры, сервера, все будут отличные от их подсети пакеты или игнорировать или принимать, зависит от настроек.

                                    Кстати! А на pf разрешил трафик между подсетями?! Может pf сам не слушает того твоего сервера?

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      Konstanti @marchello
                                      last edited by Konstanti

                                      @marchello
                                      Можете показать вывод tcpdump на lan интерфейсе при запущенном пинге в направлении нужного сервера ( с настроенным NAT outbound) ?

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        marchello
                                        last edited by marchello

                                        Для следующих поколений оставляю готовый рецепт настройки доступа пользователей из VPN во внутреннюю сеть предприятия без необходимости прописывать на запрашиваемом ресурсе шлюзом pfSense.

                                        1. Заходите в Interfaces > Interface Assignments добавляете интерфейс OpenVPN и в его свойствах активируете (поднимаете)
                                          82aabad9-231f-4131-b409-04138fc14a0a-изображение.png

                                        2. Запоминаем сетку и маску выделенную для тоннеля + галка на ''Redirect IPv4 Gateway'' включена.
                                          dd0bd314-cbb6-40c7-89e5-600ea30bbbfb-изображение.png

                                        3. Добавляем принудительно маршрут в локальную сеть предприятия при установке соединения клиентом
                                          7035b855-b5e7-41d2-ad05-19270e8d3b60-изображение.png

                                        4. Далее идём в NAT и создаём правило которое позволяет клиентам из сетки VPN ходить в сеть предприятия и обратно.
                                          aa16ae96-dfbe-4371-bac3-8be26e445923-изображение.png

                                        Всё будет работать при условии, что сам OpenVPN предварительно был настроен верно и подключение к нему перед этими манипуляциями проверялось. Спасибо Konstanti и Luha в решении проблемы.

                                        P/S появилась дополнительная проблема, веб сайт к которому получен доступ и который отвечает внутри сети предприятия, делает редирект пользователя за пределы сети предприятия, на другой веб-сервис, попытка дополнительного добавления сети этого нового веб-сервиса (находящемуся за пределами локальной сети предприятия) в NAT и в соответствующее поле VPN к клиенту не помогает.

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

                                          Добрый.

                                          @marchello

                                          1. Зачем ВЕСЬ траффик впн-клиентов в туннель-то заворачивать?
                                          2. В чем проблема указать шлюзом ЛАН-адрес пф на интересующей машине? Зачем "танцы" ?
                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            marchello @werter
                                            last edited by

                                            @werter said in OpenVPN и локальные ресурсы внутри сети:

                                            Добрый.

                                            @marchello

                                            1. Зачем ВЕСЬ траффик впн-клиентов в туннель-то заворачивать?
                                            2. В чем проблема указать шлюзом ЛАН-адрес пф на интересующей машине? Зачем "танцы" ?

                                            Есть причины и найдены последствия. 1 - нужно весь 2 - низя поменять шлюз ресурса (вообще низя ))) )

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