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

    PfSense значения переменных

    Scheduled Pinned Locked Moved Russian
    11 Posts 4 Posters 1.1k 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.
    • werterW
      werter
      last edited by

      Может cat /tmp/rules.debug | grep -i lan ?

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

        @lucas1 said in PfSense значения переменных:

        встроенных переменных, например LAN net и LAN address?

        А разве они встроенные? Значения этих переменных pf-ом на лету берутся с интерфейсов и в актуальных правилах /tmp/rules.debug уже значения фигурируют. Имхо.

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

          Как вариант поискать в .php-файлах пф.

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

            @vladimirlind
            Ну а какие это переменные, если не встроенные? Эти переменные никто не создает.
            Например, Alias можно просмотреть через Diagnosics\Tables.

            При создании определенного правила для LAN интерфейса c 2 IP Alias правило с LAN address не работало именно для IP Alias, но работало для основного адреса.
            Поэтому и возник вопрос.

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

              @lucas1 said in PfSense значения переменных:

              Alias можно просмотреть через Diagnosics\Tables.

              Эти алиасы - просто последовательность данных - IP, URL, hostnames, обозначенных одним словом для удобства использования в системе. IP Alias - это тип виртуального интерфейса. Слово Alias там и там не должно сбивать с толку - это разные фичи.

              Какой айпи эффективно применился в правиле надо смотреть в /tmp/rules.debug

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

                @vladimirlind
                Я и написал про Firewall\Aliases для примера как посмотреть значение переменной, созданной пользователем.
                Интересует, например это: LAN adress = основной + 2 IP Alias?

                Посмотрел в /tmp/rules.debug - внешне текстовый вариант правил в стиле Packet Filter.
                И еще вопрос.
                Создал 2 правила: 1. для TCP ALL 2. для TCP HTTP.
                Поочереди поместил некий компьютер (IP) в эти правила.
                Браузеры с правилом TCP ALL работают заметно быстрее.

                Непонятно почему.

                K 1 Reply Last reply Reply Quote 0
                • V
                  vladimirlind
                  last edited by

                  @lucas1 said in PfSense значения переменных:

                  LAN adress = основной + 2 IP Alias?

                  LAN adress - это только IP на самом LAN интерфейсе. Для IP Alias надо отдельные правила создавать.

                  @lucas1 said in PfSense значения переменных:

                  Браузеры с правилом TCP ALL работают заметно быстрее.

                  Это странно. Может, redirectы не могут сработать к https. Сделайте еще правило для https.
                  надо посмотреть на правила

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

                    @lucas1 Здр
                    эти переменные можно узнать , если написать свой PHP скрипт
                    Lan address - вычисляется функцией get_interface_ip
                    Lan net - вычисляется через маску подсети функцией get_interface_subnet

                    Это переменные , которые создаются системой и хранятся в многомерном массиве
                    Например , для получения ip адреса используется такой код

                    if (is_array($config['interfaces'][$interface]) &&
                    	    is_ipaddr($config['interfaces'][$interface]['ipaddr'])) {
                    		return ($config['interfaces'][$interface]['ipaddr']);
                    

                    Для маски подсети вот такой

                    if (is_array($config['interfaces'][$interface]) &&
                    		!empty($config['interfaces'][$interface]['subnet'])) {
                    		return ($config['interfaces'][$interface]['subnet']);
                    	}
                    

                    Поэтому когда создаются правила в файле rules.debug , запускается скрипт , который вместо LAN NET и LAN ADDRESS сразу вычисляет и подставляет нужные значения

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

                      @vladimirlind
                      Правила простые.

                      1. TCP ALL source group1 (Alias hosts) ports * destination * ports *
                      2. TCP HTTP source LAN net ports * destination * ports HTTP(80) встроенный
                      3. TCP HTTP(s) source LAN net ports * destination * ports HTTP_https (alias ports)

                      Все 3 правила в одной очереди (queue). Очередность правил такая же.
                      group1 - список определенных IP.
                      alias ports = 80+443

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

                        @lucas1
                        Попробовал. Разницу не заметил.

                        Правила выполняются сверху-вниз до 1-го совпадения. И все, что не разрешено явно - запрещено.

                        Если IP и в Алиасе и в LAN net, то сработает то, что стоит выше.
                        Грубо говоря , если заходите на сайт по http , а на сайте висят баннеры с ссылками на https, то пф разрешит http и полезет дальше проверять можно ли еще и httpS.
                        Само собой, что правило с ALL сработает сразу же и оно "легче" для пф, а правило "Только http и httpS" породит лишние итерации проверки.

                        Но чтобы на глаз это было видно - это "чудо" какое-то.

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