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

    Pfsense 2.0 traffic shaper вопросы

    Scheduled Pinned Locked Moved Russian
    60 Posts 5 Posters 30.2k 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.
    • M
      Michael Sh.
      last edited by

      @dvserg:

      Набросал схему прохождения трафика в PF (как я ее понял).

      Не соответствует http://homepage.mac.com/quension/pf/flow.png. Главное несоответствие в контексте шейпера - очереди ALTQ работают на выходе из PF (т.е при выходе из очереди пакет уже никак не обрабатывается PF). Как я понимаю структуру пфсенса (во freebsd вариантов больше), с выхода очереди пакет попадает на IPFW (если необходимо) и далее на отправку транспортным протоколом интерфейса.
      В контексте фильтра свойство in имеет пакет принятый роутером через этот интерфейс, а out - покидающий роутер через этот интерфейс. Акцентирую: принятый/покидающий роутер.

      По-моему путь пакета сквозь роутер на картинке упрощённо должен выглядеть так:
      int LAN -> in filter -> processing -> out filter -> shaper queue -> int WAN

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

        @Michael:

        @dvserg:

        Набросал схему прохождения трафика в PF (как я ее понял).

        Не соответствует http://homepage.mac.com/quension/pf/flow.png. Главное несоответствие в контексте шейпера - очереди ALTQ работают на выходе из PF (т.е при выходе из очереди пакет уже никак не обрабатывается PF). Как я понимаю структуру пфсенса (во freebsd вариантов больше), с выхода очереди пакет попадает на IPFW (если необходимо) и далее на отправку транспортным протоколом интерфейса.
        В контексте фильтра свойство in имеет пакет принятый роутером через этот интерфейс, а out - покидающий роутер через этот интерфейс. Акцентирую: принятый/покидающий роутер.

        In/Out применимы в контексте интерфейса, а не роутера. Пакет пришел на интерфейс (IN) и покинул его (Out). Далее системой роутится на другой интерфейс, на котором тоже пришел (In) / ушел (Out).

        SquidGuardDoc EN  RU Tutorial
        Localization ru_PFSense

        1 Reply Last reply Reply Quote 0
        • M
          Michael Sh.
          last edited by

          @dvserg:

          In/Out применимы в контексте интерфейса, а не роутера. Пакет пришел на интерфейс (IN) и покинул его (Out). Далее системой роутится на другой интерфейс, на котором тоже пришел (In) / ушел (Out).

          Вот в этом и основной затык в понимании любых фильтров. Что значит "пакет покинул интерфейс"? Вот если вразумительно ответить себе на этот вопрос придёт и понимание.

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

            @Michael:

            @dvserg:

            Набросал схему прохождения трафика в PF (как я ее понял).

            Не соответствует http://homepage.mac.com/quension/pf/flow.png. Главное несоответствие в контексте шейпера - очереди ALTQ работают на выходе из PF (т.е при выходе из очереди пакет уже никак не обрабатывается PF). Как я понимаю структуру пфсенса (во freebsd вариантов больше), с выхода очереди пакет попадает на IPFW (если необходимо) и далее на отправку транспортным протоколом интерфейса.
            В контексте фильтра свойство in имеет пакет принятый роутером через этот интерфейс, а out - покидающий роутер через этот интерфейс. Акцентирую: принятый/покидающий роутер.

            По-моему путь пакета сквозь роутер на картинке упрощённо должен выглядеть так:
            int LAN -> in filter -> processing -> out filter -> shaper queue -> int WAN

            Мммм примерно понял нестыковку: Queue tagging - есть "маркировка" пакетов для ALTQ.
            Сам процесс шейпинга происходит при покидании пакетом роутера.
            Заменил рисунок - пните если опять не то.

            SquidGuardDoc EN  RU Tutorial
            Localization ru_PFSense

            1 Reply Last reply Reply Quote 0
            • M
              Michael Sh.
              last edited by

              @dvserg:

              Заменил рисунок - пните если опять не то.

              Да вот тоже затрудняюсь сказать на сколько можно упросить картинку, отражающую логику прохождения пакета, чтобы не потерять достоверность и ещё больше не запутать потенциального изучающего.
              Мне кажется важным указывать на картинке контекст в котором рассматривается путь прохождения пакета. Ведь если рассматривать PF в целом, то из исходной картинки вообще ничего не выкинуть. А если рассматривать шейпер PfSense, то придётся добавлять обработку Layer7, которая осуществляется не с помощью нативных средств PF.

              Мне представляется важным:

              • Показ некоторой обработки пакета, например в виде "облака", даже если эта обработка не важна в рассматриваемом контексте. Как пример - маршрутизация в контексте шейпера, дабы не создавалось впечатление прямой кишки.
              • "Пути", которые проходит пакет при приёме и передаче логически разные. Неплохо бы это подчёркивать на схеме.
              • Очереди ALTQ на разных интерфейсах независимы. Изображение ALTQ одним блоком может вызвать ощущение корреляции между очередями на разных интерфейсах.

              Я вот думаю неплохо бы попытаться изобразить полную схему обработки трафика Пфсенсом, да что-то пока стрёмно. Туда ведь и IPv6 надо добавлять и протоколы маршрутизации.

              PS (offtop):
              Пробовал тут накатить IPv6 ветку на домашний пфсенс. У меня провайдер даёт нативную поддержку IPv6. Пока ничего хорошего не получилось.

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

                У меня стояла задача блоками изобразить простую логику обработки пакета, чтобы было видно и понятно когда и какой этап проходит. Более продвинутым и оригинальная схема поможет. ALTQ отображена как функциональный блок без внутренней детализации - здесь еще есть вариант подумать над ней.

                SquidGuardDoc EN  RU Tutorial
                Localization ru_PFSense

                1 Reply Last reply Reply Quote 0
                • A
                  alexandrnew
                  last edited by

                  да я в принципе и так понял :) недавно разбирался с iptables…
                  думаю по топикам моим видно что не совсем начинающий :) но всего знать не возможно...
                  как сказал у меня знакомый - если человек умеет фаер нормально писать с консоли - то особых проблем в понимании нету :)

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

                    @alexandrnew:

                    да я в принципе и так понял :) недавно разбирался с iptables…
                    думаю по топикам моим видно что не совсем начинающий :) но всего знать не возможно...
                    как сказал у меня знакомый - если человек умеет фаер нормально писать с консоли - то особых проблем в понимании нету :)

                    Ну ты понял, а другие? Хочется чтобы раз взглянул и понял саму идею, а не лазить днями по первоисточникам и искать смысл.

                    SquidGuardDoc EN  RU Tutorial
                    Localization ru_PFSense

                    1 Reply Last reply Reply Quote 0
                    • A
                      alexandrnew
                      last edited by

                      я ж не спорю :)
                      да и нет уверенности что на 100% понял :)

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

                        @alexandrnew:

                        я ж не спорю :)
                        да и нет уверенности что на 100% понял :)

                        Там кстати неточности и неправильности. Создан отдельный топик - по мере понимания кладу все туда. Если есть комменты/замечания, в личку или сюда.

                        SquidGuardDoc EN  RU Tutorial
                        Localization ru_PFSense

                        1 Reply Last reply Reply Quote 0
                        • A
                          alexandrnew
                          last edited by

                          топик видел, спасибо
                          я подписался :) и заглядываю периодически.
                          пока пригрузили работой, посему - только читаю и думаю.тестить буду со вторника..
                          с наступающими! и Вам желаю отдохнуть!

                          1 Reply Last reply Reply Quote 0
                          • T
                            Tamriel
                            last edited by

                            Как так сделать чтоб исходящий тарфик HTTP (к примеру кто т  upload ит  фото на радикал) ходил по одной  очереди
                            а остальной трафик HTTP ходил по другой ?

                            Это возможно ?

                            Вот что я сделал (но мне кажится что сёрфинг замедляется при этом :( )
                            m_Other HTTP inbound  это для входящего трафика (закачки сёрфинг)
                            m_Other HTTP outbound  для аплоада.

                            33.png
                            33.png_thumb

                            AMD Athlon™ XP 1700+
                            384MB Ram
                            NanoBSD Boot Slice pfsense0 / da0s1
                            Platform nanobsd (512mb)
                            Version 2.0-RELEASE (i386)
                            built on Wed Sep 14 09:08:10 EDT 2011

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

                              Возможно, если настроите правилами файрвола.

                              SquidGuardDoc EN  RU Tutorial
                              Localization ru_PFSense

                              1 Reply Last reply Reply Quote 0
                              • T
                                Tamriel
                                last edited by

                                Всё супер тока вот с фаерволом в шейпере как то трудновато.
                                можно ещё раз кто врубил какой принцип работы фаера

                                Как я понял
                                Абсолютно все общие правила должны быть вверху(тоесть если нада ловить p2p и прочий тяжёлый трафик)
                                а там http pop3 (всё что улаживается в небольшой диапозон портов и ip адрессов)
                                должны быть снизу с пометкой quick

                                AMD Athlon™ XP 1700+
                                384MB Ram
                                NanoBSD Boot Slice pfsense0 / da0s1
                                Platform nanobsd (512mb)
                                Version 2.0-RELEASE (i386)
                                built on Wed Sep 14 09:08:10 EDT 2011

                                1 Reply Last reply Reply Quote 0
                                • A
                                  alexandrnew
                                  last edited by

                                  @Tamriel:

                                  Всё супер тока вот с фаерволом в шейпере как то трудновато.
                                  можно ещё раз кто врубил какой принцип работы фаера

                                  Как я понял
                                  Абсолютно все общие правила должны быть вверху(тоесть если нада ловить p2p и прочий тяжёлый трафик)
                                  а там http pop3 (всё что улаживается в небольшой диапозон портов и ip адрессов)
                                  должны быть снизу с пометкой quick

                                  без quick
                                  так как quick - сразу применяет правило, а не просто "метит" для шейпера, т.е. если вы сделаете quick, а в правилах на интерфейсе - запретите, то запрет не сработает.

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    Tamriel
                                    last edited by

                                    тоесть фаервол (флоатинг) сначало все правила просмотрит и какое последние нашёл то и срабатывает ?

                                    AMD Athlon™ XP 1700+
                                    384MB Ram
                                    NanoBSD Boot Slice pfsense0 / da0s1
                                    Platform nanobsd (512mb)
                                    Version 2.0-RELEASE (i386)
                                    built on Wed Sep 14 09:08:10 EDT 2011

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      alexandrnew
                                      last edited by

                                      смотри. если правила в  Floating Rules без quick см. http://forum.pfsense.org/index.php/topic,33870.msg176410.html#msg176410
                                      то они помечаются в порядке прохождения, а далее - идут по правилам на интерфейсах,
                                      пример: пометилось все первым правилом, в очередь. например р2р, далее идет вниз по правилам, если находится более "точное" - например подходящее под порт - помечается уже им, если до конца правил уже нет вхождений - то переходит на правила интерфейсов, а там либо разрешен траф либо запрещен…
                                      если же поставить quick - то сразу пакет будет пройден по правилу (deny\allow....) и не пройдет далее., следовательно если первое правило с очередью р2р сделать quick - то весь траф будет только по этой очереди.

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        Tamriel
                                        last edited by

                                        значит правила проходят с верху в низ и помечает только самое точно из них (без пометки quick)

                                        AMD Athlon™ XP 1700+
                                        384MB Ram
                                        NanoBSD Boot Slice pfsense0 / da0s1
                                        Platform nanobsd (512mb)
                                        Version 2.0-RELEASE (i386)
                                        built on Wed Sep 14 09:08:10 EDT 2011

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          Tamriel
                                          last edited by

                                          и что даёт вот эта минюшка ?

                                          21.png
                                          21.png_thumb

                                          AMD Athlon™ XP 1700+
                                          384MB Ram
                                          NanoBSD Boot Slice pfsense0 / da0s1
                                          Platform nanobsd (512mb)
                                          Version 2.0-RELEASE (i386)
                                          built on Wed Sep 14 09:08:10 EDT 2011

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            alexandrnew
                                            last edited by

                                            это к какому интерфейсу применять, насколько я понимаю  если не делаешь quick - то лучше не трогайц - применяться будет ко всем, в т.ч. и новым (пптп, ипсек и тд)
                                            я лично пока еще разбираюсь с шейпером по топику и благодаря dvserg.
                                            но правила делаю как рекомендовали - в  Floating - пометки для шейпера, а все остальное - по интерфейсам

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