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.
    • L
      l2grom
      last edited by

      @dvserg:

      Отпиши в англоязычной ветке. Если что - гугл поможет с переводом.

      эта проблема затрагивает всех пользователей PFSENSE,  и хотелось-бы чтоб в и в русской ветке в ответы на часто задаваемые вопросы был ответ, и ответ на русском языке, с толкованием, Мы все понимаем что эта проблема и одна пожалуй из самых первостепенных, ибо, не только для меня но и для всех,  этот параметр отвечает за качество связи, и вообще связь с узлами как токовыми. к примеру, с провайдерам ужасные лаги, задав данный параметр в WEB-морде я с чувством исполненного долго даже не смотрю, а работает ли мой WAN с MTU указаным в WEB-морде, ведь я уверен что конфа правильно считывается, тут то и есть ГРАБЛИ, и о них должен знать каждый.

      Давайте решим эту проблему и поместим в фао.

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

        Прежде всегда надо-бы версию PFSense выложить.

        SquidGuardDoc EN  RU Tutorial
        Localization ru_PFSense

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

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

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

            @DasTieRR:

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

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

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