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

    [РЕШЕНО]ВАЖНО ВСЕМ!!! MTU WAN, LAN. Не работает правельн&

    Scheduled Pinned Locked Moved Russian
    45 Posts 4 Posters 23.8k 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.
    • D
      dvserg
      last edited by

      Не спешим с командами.
      Что в логах пишет, после сохранения параметров Wan ?
      Бридж есть? есть

      SquidGuardDoc EN  RU Tutorial
      Localization ru_PFSense

      1 Reply Last reply Reply Quote 0
      • D
        DasTieRR
        last edited by

        @l2grom:

        @DasTieRR:

        в rc.conf напиши команду, и pfsense будет стартовать с нужными сетевыми параметрами.

        Спасибо за ответ, так и поступим, кстати эта проблема тянется с ветки 1.2.2 и почему та осталась незамеченной.
        Пожалуйста если не обременит, то ответ на русском языке, с толкованием.
        С уважением к Вам и должным от Вас пониманием.

        Тема про rc.conf (и сохранение различных режимов карточки) здесь http://forum.pfsense.org/index.php/topic,21044.0.html
        Вкратце, то в веб интерфейсе, нужно выбрать диагностика - редактирование файла и указать полный путь к файлу, т е. /etc/rc там будет то, что уже стартует, вконец нужно добавить параметры сетевой карты. и они будут применяться после перезагрузки.

        1 Reply Last reply Reply Quote 0
        • L
          l2grom
          last edited by

          @dvserg:

          Не спешим с командами.
          Что в логах пишет, после сохранения параметров Wan ?
          Бридж есть? есть

          Да, Бридж есть.

          1 Reply Last reply Reply Quote 0
          • D
            dvserg
            last edited by

            Вот откопал в сорцах, что на лане ставится такой же МТУ как на том интерфейса с которым он делает бридж. Принудительно 1500 ставиться вроде только на Wireless или при нулевом значении (незаполненном) в конфиге (bridge).

            SquidGuardDoc EN  RU Tutorial
            Localization ru_PFSense

            1 Reply Last reply Reply Quote 0
            • L
              l2grom
              last edited by

              К сожалению это не так, если-бы, то счастье было-бы море, залез в rc.conf через WEB-морду, установил нужное значения MTU делаю рестарт, значения по дефолту висят. Загружаю теперь /etc/config.xml

              <interfaces><lan><if>re0</if>
              <ipaddr>192.168.2.9</ipaddr>
              <subnet>24</subnet>
              <media><mediaopt><bandwidth>100</bandwidth>
              <bandwidthtype>Mb</bandwidthtype>
              <bridge>wan</bridge>

              <interfaces><lan><if>re0</if>
              <ipaddr>192.168.2.9</ipaddr>
              <subnet>24</subnet>
                                     <mtu>1460</mtu> -добавил строку
              <media><mediaopt><bandwidth>100</bandwidth>
              <bandwidthtype>Mb</bandwidthtype>
              <bridge>wan</bridge>

              правлю, ребучусь, система не стартанула )), востоновил конфиги.  Так как же заставить работать обе карточки на MTU=1460

              <wan><if>sk0</if>
              <mtu>1460</mtu>
              <media><mediaopt><bandwidth>100</bandwidth>

              Вот что записано, но карта работает с MTU=1500

              sk0: flags=8943 <up,broadcast,running,promisc,simplex,multicast>metric 0 mtu 1500
                      options=b <rxcsum,txcsum,vlan_mtu>capabilities=b <rxcsum,txcsum,vlan_mtu>Т.Е.  параметр <mtu>1460</mtu> просто не считывается с конфига</rxcsum,txcsum,vlan_mtu></rxcsum,txcsum,vlan_mtu></up,broadcast,running,promisc,simplex,multicast></mediaopt></media></wan></mediaopt></media></lan></interfaces></mediaopt></media></lan></interfaces>

              1 Reply Last reply Reply Quote 0
              • D
                DasTieRR
                last edited by

                Тесты лучше проводить на виртуалке :)

                dvserg написал про мост, может дело в этом.

                P.S. Если какие то параметры в rc приводят к конфликту, то pfsense восстанавливает рабочий конфиг из архива.

                1 Reply Last reply Reply Quote 0
                • L
                  l2grom
                  last edited by

                  @DasTieRR:

                  Тесты лучше проводить на виртуалке :)

                  dvserg написал про мост, может дело в этом.

                  P.S. Если какие то параметры в rc приводят к конфликту, то pfsense восстанавливает рабочий конфиг из архива.

                  Дак как же заставить работать карты с MTU=1460 ПРИ СТАРТЕ СИСТЕМЫ, может скрипт какой добавить в автозагрузку типа
                  start.sh
                  …
                  ifconfig -m re0 metric 0 mtu 1460

                  1 Reply Last reply Reply Quote 0
                  • D
                    dvserg
                    last edited by

                    Syslog что пишет при сохранении Wan ?
                    Беспроводные интерфейсы есть? или оба ethernet ?

                    SquidGuardDoc EN  RU Tutorial
                    Localization ru_PFSense

                    1 Reply Last reply Reply Quote 0
                    • L
                      l2grom
                      last edited by

                      @dvserg:

                      Syslog что пишет при сохранении Wan ?
                      Беспроводные интерфейсы есть? или оба ethernet ?

                      Оба ethernet, Syslog при сохранении Wan
                      php: : An error occurred while trying to obtain the MTU setting for re0. Using 1500.

                      1 Reply Last reply Reply Quote 0
                      • D
                        dvserg
                        last edited by

                        @l2grom:

                        @dvserg:

                        Syslog что пишет при сохранении Wan ?
                        Беспроводные интерфейсы есть? или оба ethernet ?

                        Оба ethernet, Syslog при сохранении Wan
                        php: : An error occurred while trying to obtain the MTU setting for re0. Using 1500.

                        Ну вот и причина..

                        SquidGuardDoc EN  RU Tutorial
                        Localization ru_PFSense

                        1 Reply Last reply Reply Quote 0
                        • L
                          l2grom
                          last edited by

                          echo get_interface_mtu($config['interfaces'][$lancfg['bridge']]['if']);
                          1500
                          1500
                          16384
                          1536
                          33204
                          1500

                          Прошу прощения, то что тут написано я и так знаю, СИСТЕМА МЕНЯ ТОЛЬКО ПРИДУПРЕДИЛА, ЧТО ПРОИЗОШЛА ОШИБКА, А ЧТО ЗА ОШИБКА.
                          An error occurred while trying to obtain the MTU,

                          что за ошибка, и как заставить карту работать в обход этого XML .

                          1 Reply Last reply Reply Quote 0
                          • L
                            l2grom
                            last edited by

                            @l2grom:

                            echo get_interface_mtu($config['interfaces'][$lancfg['bridge']]['if']);
                            1500
                            1500
                            16384
                            1536
                            33204
                            1500

                            Прошу прощения, то что тут написано я и так знаю, СИСТЕМА МЕНЯ ТОЛЬКО ПРИДУПРЕДИЛА, ЧТО ПРОИЗОШЛА ОШИБКА, А ЧТО ЗА ОШИБКА.
                            An error occurred while trying to obtain the MTU,

                            что за ошибка, и как заставить карту работать в обход этого XML .

                            НУ ЧТО-ЖЕ ДЕЛАТЬ ТА, ВЕСЬ ЭТОТ МОНСТР БЕЗ УПРАВЛЕНИЯ MTU НЕ КУДА НЕ ГОДИТЬСЯ. МОЖЕТ СКРИПТОМ ЗАСТАВИТЬ РАБОТАТЬ?

                            1 Reply Last reply Reply Quote 0
                            • D
                              dvserg
                              last edited by

                              Вот это выполни
                              echo get_interface_mtu($config['interfaces'][$config['interfaces']['lan']['bridge']]['if']);
                              –-
                              Все понял откуда ноги.
                              Создается бридж с нулевым MTU. А потом для него ставится 1500 с предупреждением. Для всех интерфейсов в бридже MTU должно быть одинаковое. Пoэтому, чтобы не равнять между собой MTU с каждого интерфейса ставится стандартное 1500.
                              То есть это скорее не баг а фича. Остается посмотреть что с MTU у BSD систем вообще.
                              Для интереса можешь поменять дефолтное значение для бриджа /etc/inc/interfaces.inc строка 143.

                              SquidGuardDoc EN  RU Tutorial
                              Localization ru_PFSense

                              1 Reply Last reply Reply Quote 0
                              • D
                                dvserg
                                last edited by

                                @l2grom:

                                @dvserg:

                                Вот это выполни
                                echo get_interface_mtu($config['interfaces'][$config['interfaces']['lan']['bridge']]['if']);

                                echo get_interface_mtu($config['interfaces'][$config['interfaces']['lan']['bridge']]['if']);

                                1500

                                это все что выдал

                                Ответ выше.

                                SquidGuardDoc EN  RU Tutorial
                                Localization ru_PFSense

                                1 Reply Last reply Reply Quote 0
                                • L
                                  l2grom
                                  last edited by

                                  @dvserg:

                                  Вот это выполни
                                  echo get_interface_mtu($config['interfaces'][$config['interfaces']['lan']['bridge']]['if']);
                                  –-
                                  Все понял откуда ноги.
                                  Создается бридж с нулевым MTU. А потом для него ставится 1500 с предупреждением. Для всех интерфейсов в бридже MTU должно быть одинаковое. Пoэтому, чтобы не равнять между собой MTU с каждого интерфейса ставится стандартное 1500.
                                  То есть это скорее не баг а фича. Остается посмотреть что с MTU у BSD систем вообще.
                                  Для интереса можешь поменять дефолтное значение для бриджа /etc/inc/interfaces.inc строка 143.

                                  Да, действительно, но я тут вижу лишь переменные, которые уже являются константами, как их изминить
                                       /* bridged? */
                                  строка   143 >      if ($lancfg['bridge']) {
                                                 setup_bridge();
                                         }

                                  /* media */
                                         if ($lancfg['media'] || $lancfg['mediaopt']) {
                                                 $cmd = "/sbin/ifconfig " . escapeshellarg($lancfg['if']);
                                                 if ($lancfg['media'])
                                                         $cmd .= " media " . escapeshellarg($lancfg['media']);
                                                 if ($lancfg['mediaopt'])
                                                         $cmd .= " mediaopt " . escapeshellarg($lancfg['mediaopt']);
                                                 mwexec($cmd);
                                         }

                                  И где здесь поставить MTU=1462 ?

                                  Но если возможно, то как не вмешиваясь в этот код заставить работать карточки на МТУ=1462. Если есть способ, то поделитесь пожалуйста.

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    DasTieRR
                                    last edited by

                                    Я вот из темы упустил, если руками команды набивал, pfsense применял новое значение mtu?

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      dvserg
                                      last edited by

                                      		if(intval($mtu) == 0) {
                                      			log_error("An error occurred while trying to obtain the MTU setting.  Using 1500.");
                                      			$mtu = "1500]";
                                      		}
                                      
                                      

                                      SquidGuardDoc EN  RU Tutorial
                                      Localization ru_PFSense

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        l2grom
                                        last edited by

                                        @DasTieRR:

                                        Я вот из темы упустил, если руками команды набивал, pfsense применял новое значение mtu?

                                        да, руками когда набивал значения применялись

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          l2grom
                                          last edited by

                                          @dvserg:

                                          		if(intval($mtu) == 0) {
                                          			log_error("An error occurred while trying to obtain the MTU setting.  Using 1500.");
                                          			$mtu = "1500]";
                                          		}
                                          
                                          

                                          yes ) но это не 143 строка.

                                          1671 >              if (intval($mtu) == 0) {
                                                                          log_error("An error occurred while trying to obtain the MTU setting for $bridgeif.  Using 1500.");
                                                                          $mtu = "1500";

                                          Тем не менее огромное спасибо. Попробую поиграю с параметром, результат отпишу.

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            DasTieRR
                                            last edited by

                                            @l2grom:

                                            @DasTieRR:

                                            Я вот из темы упустил, если руками команды набивал, pfsense применял новое значение mtu?

                                            да, руками когда набивал значения приминались

                                            Вопрос dvserg, если руками параметры применялись, то почему бы их не внести в rc? (вопрос для саморазвития, может я что-то не знаю)

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