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
      Может быть мы друг друга не понимаем
      Сейчас , насколько я вижу , у Вас все замкнуто через WAN1/WAN2 , и весь внутренний трафик "ходит" через PFSense
      Но я ,все-таки на Вашем месте , рассмотрел бы вариант , чтобы внутренний DNS сервер возвращал клиентам внутренний ip адрес сервера для каждого сервиса , и клиенты тогда обращались бы к серверам/сервисам напрямую .
      И не было бы таких сложных конструкций с NAT-ми и пробросами портов
      Да , придется провести заново настройку клиентов , но это поможет Вам в будущем избежать проблем в случае усложнения топологии сети.
      Все остальное , это "костыли" , по-моему

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

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

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

          у Вас все замкнуто через WAN1/WAN2

          Не понял что замкнуто? 2 провайдера. Оба не отличаются ни великой скоростью за разумную плату, ни стабильнотью. По этому Gateway Groups где оба провайдера выставлены tier1. Своеобразная балансировка + отказоустойчивость.
          Если я убираю целиком и полностью второго провайдера, то моя схема работает безотказно до момента пока у первого провайдера не упадет инет )))
          Проблема возникает только когда мне надо чтобы одновременно было 2 провайдера. Грубо говоря из интернета проблем нет, я спокойно получаю доступ ко всем ресурсам по любому из внешних IP в том числе и по доменному имени.

          Ну dns-split - как по мне костыль еще больший. В случае смены локального IP у сервиса мне потребует переназначать его в DNS forwader. Попутно правя правила в файрволе. А как мне быть когда завтра я подниму безотказный кластер локального ресурса? Как тогда быть?
          Давай больше не будем мусолить dns-split. Он мне не подходит и точка.

          K 1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.