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

    Учет трафика в Netams

    Scheduled Pinned Locked Moved Russian
    28 Posts 3 Posters 13.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.
    • T
      Tosh
      last edited by

      Доброго времени суток

      Общая предыстория такова:
      Есть некая сеть. Периметр сети обслуживается машинками с pfSense на борту. Отдельная машинка обрабатывает трафик на Интернет (несколько провайдеров), отдельная машинка трудится над связью с удаленными филиалам, отдельная машинка трудится над связью с "дружественными сетями" (назовем их так - просто отдельный канал в сеть другой компании, предоставляющей нам свои ресурсы). Все маршруты отдаются по DHCP (дабы избежать "узких мест" в виде единого шлюза). Все крутится, все работает.
      Почему используется pfSense - это просто вопрос лени - нет необходимости никого обучать - в мордочке все достаточно просто и банально.

      Возник вопрос - управления трафиком пользователей (выделение полосы пропускания, квотирование, ведение логов и учет кто где и почему). Вопрос с учетом объема трафика замечательно решился при помощи пакета pfFlowd и соответствующим NetFlow агентом в Netams. Но это только часть того, что хотелось бы поиметь.

      В связи с этим возник вопрос - кто-то пробовал скрестить Netams и pfSense? Можно ли затолкать на шлюзы RemoteAgent и как он в этом случае будет работать?

      1 Reply Last reply Reply Quote 0
      • R
        rubic
        last edited by

        Так вроде все в доках по Netams'у есть. Единственно, что агента придется перекомпилировать, т.к. он собран под 8.2, а pfSense пока на 8.1 еще. Далее в Firewall->Aliases добавляется алиас с именем "ACCESS" и типом Host(s). При запуске агенту параметром отдается имя скрипта блокировки (access_pf.sh) - есть на сайте Netams.

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

          @rubic:

          Так вроде все в доках по Netams'у есть. Единственно, что агента придется перекомпилировать, т.к. он собран под 8.2, а pfSense пока на 8.1 еще.

          В документах особо не нашел - может не там смотрел. Если я правильно понимаю - можно прямо в pfSense пересобрать?

          @rubic:

          Далее в Firewall->Aliases добавляется алиас с именем "ACCESS" и типом Host(s). При запуске агенту параметром отдается имя скрипта блокировки (access_pf.sh) - есть на сайте Netams.

          А вот тут можно поподробнее - чего-то я не понимаю. Может ссылку где это описано. При чем ту алиас и почему такое имя?

          1 Reply Last reply Reply Quote 0
          • R
            rubic
            last edited by

            Пересобрать в pfSense не получится, она урезана в этом смысле. Нужно ставить полную FreeBSD соответствующей версии и в ней компилировать.
            По второму вопросу: Netams требует, чтобы руками была создана таблица PF (Packet Filter) с именем ACCESS, в которую он будет помещать заблокированные IP (или наоборот разрешенные, это настраивается).
            В pfSense создать Alias типа Host(s) и значит создать таблицу PF.

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

              @rubic:

              Пересобрать в pfSense не получится, она урезана в этом смысле. Нужно ставить полную FreeBSD соответствующей версии и в ней компилировать.

              Жаль - были большие надежды на девелоперскую версию pfSense (кажется как-то так называется)

              @rubic:

              По второму вопросу: Netams требует, чтобы руками была создана таблица PF (Packet Filter) с именем ACCESS, в которую он будет помещать заблокированные IP (или наоборот разрешенные, это настраивается).
              В pfSense создать Alias типа Host(s) и значит создать таблицу PF.

              А вот тут огромное спасибо - прямо вдохнул надежду … если я правильно понимаю - агент наполняет этот алиас, и уже на основе содержимого этого списка в pfSense можно правила писать?

              1 Reply Last reply Reply Quote 0
              • R
                rubic
                last edited by

                Да, именно так. Точнее, агенту при запуске параметром передается имя скрипта, который добавляет/удаляет записи в этой таблице (пример скрипта есть на сайте - access_pf.sh).
                А что вы будете делать с этой таблицей дальше, дело ваше.

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

                  @rubic:

                  Да, именно так.

                  Аха - ну с разграничением доступа (пущать/не пущать) я так понимаю можно справиться … вот только я так понимаю таким образом по очередям пользователей не распихаешь ... в принципе не страшно, но интересно ...

                  1 Reply Last reply Reply Quote 0
                  • R
                    rubic
                    last edited by

                    Скомпилировал от нечего делать)
                    Далее привожу ссылки на файлы и права, которые надо на них установить:

                    n4agent_pcap -0555
                    access-pf.sh -0755
                    netams4-freebsd.sh -0755

                    Создаем каталог: /usr/local/netams4/jserver/agent и кладем все файлы в него. Делаем симлинки:

                    cd /usr/local/sbin
                    ln -s /usr/local/netams4/jserver/agent/n4agent_pcap n4agent
                    cd /usr/local/etc/rc.d
                    ln -s /usr/local/netams4/jserver/agent/netams4-freebsd.sh netams4.sh
                    

                    В GUI pfSense в Firewall -> Aliases добавляем алиас с именем ACCESS типа Host(s), но никаких хостов в него не заносим. Если такое имя алиаса не нравится, то в /usr/local/netams4/jserver/agent/access-pf.sh надо заменить все вхождения слова 'ACCESS' на то имя алиаса, которое вам больше по душе.
                    В этот алиас по умолчанию будут попадать все заблокированные IP (посмотреть содержимое через GUI нельзя, только через Diagnostics -> command pfctl -t ACCESS -T show). Если надо, чтобы наоборот в нем хранились разрешенные IP, то в /usr/local/netams4/jserver/agent/access-pf.sh DEFAULTPOLICY надо поменять с allow на deny.

                    /usr/local/netams4/jserver/agent/netams4-freebsd.sh делаем таким:

                    
                    #!/bin/sh
                    #
                    #
                    
                    # PROVIDE: n4agent
                    # REQUIRE: SERVERS
                    # BEFORE: DAEMON
                    # KEYWORD: shutdown
                    
                    #
                    # Add the following lines to /etc/rc.conf to enable n4agent:
                    # n4agent_enable (bool):        Set to "NO" by default.
                    #                       Set it to "YES" to enable n4agent.
                    # n4agent_flags (string):       Set to "-p" by default.
                    #                       Extra flags passed to start command.
                    #
                    #
                    
                    . /etc/rc.subr
                    
                    name="n4agent"
                    rcvar=`set_rcvar n4agent`
                    
                    # read settings, set default values
                    load_rc_config ${name}
                    
                    : ${n4agent_enable="YES"}
                    : ${n4agent_flags="-i em0 -e /usr/local/netams4/jserver/agent/access-pf.sh -c 192.168.10.2:20002 -d -s password"}
                    
                    pidfile="/var/run/${name}.pid"
                    command="/usr/local/sbin/${name}"
                    command_args="-p ${pidfile}"
                    
                    run_rc_command "$1"
                    
                    

                    Во первых, : ${n4agent_enable="YES"}, а не NO, как было, а в n4agent_flags добавил:
                    -i em0 - интерфейс, который надо слушать (LAN)
                    -c 192.168.10.2 - адрес сервера netams (было 127.0.0.1, но сервер у меня не на локальной машине).
                    -s password - пароль шифрования пакетов между агентом и сервером (может не нужен, что-то не работало, я менял-менял флаги и этот написал на всякий случай).

                    Запускаем /usr/local/etc/rc.d/netams4.sh (при перезагрузке запустится сам).

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

                      @rubic:

                      Скомпилировал от нечего делать)

                      Это из разряда "Все, что вы хотели знать, но стеснялись спросить".
                      Серьезно - огромное спасибо. Вот прям сразу сейчас проверить не на чем, но я проведу эксперимент и обязательно отпишусь о результатах

                      1 Reply Last reply Reply Quote 0
                      • N
                        netormoz
                        last edited by

                        спокойно помещал в jail внутри pfsense Freebsd. Только делал это с помощью easyjail, а не с помощью менеджера пакетов внутри pfsense. Таким образом FreeBsd в DMZ зоне внутри надежно прикрыта pfsense. Ставил уже на Free Netams - все работало через pfflowd. Преимущества такой схемы - при обновлении не надо опять костыли забивать в pfsense, да и поковыряться в чистой Free тоже полезно для поддержания тонуса.

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

                          @netormoz:

                          спокойно помещал в jail внутри pfsense Freebsd. Только делал это с помощью easyjail, а не с помощью менеджера пакетов внутри pfsense. Таким образом FreeBsd в DMZ зоне внутри надежно прикрыта pfsense. Ставил уже на Free Netams - все работало через pfflowd. Преимущества такой схемы - при обновлении не надо опять костыли забивать в pfsense, да и поковыряться в чистой Free тоже полезно для поддержания тонуса.

                          Вопрос был не в том можно ли внутрь pfSense поставить Netams, а о том каким образом подружить 4-й Netams с pfSense.
                          К стати - если вы поделитесь рецептом каким образом через pfFlowd в Netams отдавать не только объем, но и урлы - буду премного благодарен. В противном случае - прошу читать топик сначала

                          Хотя ваша информация интересная, но не вижу особого практического смысла - проще тогда уже vmWare ESXi (бесплатный) ставить и в него уже грузить и pfSense и FreeBSD  с Netams. Как минимум - такое решение выглядит намного более удобным - виртуальные машины управляются намного лучше да и опять же мордочка для управления, что уже легче для ленивого человека - визуально увидеть графики нагрузки

                          1 Reply Last reply Reply Quote 0
                          • N
                            netormoz
                            last edited by

                            @Tosh:

                            @netormoz:

                            спокойно помещал в jail внутри pfsense Freebsd. Только делал это с помощью easyjail, а не с помощью менеджера пакетов внутри pfsense. Таким образом FreeBsd в DMZ зоне внутри надежно прикрыта pfsense. Ставил уже на Free Netams - все работало через pfflowd. Преимущества такой схемы - при обновлении не надо опять костыли забивать в pfsense, да и поковыряться в чистой Free тоже полезно для поддержания тонуса.

                            Вопрос был не в том можно ли внутрь pfSense поставить Netams, а о том каким образом подружить 4-й Netams с pfSense.
                            К стати - если вы поделитесь рецептом каким образом через pfFlowd в Netams отдавать не только объем, но и урлы - буду премного благодарен. В противном случае - прошу читать топик сначала

                            Хотя ваша информация интересная, но не вижу особого практического смысла - проще тогда уже vmWare ESXi (бесплатный) ставить и в него уже грузить и pfSense и FreeBSD  с Netams. Как минимум - такое решение выглядит намного более удобным - виртуальные машины управляются намного лучше да и опять же мордочка для управления, что уже легче для ленивого человека - визуально увидеть графики нагрузки

                            1. В начальном посте слово "скрестить" необходимо было дополнить своии смыслом. Про 4-ку вообще ни слова не было.
                            2. В pfsense ставить development toolchain - помощь в руки потенциального инсайдера залесть под обычным пользователем и собрать fakeroot с помощью pkgsrc не поднимаясь до рута. PfSense минимизирован для целей безопасности.
                            3. 4-ка собирается без проблем из исходников.
                            4. Практический смысл моего решения в том, что все работает под одним ядром даже на процессоре без аппартной виртуализации, и не нужен трехядерный огород на базе Intel-VT с тремя OS, где 2 под гипервизором.
                            5. Все графики нагрузки нарисуют RRD Пфсенса.
                            6. При обновлении Пфсенса не надо вспоминать про забитые костыли при сборке netam4
                            7. Никаких сложностей в управлении jail через cmd не вижу. Есть и морда к ним кстати.
                            8. pcap агент ставится на роутер и сниффирит сессии с интерфейса, за которым находятся пользователи, а не провайдер, чтобы парсить url
                            Желаю здравствовать

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

                              @netormoz:

                              1. В начальном посте слово "скрестить" необходимо было дополнить своии смыслом. Про 4-ку вообще ни слова не было.
                              2. В pfsense ставить development toolchain - помощь в руки потенциального инсайдера залесть под обычным пользователем и собрать fakeroot с помощью pkgsrc не поднимаясь до рута. PfSense минимизирован для целей безопасности.
                              3. 4-ка собирается без проблем из исходников.
                              4. Практический смысл моего решения в том, что все работает под одним ядром даже на процессоре без аппартной виртуализации, и не нужен трехядерный огород на базе Intel-VT с тремя OS, где 2 под гипервизором.
                              5. Все графики нагрузки нарисуют RRD Пфсенса.
                              6. При обновлении Пфсенса не надо вспоминать про забитые костыли при сборке netam4
                              7. Никаких сложностей в управлении jail через cmd не вижу. Есть и морда к ним кстати.
                              8. pcap агент ставится на роутер и сниффирит сессии с интерфейса, за которым находятся пользователи, а не провайдер, чтобы парсить url
                              Желаю здравствовать

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

                              а вот по поводу оставшихся двух - прошу внимательно читать тему "Учет трафика". При этом в первом сообщении очень конкретно описывается, что у меня уже есть учет через NetFlow и есть сам Netams. Мне совершенно не нужны какие-то извращения, придуманные от желания сэкономить на железе. Да и не являюсь я провайдером (о чем, кстати, я тоже писал в первом сообщении).
                              по поводу пункта №8 - не вопрос - если вы сможете поставить pcap на D-Link DGS-1024 - я готов за это даже заплатить:). Ну а если серьезно - я уже писал - мне не нужны еще прослойки в виде NAS - дополнительные звенья в цепи требуют обслуживания и в данном случае совершенно не нужны.

                              В данном конкретном случае пограничными с пользователями серверами являются сервера с pfSense на борту. При этом такой сервер не один и каждый из них обслуживает свое "направление". Маршруты пользовательским компьютерам отдаются через DHCP. Идея была в том, чтобы все управление делалось через Netams не сильно квалифицированным сотрудником (естественно все сводится к простому заведению/удалению пользователей и назначению им тарифов)

                              1 Reply Last reply Reply Quote 0
                              • N
                                netormoz
                                last edited by

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

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

                                  @netormoz:

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

                                  Ок. Давай тогда попробуем иначе - где в твоем монологе было место про урлы? Если ты снимаешь показания с оборудования - было бы неплохо описать отличия. Я свою ситуацию и оборудование обрисовал.
                                  Пока что я только увидел предложение изменить структуру сети и докупать/заменять оборудование - это не очень правильный вариант для меня. Можешь помочь с тем вариантом, что я описывал? - сейчас как-то не очень.
                                  Если есть альтернатива запихиванию RemoteAgent'а от Netams'а в pfSense - я буду рад услышать каким пакетом и каким образом можно передавать в Netams информацию о трафике (именно урлы, а не счетчики, как это получается при использовании pfFlowd)

                                  1 Reply Last reply Reply Quote 0
                                  • N
                                    netormoz
                                    last edited by

                                    в пункте 8 и был заключен ответ.
                                    С сайта netams берется статически скомпилированный агент и запускается на рутере PFS, который раздает интернет.
                                    Агент натравливается на интерфейс pfs, относительно которого делается НАТ, то есть на локалку, и все данные льет на Netams посети.
                                    В отчетах ты увидишь даные по ip в локалке с url. Агент не надо ставить на каждую машину пользователей  в сети.
                                    Ту все написано и работает
                                    http://docs.netams.com/display/N4/Remote+agent

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

                                      @netormoz:

                                      в пункте 8 и был заключен ответ.
                                      С сайта netams берется статически скомпилированный агент и запускается на рутере PFS, который раздает интернет.
                                      Агент натравливается на интерфейс pfs, относительно которого делается НАТ, то есть на локалку, и все данные льет на Netams посети.
                                      В отчетах ты увидишь даные по ip в локалке с url. Агент не надо ставить на каждую машину пользователей  в сети.
                                      Ту все написано и работает
                                      http://docs.netams.com/display/N4/Remote+agent

                                      Я дико извиняюсь, но кто такие сказки Вам рассказал, что я собирался ставить агент на пользовательские машины? Вы, видимо, все же не читали мое первое сообщение и вообще переписку - ваш ответ полностью дублирует сообщения rubic + несет в себе кучу совершенно ненужной информации + совершенно не информативно.
                                      Зачем писать то, что ответили до Вас? - уже все настроено и работает.
                                      А вот ваше первое сообщение по поводу, того, что у Вас данные собираются через pfFlowd и все нормально работает получается не правда
                                      @netormoz:

                                      спокойно помещал в jail внутри pfsense Freebsd. Только делал это с помощью easyjail, а не с помощью менеджера пакетов внутри pfsense. Таким образом FreeBsd в DMZ зоне внутри надежно прикрыта pfsense. Ставил уже на Free Netams - все работало через pfflowd. Преимущества такой схемы - при обновлении не надо опять костыли забивать в pfsense, да и поковыряться в чистой Free тоже полезно для поддержания тонуса.

                                      … врать-то не хорошо

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        netormoz
                                        last edited by

                                        В отличие от тебя я ни у кого ничего не спрашиваю! Впервые собрал Netams в году 2006. Во всех случаях получалось то, что хотел - через через flow и pcap.
                                        И у меня работает - а тебя до сих пор нет, раз ты сюда пришел!!! И проблема в том, что ты не умеещь делать в cmd из PFS подноценную  Free, потому что система инициализации в PFS переписана. Вместо этого ты начинаешь поучать тех, кто тебе отвечает!!!

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

                                          @netormoz:

                                          В отличие от тебя я ни у кого ничего не спрашиваю! Впервые собрал Netams в году 2006. Во всех случаях получалось то, что хотел - через через flow и pcap.
                                          И у меня работает - а тебя до сих пор нет, раз ты сюда пришел!!! И проблема в том, что ты не умеещь делать в cmd из PFS подноценную  Free, потому что система инициализации в PFS переписана. Вместо этого ты начинаешь поучать тех, кто тебе отвечает!!!

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

                                          … не стоит считать себя лучше остальных

                                          1 Reply Last reply Reply Quote 0
                                          • N
                                            netormoz
                                            last edited by

                                            Вот именно: поучать и отрицать стал именно ты, ужасно обидившись, что замысел твоего 1 поста  не прочитан. Ты начал  тыкать и давать наставления человеку, который просто изложил как сделал он, не давая тебе никаких советов. Вместо того, чтобы вежливо прочесть и сказать "cпасибо", ты полез в бутылку с амбициями непризнанного  гения. Повторяю - у меня все работает, а у тебя нет, как ты хочешь!!!

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