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

    Фильтрация пакетов, NAT, большой обьём трафик

    Scheduled Pinned Locked Moved Russian
    86 Posts 6 Posters 17.4k 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.
    • R
      rubic
      last edited by

      Тут года 3 назад был мегасрач в английской ветке по поводу несильного DOS каким-то OVH-скриптом, от которого pfSense валится на раз. Позиция разработчика заключается в том, что pfSense - это ни разу не DDOS Mitigation решение, это firewall. Если вы так уж привержены этому дистрибутиву, ставьте еще один pfSense мостом-посредником на проблемном канале, тут в такие дебри вряд ли кто залезал и кроме man pfctl что-то предложить сложно.

      1 Reply Last reply Reply Quote 0
      • U
        Uranus
        last edited by

        @rubic:

        Тут года 3 назад был мегасрач в английской ветке по поводу несильного DOS каким-то OVH-скриптом, от которого pfSense валится на раз. Позиция разработчика заключается в том, что pfSense - это ни разу не DDOS Mitigation решение, это firewall. Если вы так уж привержены этому дистрибутиву, ставьте еще один pfSense мостом-посредником на проблемном канале, тут в такие дебри вряд ли кто залезал и кроме man pfctl что-то предложить сложно.

        Просто интересно, а что вы можете предложить из других (наверно более хороших) дистрибутивов…?

        И да, пока что я просто собираю информацию, можно ли решить эту проблему без фильтрующих PFsense, если ничего не выйдет придётся ставить второй PF, вопрос только как лучше будет..., для фильтра поставить один как бридж и через него уже трафик прогонять с атакуемого канала, который потом пойдёт на основной Pfsense..., так же обдумываю возможность сделать всё это на виртуалках, не знаю правда на сколько это реально...

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

          Добрый.

          Похоже я немного поторопился с закрытием темы, но за то появились более-менее точные данные.

          Надо же. Вот неожиданность. Ув. Fallen_A, ау, с нетерпением ждем ваших "советов" по компилированию кде под бсд.

          @Uranus:

          Смысл такой, когда на роутер на любой из Wan-ов валятся фрагментированные пакеты в большом кол-ве  то в консоли появляются записи типа pf frag entries limit reached
          что означает что у нас переполнен буфер размер которого мы указываем в  System - Advanced - Firewall & NAT - Firewall Maximum Fragment Entries.
          По умолчанию он вообще всего 5000, но его увеличение мало что нам даёт, достаточно чуть больше продлиться DDOS атаке и его опять переполняет.

          Или может у кого есть другие идеи как можно решить эту проблему?!

          Поставить галку на Disable Firewall Scrub. И снять с Clear invalid DF bits instead of dropping the packets. Также "поиграть" с Firewall Optimization Options (выставить Aggressive, напр.).

          Позиция разработчика заключается в том, что pfSense - это ни разу не DDOS Mitigation решение, это firewall.

          1. ТС это никак не поймет. ТС упрям. До безобразия.
          2. Было ж предложено альтернативу тому ПО, что он пользует, к-ая умеет TCP only (http://ccm.net/faq/26187-mumble-force-tcp-mode) и ничем не хуже TS - https://wiki.mumble.info/wiki/1.3.0 . В чем проблема развернуть и потестить в том же VBox-е? Но… см. п.1

          1 Reply Last reply Reply Quote 0
          • U
            Uranus
            last edited by

            @werter:

            Добрый.
            Надо же. Вот неожиданность. Ув. Fallen_A, ау, с нетерпением ждем ваших "советов" по компилированию кде под бсд.

            Фууу, уважаемый, как некрасиво.., и потом, вы были не правы тогда, как и не правы сейчас, советы Fallen_A помогли, хоть и не до конца, потери на втором канале стали меньше, хотя, как выяснилось, и не пропали полностью…

            @Uranus:

            Поставить галку на Disable Firewall Scrub. И снять с Clear invalid DF bits instead of dropping the packets. Также "поиграть" с Firewall Optimization Options (выставить Aggressive, напр.).

            Боюсь при отключении Scrub я могу получить другие проблемы, и кроме того если я не ошибаюсь он нужен для нормальной работы NAT.
            Clear invalid DF bits instead of dropping the packets - что с ним что без него разницы нет, уже проверял.
            Firewall Optimization Options меняет не все таймауты, я проверял командой pfctl -st, без разницы какой режим ставишь таймаут Frag не изменяется, потому и спросил может есть ещё какой вариант изменить его?!

            1. ТС это никак не поймет. ТС упрям. До безобразия.
            2. Было ж предложено альтернативу тому ПО, что он пользует, к-ая умеет TCP only (http://ccm.net/faq/26187-mumble-force-tcp-mode) и ничем не хуже TS - https://wiki.mumble.info/wiki/1.3.0 . В чем проблема развернуть и потестить в том же VBox-е? Но… см. п.1

            Уважаемый это скорее вы упрямы до безобразия, вам же сказали каковы условия задачи, причём сказали несколько раз, вот с этими условиями её и надо решать, а не изменять так как вам легче, задачу ставлю я, на тех условиях которые подходят мне, и решать её я буду исходя из них…
            Ваш же подход можно описать одной фразой: "Нет человека, нет проблемы!", вы предпочитаете не лечить человека, а просто пристрелить его, потому что лечить сложно, а мёртвые не болеют!  :D

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

              Вы путаете теплое с мягким. Ни pf, ни iptables в случае c UDP вам не помогут - нет механизма ограничения установления кол-ва соединений за ед. времени.  С TCP же это решаемо.

              советы Fallen_A помогли, хоть и не до конца, потери на втором канале стали меньше

              То, что вы поленились заглянуть в оф. вики за советом по настройке - ваши проблемы.

              Атакуют вас с умом. Решить же вы пытаетесь без использования оного.

              1 Reply Last reply Reply Quote 0
              • U
                Uranus
                last edited by

                @werter:

                Вы путаете теплое с мягким. Ни pf, ни iptables в случае c UDP вам не помогут - нет механизма ограничения установления кол-ва соединений за ед. времени.  С TCP же это решаемо.

                Странно, для чего тогда у нас в PF есть state  :)!

                То, что вы поленились заглянуть в оф. вики за советом по настройке - ваши проблемы.

                Да мои, с другой стороны вы предлагали что угодно, но не решение проблемы, на тех условиях которые меня устраивают…

                Атакуют вас с умом. Решить же вы пытаетесь без использования оного.

                Про решение проблем по вашему я написал в предыдущем посте, перечитайте начиная с "Уважаемый это скорее вы упрямы до безобразия"  :)!

                p.s.
                Если вам нечего сказать по теме то попрошу вас больше не писать в эту тему, ваш сарказм тут не оценят…

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

                  UDP packets don't have NEW,RELATED or ESTABLISHED connections. UDP is connection-less …

                  Вне зависимости от ваших "желаний".

                  1 Reply Last reply Reply Quote 0
                  • U
                    Uranus
                    last edited by

                    @werter:

                    UDP packets don't have NEW,RELATED or ESTABLISHED connections. UDP is connection-less …

                    Вне зависимости от ваших "желаний".

                    Мне достаточно просто кол-ва соединений UDP которые я вполне могу определить по state и в Advanced Options правила я могу это указать, и это прекрасно работает, проверенно уже не раз и не два, да, не так гибко можно настроить как с TCP, но всё же…
                    p.s.
                    Кстати это одна из причин моего перехода с Микротика на PFsense.

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

                      https://goo.gl/q55ETW

                      https://www.openbsd.org/faq/pf/filter.html#udpstate

                      Keeping state for UDP
                      One will sometimes hear it said that "one cannot create state with UDP, as UDP is a stateless protocol!" While it is true that a UDP communication session does not have any concept of state (an explicit start and stop of communications), this does not have any impact on PF's ability to create state for a UDP session. In the case of protocols without "start" and "end" packets, PF simply keeps track of how long it has been since a matching packet has gone through. If the timeout is reached, the state is cleared. The timeout values can be set in the options section of the pf.conf file.

                      То, что может помочь в ограничение кол-ва подключений относится только к TCP. Т.е. именно то, что надо вам. Но не в случае с (вашим) UDP.

                      ![2018-03-10 15_48_42.png](/public/imported_attachments/1/2018-03-10 15_48_42.png)
                      ![2018-03-10 15_48_42.png_thumb](/public/imported_attachments/1/2018-03-10 15_48_42.png_thumb)

                      1 Reply Last reply Reply Quote 0
                      • U
                        Uranus
                        last edited by

                        Поглядите на Max. states - Maximum state entries this rule can create., могу вас заверить для UDP это работает, не всегда очень точно, но сам видел при DDOS атаке, и кстати почитайте как оно работает…
                        Так же помогает Max. src nodes которое тоже работает с UDP…

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

                          https://www.packetmischief.ca/2011/02/17/hitting-the-pf-state-table-limit/

                          https://forum.pfsense.org/index.php?topic=68497.0

                          Max. states действует и на good и на bad guys, т.к. это общее правило по states.

                          Max. src nodes действует и на good и на bad guys, т.к. это общее правило по src nodes

                          Интереснее Max. src. states (Maximum state entries per host), но можно и не угадать и для good guys.

                          Итого. С большой долей вер-ти можно предположить, что вас немного выручают правила pfblocker-а по странам (просто и эффективно дропят вне зависимости от). Ибо вышеописанное c max states - рулетка в чистом виде в случае с UDP, т.е. может дропнуть линк и от хороших и от плохих парней.

                          Скрин того, как настроено это у вас. И механизм того, как вы высчитываете это значение.

                          1 Reply Last reply Reply Quote 0
                          • U
                            Uranus
                            last edited by

                            @werter:

                            https://www.packetmischief.ca/2011/02/17/hitting-the-pf-state-table-limit/

                            https://forum.pfsense.org/index.php?topic=68497.0

                            Max. states действует и на good и на bad guys, т.к. это общее правило по states.

                            Max. src nodes действует и на good и на bad guys, т.к. это общее правило по src nodes

                            Интереснее Max. src. states (Maximum state entries per host), но можно и не угадать и для good guys.

                            Итого. С большой долей вер-ти можно предположить, что вас немного выручают правила pfblocker-а по странам (просто и эффективно дропят вне зависимости от). Ибо вышеописанное c max states - рулетка в чистом виде в случае с UDP, т.е. может дропнуть линк и от хороших и от плохих парней.

                            Скрин того, как настроено это у вас. И механизм того, как вы высчитываете это значение.

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

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

                              У вас ведь проброс портов для TS имеется на обоих каналах? И народ подк. и к одному и ко второму ? И "плохой" народ тоже. Т.е. забив udp-пакетами один канал принимаются за другой.
                              Это так ?

                              Скрин того, как настроено это у вас. И механизм того, как вы высчитываете это значение. Покажите. Объясните.

                              1 Reply Last reply Reply Quote 0
                              • U
                                Uranus
                                last edited by

                                @werter:

                                У вас ведь проброс портов для TS имеется на обоих каналах? И народ подк. и к одному и ко второму ? И "плохой" народ тоже. Т.е. забив udp-пакетами один канал принимаются за другой.
                                Это так ?

                                Скрин того, как настроено это у вас. И механизм того, как вы высчитываете это значение. Покажите. Объясните.

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

                                Скрин как правило настроено, да просто в правиле которое автоматически создаётся при пробросе порта тимспика я добавляю несколько ограничений (пробрасываются же ещё не все страны):

                                Max. states - 600
                                Max. src nodes - 370
                                Max. src. states - 5

                                Кроме того на это же правило проброса установлен лимитер ограничивающий обьём трафика который может передать один IP в секунду.

                                Это позволяет держать трафик который идёт с роутера даже по проброшенным портам в пределах нормы, остальное PF блокирует сам, просто иногда я ему немного помогаю и шаблонные атаки блокирую в Float, теми правилами которые вам так не понравились.

                                1 Reply Last reply Reply Quote 0
                                • U
                                  Uranus
                                  last edited by

                                  @oleg1969:

                                  @werter:

                                  https://goo.gl/q55ETW

                                  Хорошая ссылка !

                                  –-------------------------

                                  НО эта лучше

                                  http://projectinformationsystem.com/venohostshare/download/dXBsb2Fkcy9lYm9vay9Qcm9ncmFtbWluZy9NYXN0ZXJpbmctcGZTZW5zZS5wZGY=/h/303f05eeebd764d37227c3f60514d97f

                                  Полная Однако!

                                  Спасибо уже прочитал, вы бы кстати перевели или выложили подробную статью о установке и настройке PFsense на вируталках, можно ли сделать так что на одном компе сделать две вируталки, одна будет фильтрующим бриджем, с которого трафик после определённого фильтра будет поступать на вторую виртуалку уже с обычным роутером, причём интересует возможность бриджа пропускать трафик сразу с двух провайдеров.
                                  То есть 4 сетевые, два провайдера входят, фильтруются и выходят, а на втором роутере уже устанавливаются соединения PPPOE или что-то другое и выдаётся в локалку как обычно…

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

                                    Max. states - 600
                                    Max. src nodes - 370
                                    Max. src. states - 5

                                    Ок. Не спрашиваю. Но стиль "потому что гладиолус" прослеживается чОтко  ;D

                                    Кроме того на это же правило проброса установлен лимитер ограничивающий обьём трафика который может передать один IP в секунду.

                                    Подробнее с этого места. Со скринами. Спасибо.

                                    2 oleg1969
                                    Спасибо. Но за такое тут могут и ай-ай-ай. Я бы убрал. Кому надо - в ЛС.

                                    1 Reply Last reply Reply Quote 0
                                    • U
                                      Uranus
                                      last edited by

                                      Ок. Не спрашиваю. Но стиль "потому что гладиолус" прослеживается чОтко  ;D
                                      Подробнее с этого места. Со скринами. Спасибо.

                                      Господи какой же вы всё таки вредный и самоуверенный человек, все у вас гладиолусы, один вы админ на белом коне  :)
                                      Вот вам скрины, а я пошёл спать, мне завтра на работу с утреца, но вы не стесняйтесь, пишите свои комментарии, я с утра посмеюсь  ;):

                                      PF1.png
                                      PF1.png_thumb
                                      PF2.png
                                      PF2.png_thumb
                                      PF3.png
                                      PF3.png_thumb
                                      Limiter.png
                                      Limiter.png_thumb

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

                                        пишите свои комментарии, я с утра посмеюсь

                                        Давайте посмеемся. Вместе.

                                        На скринах :
                                        Max states - 700 (общее кол-во)
                                        Max. src nodes - 370
                                        Max. src states - 5

                                        Max states = Max. src nodes X Max. src states , т.е. 370 X 5 = 1850 в "макс. комплектации". Можно немного меньше. Но никак не 700, т.к. это менее двух src states на один ip\ одного клиента. Или уменьшайте Max. src states. Но как при этом себя "голос" поведет - я хз. Сколько ему установленных udp-линков надо для одного звонка - 2-3? Уточните этот момент.

                                        У вас на TS аж 370 человек? Пересчитайте все учетки на TS, умножьте и введите верные значения. Прим.: умножать на калькуляторе, потому как доверия уже нетУ  :'(

                                        Вот такие сейчас "математики".

                                        По Лимитеру.
                                        Скорее всего он неверно сконфигурирован\ правило fw не то (возможно, Лимитер нужно к правилу во Флоатинг рулез привязать, т.к. они работают первее правил на интерфейсах). Ибо не было бы на вас атак в сотню мегабит при 400 кбит\с на чел с такими настройками. Плюс 400 кбит\с для голоса явно избыточно.

                                        Вот вам скрины, а я пошёл спать, мне завтра на работу с утреца

                                        И контакты начальника. Хотел бы с ним побеседовать. Если вы и он - it-ники. Если же он "бизнесмЭн" - считайте, что вам крупно повезло.

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pigbrother
                                          last edited by

                                          А где здесь криминал ?
                                          Все найдено на просторах Инета , тем более ссылка в свободном доступе.

                                          Не все, что можно найти на просторах интернета законно, и то, что книгу  ммм… выложил кто-то другой не делает ее бесплатной.
                                          https://www.amazon.com/Mastering-pfSense-David-Zientara/dp/1786463431/ref=sr_1_1_sspa?ie=UTF8&qid=1520706884&sr=8-1-spons&keywords=Mastering+pfSense&psc=1

                                          Лучше ссылку все же удалить.

                                          1 Reply Last reply Reply Quote 0
                                          • U
                                            Uranus
                                            last edited by

                                            werter
                                            Да, да, да, у меня всё неверно сконфигурировано, и лимитер, хотя он работает, были уже идиоты пытавшиеся завалить меня трафиком с одного соединения на проброшенный порт, проверенно уже не раз, и не два и даже не десять, но раз вы сказали то естественно он не работает, надо удалит (сарказм)  :)
                                            На счёт states, такие настройки сделаны для свободного прохождения трафика от правильных пользователей, когда нет DDOS атак, да там не совсем верны цифры в математическом плане, но я их подбирал во время атаки, и если честно мне некогда было считать, а на данный момент, я их не трогаю, работает и ладно, или мне их тоже надо удалить только потому что вам не нравиться.
                                            Ещё раз повторю цифры сделаны с запасом, бывает что обычный пользователь за счёт всяких плагинов умудряется создать не два, а больше state, потому и поставил Max. src states не 2, а 5.
                                            Max. src nodes да сделал 370…, раньше было чуть более 200, но перед Новым Годом господа ддосеры похоже брали отпуск и у меня на сервере порой тусовались 250-260 человек каждый день и я просто не считая накинул параметр до 370, да Max states тоже надо было бы чуть увеличить, но так и не понадобилось пока что в связи с вновь возобновившимися атаками.

                                            Как я уже и сказал, Лимитер привязан к правилу которое автоматически создаётся при пробросе порта Тимспика, зачем я буду создавать ещё одно правило во Float, вы похоже опять пропустили половину моего текста мимо глаз, то тут мне советуют не делать лишних правил в Float, то сами же говорят создать дубль  :).

                                            Так что завязывайте с умным видом говорить прописные истинны и язвить, меня вы этим не заденете, а себя выставляете в не очень хорошем свете, все мои настройки проверенны, и уже работают под большой нагрузкой не один год,  возможно они немного не точны, но они рабочие, не важно что вам кажется, тем более если вы не можете обьяснить что и почему неправильно.

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