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
      Это значит , что

      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
                                        • werterW
                                          werter
                                          last edited by werter

                                          Тогда команда route на этом сервере вас спасет:

                                          route -p -4 ADD адрес-сети-впн-клиентов MASK маска-сети-впн-клиентов ЛАН-ip-пф
                                          
                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            marchello @werter
                                            last edited by

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

                                            Тогда команда route на этом сервере вас спасет:

                                            route -p -4 ADD адрес-сети-впн-клиентов MASK маска-сети-впн-клиентов ЛАН-ip-пф
                                            

                                            Как вариант )

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