The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Простая настройка NeTAMS во FreeBSD (isp billing traffic freebsd)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: isp, billing, traffic, freebsd,  (найти похожие документы)
From: Bachilo Dmitry <root@solink.ru.> Newsgroups: email Date: Mon, 1 May 2006 18:21:07 +0000 (UTC) Subject: Простая настройка NeTAMS во FreeBSD По многочисленным и уже весьма поднадоевшим просьбам публикую подробную инструкцию по настройке NeTAMS во FreeBSD с использованием данных о трафике из IPFW, с сохранением статистики в MySQL и генерацией страниц-отчетов в виде HTML. Disclimer: Во-первых безусловно NeTAMS мощный инструмент и сделать в нем можно много чего, но я пишу инструкцию самую попсовую для начинающих, которым надо только считать трафик. Во-вторых, да, ipacct это очень здорово и надо использовать именно его, но если админ хочет NeTAMS, почему бы ему не помочь? Тем более что если статистика делается в первую очередь для того, чтобы начальство могло её понимать NeTAMS и проще и гибче. Всё это субъективно, потому статья только для согласных с этим :-) В третьих, написано всё это в попыхах, в перерывах между основной работой, возможно я что-то забыл, но вообще за последнюю неделю именно таким способом я подня три разных сервера, и всё это работает, вот только нетамс с каждым обновлением меняет синтаксис конфига, будьте внимательны. Внимание !!! Эта статья типичное хауту. Хауту для FreeBSD. А все эти хауту совсем не BSD-way, так что всё таки очень настоятельно рекомендуется читать именно инструкцию к NeTAMS-у, а не эту статью. Но тем не менее... И так, дано: Маршрутизатор на FreeBSD с ipfw + natd. Диверт в natd осуществляется через 10000-е правило ipfw rl0 внутренний интерфейс, смотрящий в локальную сеть rl1 внешний интерфейс, смотрящий в сеть провайдера. Локальная сеть 192.168.1.0/255.255.255.0, адрес маршрутизатора 192.168.1.1 Ну во-первых нам понадобится Apache ставим порт /usr/ports/www/apache13. Во-вторых нам понадобится MySQL, например, пятый, ставим /usr/ports/databases/mysql5-server. ВАЖНО! Не ставьте порт нетамса /usr/ports/net-mgmt/netams до того как поставите MySQL. Сначала MySQL, потом NetAMS иначе второй соберется без поддержки первого и так или иначе придется его пересобирать. Пропишите в /etc/rc.conf следующие строки: apache_enable=YES mysql_enable=YES Затем создайте файл /usr/local/etc/rc.d/netams.sh, в него запишите строчку /usr/local/libexec/netams (без кавычек конечно) и дайте команду chmod 777 /usr/local/etc/rc.d/netams.sh в /usr/local/etc/apache/httpd.conf поменяйте пути Directory и DocumentRoot. Приведите их к следующему виду: DocumentRoot "/usr/netams/" <Directory "/usr/netams/"> Теперь создайте директорию /usr/netams командой mkdir /usr/netams На этом этапе, можно сказать, настройка Apache и MySQL завершена. Конечно, MySQL в данном случае остался с доступом root без пароля, но если никто на ваш сервер кроме вас больше не суется, и он тщательно зафаерволен, то это, в общем, не страшно. Переходим к настройке NeTAMS У вас должен появиться файл /usr/local/etc/netams.cfg, начинающийся с таких строк: #NeTAMS version 3.1(1830.1) compiled by root@storage #configuration built Tue Apr 26 06:17:01 2005 #begin Перейдем к самому важному: найдем service processor 0 Там должны обязательно быть такие строки: lookup-delay 2 flow-lifetime 5 Опишем две политики Интернет и локальный трафик policy acct oid 030000 name internet target proto ip policy acct oid 030001 name local-traffic target file /usr/netams/local.txt Как можно понять из написанного, политика internet включает в себя вообще всё, а политика local-traffic включает в себя адреса, написанные в файле /usr/netams/local.txt Далее поставим строчку, чтобы никто не мог, сменив адрес на неописаный в конфиге, попасть в интернет бесплатно: restrict all drop local pass и тоже самое опишем для всей сети: unit net oid 020000 name ALL-TRAFFIC ip 192.168.1.0 mask 255.255.255.0 no-local-pass acct-policy %local-traffic internet Видите, как описана политика учета? Объясняю: так как internet это вообще всё, нам нужно, если трафик локальный, не пустить его к политике учета internet, для этого мы и ставим процент перед политикой local-traffic этот символ означает последний в списке проверки. Таким образом, если абонент заходит на адрес, втречающийся в списке /usr/netams/local.txt, данные по трафику с этого адреса заносятся только в политику local-traffic и в политику internet не попадают, если же абонент зашел на другой адрес, local-traffic ничего не защитал, информация передалась политике internet. Существует популярное заблуждение, в которое вводят авторы документации NeTAMS, дескать для этой цели есть символ ! Перед политикой. НЕТ! Этот символ исключает трафик политики, и считать его просто не получится. Теперь зададим тех юзеров, которых мы согласны выпустить в интернет и трафик которых мы и будем считать: unit host oid 020002 name Valera ip 192.168.1.50 acct-policy %local-traffic internet unit host oid 020003 name Roman ip 192.168.1.51 acct-policy %local-traffic internet unit host oid 020004 name Stepan ip 192.168.1.52 acct-policy %local-traffic internet Синтаксис тот же самый. Номер oid, Имя (для удобства просмотра статистики в HTML всё тем же начальством :-) адрес, политика учета. Завершается описание сервиса процессор 0 строкой storage 1 all Теперь опишем этот самый storage, это все го две строки: service storage 1 type mysql Ну а теперь платформозависимая конфигурация: service data-source 1 type ip-traffic source divert 199 rule 9999 "ip from any to any out via rl0" rule 10001 "ip from any to any in via rl0" Этот сервис описывает откуда брать инфу о трафике. В данном случае мы берем её из фаервола FreeBSD IPFW. Обратите внимание NeTAMS окутывает диверт в natd своими правилами, но слушает внутренний интерфейс, а не внешний. Ну а дальше просто service html 0 path /usr/netams language ru run 1min client-pages all Ну собственно вот и всё, в конце конфига можете написать #end и сохранить его. В файл /usr/netams/local.txt можно что-нибудь написать, например: 172.22.0.0 /16 172.31.255.5 /255.255.255.255 Перезагружайтесь и через минуту первые данные о трафике уже будут доступны любому абоненту через веб-интерфейс вашего маршруизатора. Давайте сверимся еще раз, конфиг будет вроде этого: #NeTAMS version 3.1(1830.1) compiled by root@storage #configuration built Tue Apr 26 06:17:01 2005 #begin #global variables configuration debug none user oid 01327B name admin real-name "Dmitry" crypted $1$$GmbL3iXOMZR57QuGDLv.L1 email root@solink.ru permit all schedule oid 08FFFF time hourly- action "html" #services configuration service server 0 login any listen 20001 max-conn 6 service processor 0 lookup-delay 2 flow-lifetime 5 policy acct oid 030000 name internet target proto ip policy acct oid 030001 name local-traffic target file /usr/netams/local.txt restrict all drop local pass unit net oid 020000 name ALL-TRAFFIC ip 192.168.1.0 mask 255.255.255.0 no-local-pass acct-policy %local-traffic internet unit host oid 020002 name Valera ip 192.168.1.50 acct-policy %local-traffic internet unit host oid 020003 name Roman ip 192.168.1.51 acct-policy %local-traffic internet unit host oid 020004 name Stepan ip 192.168.1.52 acct-policy %local-traffic internet storage 1 all service storage 1 type mysql service data-source 1 type ip-traffic source divert 199 rule 9999 "ip from any to any out via rl0" rule 10001 "ip from any to any in via rl0" service html 0 path /usr/www/netams language ru run 1min client-pages all #end

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, MoHaX, 11:15, 03/05/2006 [ответить] [смотреть все]
  • +/
    Прикольно. Автор молодец. Вот такой вопрос, можно ли сделать так, чтобы netams слал отчёт по трафику в определённый день за опрделённый период на мыло?
     
  • 1.2, Bocha, 11:30, 03/05/2006 [ответить] [смотреть все]
  • +/
    Нет, НеТАМС умеет только предупреждать о наступающей квоте. Другое дело, что так как любой отчетный период - это просто HTML-файл, к базе не привязаный, то есть практически плэйн-текст, его можно послать с помощью простого скрипта средствами FreeBSD. Мои знакомые админы так делают.
     
     
  • 2.3, MoHaX, 11:41, 03/05/2006 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    А можно ли тогда брать данные из самой базы скриптом на перле не пример Не давн... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.6, Bocha, 12:15, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    Ну брать-то можно, но лично я в структуре базы нетамса толком нифига не понял -... весь текст скрыт [показать]
     
  • 3.7, nobody, 12:18, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    там все просто, наиболее интересна таблица summary где хранится агрегированный т... весь текст скрыт [показать]
     
     
  • 4.8, Bocha, 12:34, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    Да как раз таки основная проблема в том, что oid в таблице вообще какой-то рэндо... весь текст скрыт [показать]
     
     
  • 5.10, MoHaX, 13:05, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    Это точно Как оно вообще там создаётся никто не в курсе Сам же нетамс как-то в... весь текст скрыт [показать]
     
  • 5.11, nobody, 13:12, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    нету там ничего рандомного в конфиге все оиды в hex, в базе в dec есть косяк в т... весь текст скрыт [показать]
     
  • 4.9, MoHaX, 13:01, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    Люди а как to_timestamp в мускуле сотворить ... весь текст скрыт [показать]
     
     
  • 5.12, nobody, 13:15, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    select FROM_UNIXTIME t_from ... весь текст скрыт [показать]
     
     
  • 6.13, MoHaX, 13:40, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    Спасибо Разобрался ... весь текст скрыт [показать]
     
     ....нить скрыта, показать (9)

  • 1.4, nuclight, 11:46, 03/05/2006 [ответить] [смотреть все]  
  • +/
    В скриптах в /usr/local/etc/rc.d/ следует сделать обработку параметров start/stop, иначе, как описано в статье, netams будет запускаться два раз - при загрузке и при шатдауне.
     
     
  • 2.5, Bocha, 12:14, 03/05/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Точнее только делать попытку и тут же завершаться - нетамс нельзя запустить дваж... весь текст скрыт [показать] [показать ветку]
     
  • 1.14, Net, 14:49, 03/05/2006 [ответить] [смотреть все]  
  • +/
    Было бы хорошо если бы Bachilo Dmitry описал бы процесс не только ipfw+natd, но и привёл бы способ настройки всего этого на IPF/PF
     
     
  • 2.15, Bocha, 16:02, 03/05/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    да я бы с радостью, вот только NeTAMS, на сколько я знаю, с ними не работает ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.16, nobody, 17:00, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    хм, но можно заставить по крайней мере для pf в сервисе processor у netams ... весь текст скрыт [показать]
     
     
  • 4.17, Bocha, 18:57, 03/05/2006 [^] [ответить] [смотреть все]  
  • +/
    Ну то есть всё таки с нетфлоу, а не с ПиЭф Спасибо за полезное дополнение ... весь текст скрыт [показать]
     
  • 1.18, mg, 10:55, 26/07/2006 [ответить] [смотреть все]  
  • +/
    а пробовал кто-нибудь настройить входящий в состав netams admintool?
    Лично у меня с этим возникли сложности, например по не понятным для меня причинам он не инсталируется сам, нужно его копировать в ручную, затем почему-то нигде не написано что необходимо создать дополнительную таблицу users и два объязательных поля в ней login и password . Но даже после создания этой таблицы не понятно в каком формате должен там находиться пароль и как кроме как в ручную, эту таблицу заполнять? Может кто-нибудь что-нибудь расскажет об этом? Буду примного благодарен.
     
  • 1.19, Wraith, 22:00, 26/09/2006 [ответить] [смотреть все]  
  • +/
    Спасибо огромное за статью!
    А как быть если используется связка ipfw+ipnat?
     
  • 1.20, LSV, 15:38, 21/10/2006 [ответить] [смотреть все]  
  • +/
    А возможно ли на NetAms сделать подобное:
    Есть 2 машины, одна из которых фаервол,НАТ,Прокся,ВПН на ней нужно будет заупскать коллектор(и отсылать информацию на хост с ядром), а другая под ядро биллинга, там же будет лежать база, радиус итд, итп.
    Возможно ли это реализовать с версией 3.3.5?

    Как будут создаваться правила фаервола при коннекте клиента или при оканчании денег на его счету?

    Есть ли поддержка ldap?
    ___
    Спасибо.

     
  • 1.21, LSV, 20:12, 22/10/2006 [ответить] [смотреть все]  
  • +/
    ->А как быть если используется связка ipfw+ipnat?
    сам копаю в эту сторону, нужно использовать нетграф! ИМХО использовать подсчёт по divert- непарвильно, а как тогда arp считать?
    http://netams.com/doc/kb_netgraph.html#1
     
  • 1.22, nicola, 08:53, 08/11/2006 [ответить] [смотреть все]  
  • +/
    Цитата:
    Обратите внимание  NeTAMS окутывает диверт в natd своими правилами, но слушает внутренний интерфейс, а не внешний.
    не верно в официальной доке написано что должно быть наоборот. Так как здесь написано работать не будет.
     
     
  • 2.25, Bocha, 08:53, 10/12/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Мало того что оно работает на очень многих серверах в данный момент, так еще и ваш вариант просто нелогичен. Вы даже в ssh не попадете из вне в таком случае. Нетамс пропускает пакеты только от машин, прописаных для учета трафика, вы же не будете прописывать в него весь интернет? Должно быть именно на внутреннем интерфейсе.
     
  • 1.23, intelligentik, 16:26, 06/12/2006 [ответить] [смотреть все]  
  • +/
    Очень хорошая статья, все понятно...
    не понятно как должно выглядить правило диверт.
    ведь диверт порт перебрасывает, а мне нужно снимать весь трафик.
    поясните новечку плизз :-)
     
     
  • 2.24, Bocha, 08:51, 10/12/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Диверт заворачивает то, что скажете, в моем примере, весь трафик идущий по внутреннему интерфейсу считается нетамсом.
     
  • 1.26, intelligentik, 16:08, 10/12/2006 [ответить] [смотреть все]  
  • +/
    я у себя правило диверт вот такое сделал... Но что то ничего не работает :-(

    ipfw add 10000 divert natd all from any to any xl1

    Что самое интерестное, роутинг работает, траффик идет, но при попытке обращения к
    http://192.168.2.101/stat страница не открывается.
    плизз помогите :-)

     
     
  • 2.27, FlashMX, 09:57, 12/12/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >я у себя правило диверт вот такое сделал... Но что то ничего
    >не работает :-(
    >
    >ipfw add 10000 divert natd all from any to any xl1
    >
    >Что самое интерестное, роутинг работает, траффик идет, но при попытке обращения к
    >
    >http://192.168.2.101/stat страница не открывается.
    >плизз помогите :-)


    Создай юнит с внешним ip

     
  • 1.28, AlektroNik, 13:53, 01/06/2008 [ответить] [смотреть все]  
  • +/
    Подскажите плз, как правильно прописать в файлике (допустим) target file /usr/netams/port_ip.txt
    порты которые должны входить в это правило?

    Поидее будет вяглядеть примерно так:
    172.22.0.0 /16
    172.31.255.5 /255.255.255.255
    *:3128
    172.22.0.0:3128 /16


     
     
  • 2.29, сажа, 10:20, 06/04/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Почему тут удаляют посты без мата и тролинга и рекламы?
    netams не разрабатывается дальше, комунити вялое (поглядите на форум), автор уже лет 5 как забил на проект. Проект негибкий и подходит только для небольшого офиса в 20-50 компов. Будущего заведомо нет.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



    АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Подробнее о проведении акции вы можете прочитать на странице сайта.


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList