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

    Активация Microsoft и файрволл PFSense

    Scheduled Pinned Locked Moved Russian
    16 Posts 3 Posters 1.5k 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
      здр
      такая схема работать не будет в лоб
      по причине того , что dns ответ от сервера для утилиты pf и для хоста будет содержать разные ip адреса с высокой степенью вероятности (Netflix, YouTube, Amazon, Microsoft и тд и тп )

      для примера , покажу Вам суть проблемы

      1 начало - таблица Netflix пуста

      10d8839f-4a70-4b49-b2bf-774f17a5d1bf-image.png

      2 первый раз запускаю приложение Netflix ( в ней уже 39 адресов - сорри , не так сделал картинку , поверьте на слово )

      ab0cba4d-9e1c-41bb-be61-e9d731dc357a-image.png

      3 второй раз запускаю приложение Netflix ( жду чуть больше минуты , в ней уже 77 адресов)

      4f39046f-6299-4e29-9538-05afed85f887-image.png

      Проблема в том , что серверов очень много , а время жизни ip адреса в кэше локального DNS сервера очень мало ( например , для одного из серверов Netflix - 11 сек)

      e3bcef15-3f96-404b-b0f6-4a70f42ef998-image.png

      Поэтому и DNS ответы для PF и для хоста разные ( и содержимое алиаса не совпадает с тем ip , куда хочет соединиться клиент , и , как следствие, блок)

      вот время жизни DNS ответа для go.microsoft.com (20 сек)

      d8c7d40c-22d9-4ed1-a4dd-7fd9e6b3676f-image.png

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

        @konstanti это даже с тем учётом что dns сервером для компа является pf? Типа pf закэшировал в алиас один ip и при этом при обращении к нему за этим же доменным именем сам пошёл спрашивать у вышестоящего dns тут же?
        И как тогда быть?

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

          @sirota
          Абсолютно верно
          Утилита , которая формирует таблицы на основе алиасов ( не помню название ) по умолчанию 1 раз в 5 мин ( в настройках можно изменить это значение ) запрашивает данные для обновления таблиц .
          А какие данные получит клиент в промежутке между этими интервалами - неизвестно .
          Для решения этой проблемы мне пришлось написать свою утилиту , которая по шаблону ( например , Microsoft) , используя BPF интерфейс , перехватывает весь DNS трафик , анализирует его и автоматически добавляет данные DNS-ответов в нужные мне таблицы . Я нашел для себя только такое решение.

          Мб , изменяя время обновления алиасов на меньшие значения , можно добиться нужного результата. Не знаю , не проверял.. У меня просто изначально другая задача стояла

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

            @konstanti понял, принял. Спасибо большое.

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

              @konstanti
              У вас ПРИНУДИТЕЛЬНО все днс-запросы завернуты на пф?
              Если это сделать, то локальные клиенты будут получать только те ip, к-ые имеет пф в своем днс-кеше.
              И несоответствия с ip не будет, т.к. всеми днс-запросами рулит пф. Чтобы там у клиента в настройках ДНС не стояло.
              Я таким образом блокировал youtube, у к-го тоже далеко не один ip.

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

                @werter
                Это тоже вариант решения проблемы ТС ( на уровне блокировок DNS запросов )
                А если задача стоит в направлении трафика через разные шлюзы с одного устройства ? Например , для "обмана" своей геопозиции для стриминговых сервисов .
                Собственно , эту проблему я и решал
                Вот как это выглядит на практике
                Трафик Netflix идет через WAN интерфейс ( российский IP)

                d5eae35a-4e79-44c9-ade4-22b88481b3a2-image.png

                А вот трафик Disney+ идет через VPN ( испанский ip)

                5f787e81-e5f4-45aa-a30e-ddda69602225-image.png

                При этом весь объем трафика генерит одно устройство (Apple TV) .

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

                  @konstanti ну у меня как пишет камрад weter. Весь трафик dns от клиентов резолвится на pf! Я это указал. И не работает.

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

                    @sirota
                    Werter предлагает осуществлять блокировки на уровне Dns запросов , а не на уровне ip-адресов.
                    В Вашем случае это может сработать.

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

                      @konstanti какие блокировки? Он говорит что если dns принудительно заворачивются на pf, то проблем быть не должно. Мы с ним по этому поводу уже общались. Весь dns трафик принудительно заворачивются на pf у меня. И проблема по факту только с активацией Microsoft.

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

                        @sirota
                        По-моему , для таких блокировок используется пакет pfBlockerNG (DNSBL) в связке с DNS Resolver-ом PF.

                        Проблемы будут , по причинам описанным мною чуть выше. Так как серверов много , то для уменьшения нагрузки на них вышестоящие DNS сервера дают разные ответы на одни и те же DNS запросы ( Round-Robin , скорее всего)

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

                          @konstanti да не нужны мне блокировки. Мне надо разрешить этот трафик!

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

                            @sirota
                            Я прекрасно понимаю , что Вам нужно
                            Мб , сработает таким образом
                            Хост , которому нужно разрешить доступ , использует внешний DNS сервер , и его запросы не "заворачиваются" на PF.
                            Все остальные используют Unbound + pfBlockerNG (DNSBL) , и в этом случае такие запросы блокируются

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

                              @konstanti Да чтож... Без обид, но вы читать умеете?
                              Я в первом коммента написал "Как видно у клиента DNS'ом является pfsense и все dns запросы из локалки резолвятся только на pf"
                              Аннотация 2021-06-27 082453.png
                              На всех скринах с nslookup:
                              server pfsense.local
                              address: 192.168.0.1

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

                                @sirota
                                Все решилось благодаря камраду @werter !
                                Отключил DNS Forwarder, включил DNS Resolver и все заработало тут же. Спасибо ему огромное!

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