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

    Локальные ресурсы в локальной сети по WAN ip или доменному имени при использовании multi-wan

    Scheduled Pinned Locked Moved Russian
    27 Posts 4 Posters 2.3k 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 @sirota
      last edited by Konstanti

      @sirota
      Так вот именно в этом и есть проблема , что Вы клиенту отдаете в качестве внутреннего ip адреса сервера внешний ip адрес Вашего файрвола. Тем самым заставляете клиента весь внутренний трафик прогонять через файрвол , заставляя последнего выполнять ненужную работу. И если внешний интерфейс падает , то внутренний клиент об этом никак не узнает и продолжает гнать трафик на этот интерфейс, и все его работа встает. О падении внешнего интерфейса DNS сервер тоже ничего не знает , поэтому спокойно отдает его ip адрес в DNS ответе.

      Решения , я лично вижу тут 2

      1. То которое Вам не подходит ( кстати , не совсем понял ,при чем тут правила файрвола в схеме split-dns , если весь внутренний трафик пойдет мимо него )

      2. Это написание некоего скрипта/модуля , который бы при падении одного из интерфейсов , ip адрес которого отдает DNS сервер
        а. Убивал бы все соединения на этом интерфейсе
        б. Подменял бы ответы DNS сервера на ответы с ip адресом "живого" интерфейса
        в. При поднятии интерфейса все бы возвращалось на " круги своя"
        (AF_ROUTE SOCKET + NETGRAPH)

      3. Мб существует еще какое-то решение , но я пока не придумал как

      S 1 Reply Last reply Reply Quote 0
      • S
        sirota @Konstanti
        last edited by

        @Konstanti

        1. Это не есть проблема. Там производительности вагон и маленькая тележка. Пусть работает. Мне не жалко.
        2. Если упадут оба внешних интерфейса, то смысла и так от этих сервисов будет не много, ибо их работа так же зависит от работоспособности сети интернет.
        3. Конечно существует. На микроте это делается без великих проблем. И у меня даже есть 2 места где это работает.
        K 1 Reply Last reply Reply Quote 0
        • K
          Konstanti @sirota
          last edited by

          @sirota
          Если на микротике это реализуется маркировкой пакетов

          Просто к примеру в условиях того же микрота это решается элегантно просто - пакеты с входящего wan маркируются и исходящий ответ по маркировке уйдет только по нужному шлюзу (образно).

          То Вы тоже аналогично можете "поиграться " маркировкой - делается это в настройках правил файрвола . В настройках правил интерфейса метка наносится , во Floating правилах можно метку анализировать.

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

            Добрый.

            @sirota

            ВМЕСТО сплитднс можно создать портфорвард на ЛАН и принудительно заворачивать все необходимое на нужный IP в ЛАН.
            Пример завернет все идущее на https://yandex.ru на https://локальный-ip-сервера :
            int -LAN, proto - TCP, src-LAN, dst addr - yandex.ru, dst port - 443, NAT IP - локальный-ip-сервера, NAT port - 443

            S 1 Reply Last reply Reply Quote 1
            • P
              pigbrother @Konstanti
              last edited by

              @Konstanti said in Локальные ресурсы в локальной сети по WAN ip или доменному имени при использовании multi-wan:

              То Вы тоже аналогично можете "поиграться " маркировкой - делается это в настройках правил файрвола . В настройках правил интерфейса метка наносится , во Floating правилах можно метку анализировать.

              В Микротике практически все, что связано с multiwan да и многое другое реализуется через mangle,

              @Konstanti said in Локальные ресурсы в локальной сети по WAN ip или доменному имени при использовании multi-wan:

              То Вы тоже аналогично можете "поиграться " маркировкой - делается это в настройках правил файрвола . В настройках правил интерфейса метка наносится , во Floating правилах можно метку анализировать.

              Imho, по аналогии с Linux:

              все цепочки таблицы mangle пакеты проходят раньше, чем одноименные цепочки таблиц nat и filter. Это позволяет классифицировать и маркировать пакеты и соединения в цепочках этой таблицы. Впоследствии эти маркировки могут быть использованы в цепочках двух других таблиц при принятии решений о фильтрации и трансляции адресов.

              Логичнее будет пакеты маркировать (tag) во Floating, а анализировать\использовать в основных правилах NAT\Firewall

              S 1 Reply Last reply Reply Quote 1
              • S
                sirota @werter
                last edited by

                @werter Привет. Я думал завтра тебе набрать )))
                Я так и сделал
                1.png
                При чем я даже немного ужесточил - все что попадает на 443 порт на wan-ах все попадает на сервер в локальной сети.
                Из инета все работает, ни каких проблем. Отключаю WAN1 и из инета люди пользуются сервисами через wan2. И обратно. Но так не прокатывает если нужны сервисы из сети в которой они расположены:
                2.png
                Видишь там на вторая звездочка - это default gateway. Без этого правила в сети до ресурсов вообще не добраться. И правила работают только если там стоит default gateway и клиентский ПК запросил доступ к ресурсу по ip WAN1. Если руками в правиле поменять default gateway на gateway wan1, то оно уже работать не будет и для запроса по ip wan1. Если на днях время будет свободное, можем попробовать потыкать. Я уже и tcpdump-ом гонял и со своего ПК и на пфсенсе, вообще не вдуплю.

                1 Reply Last reply Reply Quote 0
                • S
                  sirota @pigbrother
                  last edited by

                  @pigbrother В пфсенсе можно маркировать пакет во флоате и что-то с ним сделать дальше? Во флоате я ловлю входящий пакет (к примеру в логах файрвола при default gateway и запросе с wan1 из локалки я вижу к примеру пакет вида 192.168.0.10 - 192.168.0.215 (IP.WAN1). на lan интерфейсе с назначением IP.WAN1 и интересующем мне порту и мечу его к примеру wan1service1. Как мне теперь обратный пакет зарезолвить? Просто я вот как делал - отключал wan1 интерфейс вообще и в правилах жестко писал не defaultt gateway (он у пфсенса как я понял всегда жестко забинден на wan по умолчанию (у меня он переименован в wan1)), а wan2 gateway. И данная связка уже не работала.

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

                    Добрый.
                    @sirota

                    Но так не прокатывает если нужны сервисы из сети в которой они расположены:

                    Правило форвардинга нужно и на ВАН и на ЛАН.
                    После для проверки либо сбросить днс-кеш на клиенте (в Вин - ipconfig /flushdns из под Админ-ра), либо перезагрузить его машину.

                    S 1 Reply Last reply Reply Quote 1
                    • S
                      sirota @werter
                      last edited by

                      @werter said in Локальные ресурсы в локальной сети по WAN ip или доменному имени при использовании multi-wan:

                      Добрый.
                      @sirota

                      Но так не прокатывает если нужны сервисы из сети в которой они расположены:

                      Правило форвардинга нужно и на ВАН и на ЛАН.
                      После для проверки либо сбросить днс-кеш на клиенте (в Вин - ipconfig /flushdns из под Админ-ра), либо перезагрузить его машину.

                      1.JPG

                      Так?
                      Просто временно убрал у dns регистратора второй ip. Ибо мне забыли его сделать статикой.

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

                        @sirota

                        Пример завернет все идущее на https://yandex.ru на https://локальный-ip-сервера :
                        int -LAN, proto - TCP, src-LAN, dst addr - yandex.ru, dst port - 443, NAT IP - локальный-ip-сервера, NAT port - 443

                        По аналогии.
                        Вместо yandex.ru - ВНЕШНЕЕ имя нужного ресурса, а не LAN addr\WAN addr. Логика же проста до примитивности.

                        S 1 Reply Last reply Reply Quote 1
                        • S
                          sirota @werter
                          last edited by

                          @werter said in Локальные ресурсы в локальной сети по WAN ip или доменному имени при использовании multi-wan:

                          @sirota

                          Пример завернет все идущее на https://yandex.ru на https://локальный-ip-сервера :
                          int -LAN, proto - TCP, src-LAN, dst addr - yandex.ru, dst port - 443, NAT IP - локальный-ip-сервера, NAT port - 443

                          По аналогии. Вместо yandex.ru ВНЕШНЕЕ имя нужного ресурса.

                          Да-да. Я уже догнал. Переделываю как раз сейчас.

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

                            После для проверки либо сбросить днс-кеш на клиенте (в Вин - ipconfig /flushdns из под Админ-ра), либо перезагрузить его машину.

                            S 2 Replies Last reply Reply Quote 1
                            • S
                              sirota @werter
                              last edited by

                              @werter
                              Взлетело! Отключил WAN1, и у меня по доменному имени открылся сайт через WAN2. При этом правила файрвола созданные автоматом для wan1 и для wan2 идентичны и работает соответственно только первое в списке.
                              Еще раз спасибо тебе большое!
                              Правда есть затуп для тех клиентов у которых инет отключен кроме белого списка. Надо будет потом еще посмотреть что за затуп. Но Скорее всего там сертфикат стоит такой что не добавлен в белый список домен где список отзывов лежит.

                              1 Reply Last reply Reply Quote 0
                              • S
                                sirota @werter
                                last edited by

                                @werter
                                2.JPG
                                Это для 80 и 443 порта. Выходит по 4 правила на порт.

                                А ну и как обычно вылезла проблема - ip6 на клиентских компах. Надо всем его выключить. почему-то у тех у кого он включен и отключен инет (ip6 у меня же вообще рубится), то nslookup отвечает по ip6 что не получен ответ. В то время если у человека включен инет без ограничений, включен ip6 в винде и так же рубится ip6 на pfsense, то у него ответ нормального человека по ip4.

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

                                  Блин (
                                  Не надо в dst - WAN addr для форвардинга на ЛАН.
                                  В dst пишем реальный ВНЕШНИЙ адрес того сайта, к-ый мы редиректим. Если сайт наз-ся site.ru, то и пишем его в dst.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    sirota @werter
                                    last edited by

                                    @werter не. Именно что надо. У меня 5 сайтов на этих ip. И в файрволе нет по итогу fqdn. Они по итогу преобразуются в ip

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

                                      Добрый.
                                      @sirota

                                      У меня 5 сайтов на этих ip.

                                      Кол-во не имеет значения. Без разницы.

                                      И в файрволе нет по итогу fqdn.

                                      Это не так.
                                      Создается alias из этих сайтов и пользуется в правилах fw.

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        sirota @werter
                                        last edited by

                                        @werter said in Локальные ресурсы в локальной сети по WAN ip или доменному имени при использовании multi-wan:

                                        Добрый.
                                        @sirota

                                        У меня 5 сайтов на этих ip.

                                        Кол-во не имеет значения. Без разницы.

                                        И в файрволе нет по итогу fqdn.

                                        Это не так.
                                        Создается alias из этих сайтов и пользуется в правилах fw.

                                        Это именно что так. Алиас в пределах вебинтерфейса может быть доменным именем, но как только дело доходит до непосредственно файрвола, то там fqdn преобразовывается в ip. Во всяком случае у меня так отложилось в памяти читая про алиасы и прочее. Можно провести эксперимент. В правилах указать доменное имя, но твой dns сервер указанный pfsense должен вернуть запись скажем 1.1.1.1 при условии что у доменного имени 2 ip, а клиента за пфсенсем имя другой dns получит второй ip. Уже правило не сработает. Может там уже и не так, но когда я только начинал тыкать в pfsense то у меня 100% была такая проблема.

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

                                          а клиента за пфсенсем имя другой dns получит второй ip

                                          Не вернет. У тебя все днс-запросы во вне принудительно завернуты на пф. Адрес будет одинаков. Мы ж это вместе настраивали.

                                          В случае, к-ый я порекомендовал, пф тупо завернет запрос к внешнему адресу на локальный IP.

                                          Зы. Если схема существующая устраивает - ок.

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