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

    Alias тип host(s)

    Scheduled Pinned Locked Moved Russian
    34 Posts 3 Posters 1.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.
    • L
      lucas1
      last edited by

      Добрый день.

      Сегодня столкнулся с таким.

      Есть Alias типа host(s). До сегодня с ним было все нормально.
      В него включены несколько dns-имен.
      DNS Resolver работает нормально.
      Но если смотреть Diagnostics\Tables, то в таблице соответствующей этому alias, отсутствует по крайней мере одна запись с определенным IP.
      Добавил в этот Alias строку с нужным IP.
      В Diagnostics\Tables для этого Alias строка с нужным IP тоже не добавилась.

      Как заставить обновляться данный Alias?
      И вообще в чем причина.

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

        @lucas1 Здр

        1. в консоли наберите
          pfctl -t имя_таблицы -T show
          Проверьте , есть ли нужный ip в этой таблице
          если ip нет, то
        2. в консоли
          pfctl -t имя_таблицы -T add ip_адрес
        3. см пункт 1
          если результат нулевой , то , скорее всего, это какой-то сбой pf , перегрузите устройство
        L 1 Reply Last reply Reply Quote 1
        • L
          lucas1
          last edited by

          Спасибо.
          Вручную через pfctl Alias и его Table обновились.

          1 Reply Last reply Reply Quote 0
          • L
            lucas1 @Konstanti
            last edited by

            @Konstanti

            1. Все-таки нет способа reload таблицы, если это таблица не связана с внешним файлом?

            2. Как лучше reload сам PfSense? Не само устройство, а набор правил и т.п.

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

              @lucas1 Здр
              Не совсем понял , что Вы хотите сделать ?
              При любом обновлении правил PFSense удаляет содержимое всех таблиц и создает их заново .
              Если Вы что-то хотите добавлять вручную после пересоздания таблиц , то можно это сделать следующим образом
              устанавливаете пакет Shellcmd

              И , используя этот пакет , создаете команду , которая будет выполняться при каждой перезагрузке правил файрвола
              например ,
              /sbin/pfctl -t имя_таблицы -T add ip_адрес

              fee69e23-bf99-4ba1-8cfa-0b8e05d978e7-image.png

              L 1 Reply Last reply Reply Quote 0
              • L
                lucas1 @Konstanti
                last edited by

                @Konstanti
                Я про вчерашнее.
                Хотел сказать, что если тип alias (table) Url table (IPs) , то можно загрузить связанный с таблицей файл в DiagnosticsTables нажать Update. И с содержимым таблицы все нормально.
                А в случае если alias (table) тип host(s) не связан с внешним файлом , то кроме указанного вами вчера способа редактирования содержимого таблицы, в текущем ruleset ничего не меняется.
                Т.е. получается PfSense при обновлении всегда удаляет содержимое всех таблиц и создает их заново, но не всегда с правильным содержимым.
                Или создал тестовый alias IPs, нажал Empty и он до сих пор пустой.
                Второй вопрос связан с первым. Status \ Filter Reload, pfctl -f(наверно врядли) или как еще?

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

                  @lucas1
                  Поясните пожалуйста на примере , что значит "не всегда с правильным содержимым"
                  И второй вопрос - зачем лишний раз перезагружать правила (при условии , что с содержимым таблиц можно работать динамически) ?

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

                    Добрый
                    @lucas1

                    Что-то похожее было и у меня.
                    Накостылил так:

                    1. Установил пакет Cron
                    2. Добавил в Cron строку:

                    */5 * * * * root /usr/bin/killall -9 filterdns ; /bin/sleep 5 ; /usr/local/sbin/filterdns -p /var/run/filterdns.pid -i 300 -c /var/etc/filterdns.conf -d 1

                    Зы. С NTP тоже иногда что-то нехорошее происходит. Добавил тамже в Cron-е:
                    */15 * * * * root /usr/bin/killall -9 ntpd ; /bin/sleep 5 ; /usr/local/sbin/ntpd -g -c /var/etc/ntpd.conf -p /var/run/ntpd.pid

                    1 Reply Last reply Reply Quote 0
                    • L
                      lucas1 @Konstanti
                      last edited by

                      @Konstanti
                      Так я описал ситуацию в первом сообщении темы.
                      Если смотреть сам Alias, то в нем 10 dns-имен и ip-адресов.
                      Если смотреть Diagnostics\Tables Alias - то в таблице 5 записей. И в результате на одном из серверов не было интернета (его ip отсутствовал в самой таблице). Но до этого естественно был. И был Интернет.
                      Ваш совет pfctl -t имя_таблицы -T add ip_адрес помог - 1/1 addresses added.
                      Но причина в чем?
                      По второму вопросу. как reload Pfsense ruleset и всего остального без перезагрузки устройства.

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

                        @lucas1

                        Попробуйте схему с Кроном. У меня была ситуация подобная вашей.

                        Потому как "pfctl -t имя_таблицы -T add ip_адрес" поможет только ЕДИНОЖДЫ - при добавлении адреса в Алиас. Если ip хоста из Алиаса изменится - помжет только ручное передергивание dns resolver-а. Или схема с Кроном. Пробуйте.

                        Зы. В настройках пф указано передергивание dns resolver каЖные 5 минут для разрешения адресов в Алиасах. Но, видимо, оно как-то некорректно отрабатывает (

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

                          @lucas1
                          попробуйте так

                          /usr/local/sbin/pfSctl -c 'filter reload'

                          в результате в логах должна появиться вот такая запись
                          Dec 27 17:24:39 check_reload_status Reloading filter

                          L 2 Replies Last reply Reply Quote 0
                          • L
                            lucas1 @werter
                            last edited by

                            @werter
                            Речь не о dns resolver. Добавление ip-адреса в Alias то-же не работает.
                            создал тестовый alias IPs, нажал Empty и он до сих пор пустой - дополнительный вопрос.
                            /var/etc/filterdns.conf - что за файл?

                            1 Reply Last reply Reply Quote 0
                            • L
                              lucas1 @Konstanti
                              last edited by

                              @Konstanti
                              в Status\System Logs\System\General?

                              1 Reply Last reply Reply Quote 0
                              • L
                                lucas1 @Konstanti
                                last edited by

                                @Konstanti
                                команда выполнилась. Но содержимое таблицы не изменилось.

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

                                  @lucas1
                                  А почему содержимое таблицы должно было измениться ???
                                  В таблицу попадает то , что в PF подают на вход. Дали 5 ip , он добавил 5, дали 10 , он добавит 10 .
                                  Посмотрите файл
                                  /var/tmp/rules.debug
                                  и увидите то содержимое таблицы, которое получает на входе PF.

                                  По-моему, тут проблема не в PF. У меня лично есть подозрение , что где-то скрипт "ломается" .
                                  Вы же не показываете "живой пример" проблемы ( если не хотите тут , напишите в личку).
                                  Не видя настроек алиаса сложно что-либо говорить

                                  L 1 Reply Last reply Reply Quote 0
                                  • L
                                    lucas1 @Konstanti
                                    last edited by

                                    @Konstanti
                                    Так меня интересует как раз содержимое таблицы на основе содержимого созданного/измененного Alias. Возможно alias действительно "сломался", когда я добавил в него как-бы вложенный alias:
                                    был список IP и DNS имен. Я добавил в этот alias другой alias из трех DNS-имен.
                                    Но сейчас я все вернул назад.
                                    И есть проблема и по другому alias всего из 2 IP записей.
                                    И это есть - создал тестовый alias IPs, нажал Empty и он до сих пор пустой.
                                    Тогда вопрос в том как изменить /var/tmp/rules.debug.
                                    ну не весь и не вручную.

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

                                      @lucas1
                                      Никак. Это файл , который создается самим PFSense , каждый раз когда перезагружаются правила , и затем следует перезапуск PF.
                                      Если некорректно создаются данные для этого файла , это значит , что или PFSense допускает ошибку при обработке алиаса , или что-то Вы неверно сделали.
                                      Повторюсь , не видя алиаса и результатов работы PFSense ( куска файла rules.debug) сложно что-либо советовать

                                      L 1 Reply Last reply Reply Quote 0
                                      • L
                                        lucas1 @Konstanti
                                        last edited by

                                        @Konstanti
                                        Взял перезагрузил, все нормально.

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          lucas1 @lucas1
                                          last edited by

                                          @lucas1
                                          Та не.
                                          На примере тестового Alias: Tesing тип Host(s).
                                          server1.domain.com, server2.domain.com, X.Y.12.5

                                          Добавил третье значение X.Y.12.5.

                                          С PfSense все доступно: ping, nslookup.
                                          Diagnostics\Tables
                                          No entries exist in this table.

                                          L 1 Reply Last reply Reply Quote 0
                                          • L
                                            lucas1 @lucas1
                                            last edited by

                                            @lucas1
                                            Посмотрел /tmp/rules.debug

                                            table <1C_Servers> persist
                                            1C_Servers = "<1C_Servers>"
                                            В DiagnosticsTables по этой таблице все нормально: 2 entries.
                                            Но в /tmp/rules.debug пусто.

                                            table <ERP_Servers> { X.X.12.44 X.X.12.46 X.X.12.32 }
                                            ERP_Servers = "<ERP_Servers>"
                                            В DiagnosticsTables ее вообше нет.

                                            table <Servers_Internet> persist
                                            Servers_Internet = "<Servers_Internet>
                                            Но в /tmp/rules.debug пусто.
                                            В DiagnosticsTables нет 2 entries из 9.

                                            Это что сразу заметил.
                                            Откуда взялось persist по некоторым таблицам?
                                            получается несоответствие (по некоторым таблицам) определению таблицы (alias) содержимому в /tmp/rules.debug.

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