Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  trafd & MySQL
  WEB-морда к траффику
  SNMP
  ipacctd
  pfctl
  ntop 4.10
  NeTAMS
  NeTAMS 2
  SQUID+SAMS +Rejik-(NCSA)
  ng_ipacct + squid
  SQUID+SAMS +Rejik-(NTLM)
  SQUID+SAMS +Rejik-(ADLDAP)
  mpd5 + radius + ng_car + Abills
  darkstat
  Netams 3.4.5
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> подсчёт трафика —> NeTAMS

NeTAMS, многофункциональная программа по учету и управлению IP-трафиком (минимальная настройка)

Автор: schizoid.


Итак. Вступление. Начало возьмем с оф. сайта данной программы, а именно http://www.netams.com

NeTAMS (Network Traffic Accounting and Monitoring Software) - многофункциональная программа
по учету и управлению IP-трафиком для маршрутизаторов Cisco или компьютеров под управлением Unix (Linux/FreeBSD/Solaris).
Поддерживаются различные методы сбора статистики (tee/divert/ip_queue/ulog/libpcap/netflow v5 и v9/netgraph),
хранения в базе данных (BerkleyDB/MySQL/PostgresSQL/Oracle/Radius), агрегирования, отображения, оповещения и пр.
Возможно проводить блокировку на базе квот, авторизации, исчерпании баланса (биллинг);
управлять полосой пропускания, контролировать подмену MAC-адреса, делать связь с RADIUS,
создавать гибкие политики учета и фильтрации.


Хочу описать минимальную настройку этой программы, потому что часто после ее упоминания на форуме, народ в аське просит помочь ее настроить. Хотя есть и оф. доки...им этого мало. Ладно, приступим.

Еще раз повторюсь - это пример минимальной настройки! На самом деле прога может много, о чем можно почитать тут: http://netams.com/doc/index.html.

Еще один нюанс. У меня Нетамс стоит уже более 2-х лет, и версия 3.3.5, на сайте же уже доступна последняя стабильная версия: 3.4.1rc1.
Т.к. момент установки я уже не помню, то я поднял виртуальную машину, на которую поставил минимум чего нужно для установки нетамса, поднял его на ней, а уже конфиг и т.д. беру со своего боевого сервака. Т.к. настройка минимальна, то конфиг от более старой версии программы прокатит и на новую.

В качестве базы данных я использую mysql, для заворота трафика на нетамс использую divert в ipfw, поэтому у вас должен быть настроено ядро как минимум с такими опциями:
options         IPFIREWALL
options         IPDIVERT

Итак, mysql-server5.0 и клиент поставились, попробуем начать установку нетамса...чего ему не хватит...
Идем в
cd /usr/ports/net-mgmt/netams/
# cat distinfo
MD5 (netams-3.4.0rc2.tar.gz) = 3093e50f8ee7a297cb8c2bc6bacd0666
SHA256 (netams-3.4.0rc2.tar.gz) = 
7cbfdefa94f075a5dab40613d25738c0e2e40652638338b52632a0efdbc4f68e
SIZE (netams-3.4.0rc2.tar.gz) = 375729

Ага, в портах версия 3.4.0rc2. Ну да Бог с ним. У мну то на самом деле еще моложе :)
#make install
                  Options for netams 3.4.0.r2        
    
          [ ] DEBUG  Build with debug symbols                         
          [ ] BW     Build with bandwidth limitation functionality    
          [ ] HASH   Build with HASH support                          

Среди прочих присутствует опция
BW     Build with bandwidth limitation functionality

С ее помощью можно будет ограничивать скорость пользователям самим нетамсом. Раньше я ее использовал, потом отказался в сторону pipe в ipfw.
Далее, ставим по-умолчанию.
Что-то долго не мог найти пакет. Но в итоге нашел и все установил:
The NeTAMS package has been successfully installed.

Check /usr/local/share/netams and http://www.netams.com for examples.

A sample configuration file has been installed to /usr/local/etc as
"netams.cfg.sample". This may be renamed to "netams.cfg" and edited.

In order to use the netamsctl programs, you may copy
/usr/local/share/netams/.netamsctl.rc to your home directory and edit it.

By default, CGI scripts are NOT installed, as well as web server is NOT configured.
You should do it yourself, and then copy entire /usr/local/share/netams/cgi/
directory to appropriate place.

And PLEASE READ THE DOCUMENTATION FIRST!
http://www.netams.com

--------------------------------------------------------------------------
===> Installing rc.d startup script(s)
===>   Compressing manual pages for netams-3.4.0.r2
===>   Registering installation for netams-3.4.0.r2
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/libexec/netams
/usr/local/sbin/ipfw2netflow

      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/netams

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.netams.com/

Ну что ж далее по-порядку.
[root@ /usr/ports/net-mgmt/netams]# cd /usr/local/etc/
[root@ /usr/local/etc]# cp netams.cfg.sample netams.cfg
[root@ /usr/local/etc]# ee netams.cfg

Конфиг по-умолчанию такой:
!!! Строки взятые в квадратные скобки [...]  - нужно писать в одну строку !!!
#NeTAMS version 3.4.0 (template config)
#begin
#global variables configuration
debug none
user name admin real-name Admin password aaa email root@localhost permit all

#services configuration

service server 0
login local
listen 20001
max-conn 6

service processor 0
lookup-delay 60
flow-lifetime 180
policy name ip target proto ip
policy name www target proto tcp ports 80 81 8080 3128
policy name mail target proto tcp ports 25 110
restrict all pass local pass
unit group name CLIENTS acct-policy ip www mail
unit host name server ip 192.168.0.1 acct-policy ip www mail
[unit user name client1 ip 192.168.0.10 parent CLIENTS email 
   client1@domain.ru acct-policy ip www mail]
unit net name LAN ip 192.168.0.0/24 acct-policy ip www mail
storage 1 all

service storage 1
type mysql

service data-source 1
type libpcap
source eth0
rule 11 "ip"

service quota 0
policy ip
notify soft {owner}
notify hard {owner} admin
notify return {owner}
storage 1

service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp-server localhost

service html 0
path /usr/local/www/stat
run 10min
htaccess yes
client-pages all
url http://192.168.0.1/stat/
language ru

service scheduler
oid 08FFFF time 10min action "html"

# $Id: netams.cfg,v 1.12 2006-12-29 18:44:52 anton Exp $
#end

Я пока оставил его таким, ничего не меняя.
Далее делаем
echo "netams_enable=\"YES\"" >> /etc/rc.conf

стартуем и проверяем нетамс
[root@ /usr/local/etc]# /usr/local/etc/rc.d/netams start
Starting netams.
[root@ /usr/local/etc]# sockstat -4l
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
root     netams     15866 4  tcp4   127.0.0.1:20001       *:*
mysql    mysqld     15154 10 tcp4   *:3306                *:*
root     sendmail   631   3  tcp4   127.0.0.1:25          *:*
root     sshd       625   4  tcp4   *:22                  *:*
root     syslogd    500   7  udp4   *:514                 *:*

и того у нас все гут.
Далее делаем все по документации. Мы видим, что нетамс у нас слушается на 20001-м порту.
В конфиге выше была строка:
user name admin real-name Admin password aaa email root@localhost permit all

из нее видно что админ нетамса у нас пользователь по имени admin, и пароль его aaa.
заходим телнетом на 20001-й порт
[root@ /usr/local/etc]# telnet 127.0.0.1 20001
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
NeTAMS 3.4.0 (3146.1) root@ / Mon Feb 25 01:38:51 UTC 2008

Username: admin
Password:

Далее как гласит дока, пробуем выполнить команды "html", "save", "show version", "show config".

> html

> save

> show version
NeTAMS 3.4.0 (3146.1) root@ / Mon Feb 25 01:38:51 UTC 2008
Run time  1 mins 51.1777 secs
System time:  1 mins 0.3991 secs
Average CPU/system load: 0.36%
Process ID: 15866 RES: 3868K
Memory allocated: 597212 (108), freed (22) (0 NULL) [86 used]
Total objects:
   Oids used: 9
   NetUnits: 4
   Policies: 3
   Services: 10
   Users: 1
   Connections: 1 active, 1 total

Services info:
 Storage ID=1 type mysql wr_q 0/7 rd_q 0/0
 Data-source ID=1 type LIBPCAP source eth0:0 loop 0 average 0 mcsec
    Perf: average skew delay 0 mcsec, PPS: 0, BPS: 0
Alerter 0 queue max: 255, current: 0
 Scheduled tasks: 1

> show config
#NeTAMS 3.4.0 (3146.1) root@ / Mon Feb 25 01:38:51 UTC 2008
#configuration built Mon Feb 25 01:45:38 2008
#begin
#global variables configuration
debug none
language ru
user oid 06260D name admin real-name "Admin" crypted $1$$HpXmjtul/3i1.bf.B27bU. 
email root@localhost permit all

#services configuration

service server 0
login local
listen 20001
max-conn 6

service processor
lookup-delay 60
flow-lifetime 180
policy oid 00D9B2 name ip target proto ip
policy oid 09DC4B name www target proto tcp port 80 81 8080 3128
policy oid 07A20C name mail target proto tcp port 25 110
restrict all pass local pass
unit group oid 099818 name CLIENTS acct-policy ip www mail
unit host oid 03C6A3 name server ip 192.168.0.1 acct-policy ip www mail
unit user oid 02D10B name client1 ip 192.168.0.10 email client1@domain.ru parent 
CLIENTS acct-policy ip www mail
unit net oid 01988F name LAN ip 192.168.0.0/24 acct-policy ip www mail

service storage 1
type mysql
accept all

service data-source 1
type libpcap
source eth0
rule 11 "ip"

service quota
policy ip
notify soft owner
notify hard owner
notify return owner

service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp-server localhost

service html
path /usr/local/www/stat
run 10min
url http://192.168.0.1/stat/
htaccess yes
client-pages all
account-pages none

service scheduler
oid 08FFFF time 10min action "html"


#end

>

если все так как у меня, то ура, мы установили нетамс :)
Далее я на всякий случай проверил, создал ли он базу.
[root@ /usr/local/etc]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.0.51a FreeBSD port: mysql-server-5.0.51a

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| netams             |
| test               |
+--------------------+
4 rows in set (0.01 sec)

mysql> use netams;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+------------------+
| Tables_in_netams |
+------------------+
| events           |
| oids             |
| quota            |
| summary          |
+------------------+
4 rows in set (0.01 sec)

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

Кроме mysql нам понадобится еще настроенный web-server, я использую apache.
С его помощью пользователи смогут смотреть статистику.
Теперь выкладываю свой конфиг и рассказываю что и зачем.
!!! Строки взятые в квадратные скобки [...]  - нужно писать в одну строку !!!
#NeTAMS version 3.3.5 (build 2916.1) compiled by root@freeserv.home
#configuration built Thu Nov 16 21:50:15 2006
#begin
#global variables configuration
debug none
language ru
[user oid 02A6F4 name admin real-name "Eugene" crypted $1$$1CXSo9ZU3rRh4yE2MnSlV0 
   email root@localhost permit all]

#services configuration

service server 0
login local
listen 20001
max-conn 6

service processor
lookup-delay 30
flow-lifetime 180
policy oid 0B4940 name ip target proto ip 
restrict all drop local pass
[unit net oid 022222 name stah_all ip 10.0.0.0 mask 255.255.255.0 description 
   "net 10.0.0.0" password 123 no-local-pass acct-policy ip ]
unit host oid 033333 name server ip 193.16.хх.хх 
[unit host oid 000001 name eugene ip 10.0.0.1 description "ip 192.168.10.5" 
   email eugene@localhost password 123 acct-policy ip ]
[unit host oid 000002 name agent ip 10.0.0.2 description "ip 192.168.10.18" 
   password 123 acct-policy ip ]
[unit host oid 000003 name chetkiller ip 10.0.0.3 description "ip 192.168.10.7" 
   password 123 acct-policy ip ]
[unit host oid 000004 name sirius ip 10.0.0.4 description "ip 192.168.10.29" 
   password 123 acct-policy ip ]
[unit host oid 000005 name TEAC ip 10.0.0.5 description "ip 192.168.10.40" 
   password 123 acct-policy ip ]

service storage 1
type mysql
host localhost
user LOGIN
password PASSWORD
accept all

service data-source 1
type ip-traffic
source divert 199
layer7-detect urls

service login
storage 1
set no name eugene password 123456 inact 3000 abs 0
relogin yes


service monitor 0
monitor to file /usr/tmp/mon_netams.log
monitor unit 000001
monitor unit 000002
monitor unit 000003
monitor unit 000004
monitor unit 000005

service quota
policy ip
notify soft {owner} 
notify hard {owner} 02A6F4 
notify return {owner} 

service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp-server localhost

service html
path /usr/local/www/data/stat
run 5min
url http://192.168.10.100/stat/
htaccess yes
client-pages all
account-pages all

service scheduler
oid 08FFFF time 5min action "html"

#end 

Итак, по-порядку.
сперва меняем логин/пароль админа нетамса.
!!! Строки взятые в квадратные скобки [...]  - нужно писать в одну строку !!!
[user oid 02A6F4 name admin real-name "Eugene" password SUPERPASS 
   email root@localhost permit all ]

пока он в открытом виде, после рестарта нетамса, но закриптуется.
Также oid можно не ставить, Нетамс его сам поставит.
Далее
service server 0
login local
listen 20001
max-conn 6 

Сильна расписывать не буду, т.к. все есть в доке. В кратце: нетамс слушает 20001-й порт,
висит на локалхосте и имеет максимальное число одновременно открытых подключений к процессу 6.

Дальше:
!!! Строки взятые в квадратные скобки [...]  - нужно писать в одну строку !!!
service processor
lookup-delay 30
flow-lifetime 180
policy oid 0B4940 name ip target proto ip 
restrict all drop local pass
[unit net oid 022222 name stah_all ip 10.0.0.0 mask 255.255.255.0 description 
   "net 10.0.0.0" password 123 no-local-pass acct-policy ip ]
unit host oid 033333 name server ip 193.16.хх.хх
[unit host oid 000001 name eugene ip 10.0.0.1 description "ip 192.168.10.5"
   email eugene@localhost password 123 acct-policy ip ]
[unit host oid 000002 name agent ip 10.0.0.2 description "ip 192.168.10.18" 
   password 123 acct-policy ip ]
[unit host oid 000003 name chetkiller ip 10.0.0.3 description "ip 192.168.10.7" 
   password 123 acct-policy ip ]
[unit host oid 000004 name sirius ip 10.0.0.4 description "ip 192.168.10.29" 
   password 123 acct-policy ip ]
[unit host oid 000005 name TEAC ip 10.0.0.5 description "ip 192.168.10.40" 
   password 123 acct-policy ip  ]

Основное, это сервис policy, определяет правило, или политику, по которой для данного объекта (NetUnit) будет производиться фильтрация или подсчет трафика. Т.к. я описываю минимальную конфигурацию, то я использую policy ip, т.е. подсчет всего трафика, не разбивая его по протоколам и портам (нетас это умеет).
Строка restrict all drop local pass, говорит о том, что трафик с ИП-адресов не описанных в конфигурации нетамса пропускаться не будет. По-этому нужно включить и внешний ИП-самого сервера.
далее, я создал один unit, описывающий сеть, а также описал каждого пользователя.
Тут подсчет трафика идет по ip из сети 10.0.0.0/24. Опция description позволяет задать любое описание юнита, в моем случае, это ИП-машины пользователя (у меня пользователи имеют статический Ип из сети 192.168.10.0/24, а при подключении по впн им выдается ИП из диапазаона 10.0.0.0/24). Далее идет пароль доступа к страничке со статистикой, ну и указание каким policy мы ограничиваем пользователя, у меня всех ограничиваем полиси ip.

далее.
service storage 1
type mysql
host localhost
user LOGIN
password PASSWORD
accept all

тут описывается собственно хранилище данных. Указываем, что мы используем базу данных mysql, что она находится на этом же хосте, что и нетамс (localhost), а так же указываем логин/пароль к базе нетамса (ведь от рута работать это не есть гут ;) )

Что бы установить логин/пароль для базы нетамса, заходим в mysql и даем команду:
grant all privileges on netams.* to 'LOGIN'@'localhost' identified by 'PASSWORD';

дальше
service data-source 1
type ip-traffic
source divert 199
layer7-detect urls

описывается тип и источник данных. В нашем случает тип это ip-traffic, а источник, это divert 199. Т.е. что бы трафик попадал нетамсу, его нужно на него как-то завернуть, я использую правило divert в ipfw. Правила НАТа на НЕТАМС должны обязательно обрамлять правила, которым НАТится сеть в интернет.
        #NeTAMS-NAT-NeTAMS-out
        ${fwcmd} 1000 add divert 199 ip from 10.0.0.0/24 to any out xmit ${oif}
        ${fwcmd} 1100 add divert 8668 ip from 10.0.0.0/24 to any out xmit ${oif}
        #NeTAMS-NAT-NeTAMS-in
        ${fwcmd} 1195 add divert 8668 ip from any to me in recv ${oif}
        ${fwcmd} 1200 add divert 199 ip from any to 10.0.0.0/24 in recv ${oif}

далее
service monitor 0
monitor to file /usr/tmp/mon_netams.log
monitor unit 000001
monitor unit 000002
monitor unit 000003
monitor unit 000004
monitor unit 000005

сервис monitor, тут я указал размещение файлика mon_netams.log, а так же для каких юнитов ведется сам монитор. Монитор - это лог кто куда ходил. Так же не забудьте описать ротирование этого файла, иначе он может занять все свободное пространство на разделе.

Сервис login и quota, я опишу в следующей статье.
И последний
service html
path /usr/local/www/data/stat
run 5min
url http://192.168.10.100/stat/
htaccess yes
client-pages all
account-pages all

Сервис html, описывает странички статистики. Здесь мы указываем путь, куда их генерить, переодичность и url к ним.
Так же описываем тип доступа, в данном случае, включен механизм htaccess, который позволяет разграничить доступ пользователям только к своим страницам статистики исходя из логина/пароля.

Теперь опишем секцию нетамса в апаче:
<Directory "/usr/local/www/data/stat/">
    AllowOverride All
    Options None
    Order deny,allow
    Allow from 192.168.10.66 192.168.10.97 192.168.10.45 192.168.10.5 192.168.10.18
    Deny from all
</Directory>

Тут так же с примером разграничения доступа к статистике по ИП-адресам.
Далее делаем stop/start нетамсу, рестартуем апач. И через некоторое время ждем появления статистики по указанному url (http://192.168.10.100/stat/). Тут спросит логин/пароль админа.
(если не хочется ждать, можно зайти телнетом и выполнить команду html).
Для доступа пользователей к своей страничке идем по адресу: http://192.168.10.100/stat/unit, (где unit - имя пользователя в нетамсе).

Так  же есть хорошая примочка у разработчиков. Чтобы каждый раз не ходить телнетом, есть так называемый netamsctl.
netamsctl - примитивный telnet-клиент, позволяющий передать одну или несколько команд для работающего netams. Он работает через обычный TCP-сокет. Открывается соединение, отправляется команда, получается и выводится на экран ответ сервера.
Итак настроим его.
# whereis netamsctl
netamsctl: /usr/local/bin/netamsctl /usr/local/man/man8/netamsctl.8.gz 
/usr/ports/net-mgmt/netams/work/netams-3.3.5/src/netamsctl

Замечательно, присутствует. В своем домашнем каталоге (пользователя, от которого будет выполняться) создаем файл .netamsctl.rc такого содержания:
login=LOGIN
password=PASSWORD
host=localhost

ну и порт, если вы изменили дефолтовый.
Далее работать примерно так:
# netamsctl "show version"
host: localhost port: 20001 login: LOGIN password: PASSWORD
cmd: show version
NeTAMS version 3.3.5 (build 2916.1) root@freeserv.home / Sun Jun 25 18:08:46 EEST 2006
Run time: 10 days 5 hours 57 mins 2.4393 secs
System time: 5 hours 57 mins 35.4570 secs
Average CPU/system load: 2.42%
Process ID: 69168 RES: 3620K
Memory allocated: 54495887 (1513554), freed (1503417) (0 NULL) [10137 used]

Total objects:
   Oids used: 75
   NetUnits: 71
   Policies: 1
   Services: 12
   Users: 3
   Connections: 2 active, 49 total
   Scheduled tasks: 1
Alerter 0 queue max: 255, current: 0

Services info:
 Storage ID=1 type MYSQL wr_q 0/288146 rd_q 0/70
 Data-source ID=1 type IP_FILT source divert:199 loop 111323580 average 5 mcsec
    Perf: average skew delay 115 mcsec, PPS: 154, BPS: 42560

Так же возможно задать на исполнение сразу несколько команд, если разделить их комбинацией " && ". Это крайне полезно, если необходимо передать команду какому-нибудь сервису:
netamsctl "service processor && unit host name pupkin sys-deny && exit"

Разработчики рекомендуют все юниты заводить именно с помощью netamsctl, затем делать save. При этом нет необходимости рестартовать нетамс.
У меня исторически сложилось так, что я описываю все в конфиге ручками. а затем рестартую нетамс. Мне так удобнее, например для бекапирования, или просто посмотреть предыдущую запись...в общем имхо :)



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=7297.

размещено: 2008-03-04,
последнее обновление: 2008-03-04,
автор: schizoid

оценить статью:

VIP-stranger, 2008-03-04 в 16:19:17

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

freeman_tnu, 2008-03-04 в 16:49:07

да, насчет pf тоже интересно очень даже, особенно когда ipfw это правила, а pf только чисто нат

schizoid, 2008-03-04 в 19:59:24

думаю стоит посмотреть в сторону netflow

VIP-stranger, 2008-03-05 в 8:52:55

Ну это и понятно,что через netflow,а можно поподробнее??
Как будет выглядеть вот это при использовании pf

service data-source 1
type ip-traffic
source divert 199
layer7-detect urls

и как завернуть с помощью pf завернуть трафик в neatms ведь в pf нет divert??

emptyman, 2008-03-05 в 11:23:14

VIP-stranger
поправьте меня, но ответ НИКАК... netams не работает с pf
а модуль netflow не корректно работает с версией больше 6.0 :(

schizoid, 2008-03-05 в 11:36:49

вот чего не знаю, того не знаю...
неужто тада делать костыль и заворачивать траф дивертом (ipfw), а фаерволить уже pf-ом?

grave, 2008-03-05 в 11:42:18

Уважаемые, давайте лучше обсудим ситуацию с настройкой схемы netams + transparent squid

schizoid, 2008-03-05 в 11:47:42

та не вопрос, только не здесь, а на форуме и будет как отдельная статься

nobody, 2008-03-05 в 13:47:22

хм, но можно заставить (по крайней мере для pf) :)
в сервисе processor у netams добавляем (например)
access-script "/root/bin/access.sh"

access.sh:
#!/bin/sh

case "$1" in
   DENY)
       pfctl -q -t netams -T delete $3
       pfctl -q -k $3
   ;;
   ALLOW)
       pfctl -q -t netams -T add $3
   ;;
esac

в pf.conf
table <netams> persist file "/usr/local/etc/netams.hosts"
....
nat on $ext_if inet proto tcp from <netams> to ...
...
pass in on $int_if inet proto tcp from <netams> ...

данные в нетамс брать, например, с ng_netflow

artem, 2008-03-11 в 13:04:30


## Configuring NeTAMS for build targets...            ##
FreeBSD operating system...
With FreeBSD 5 and above will have netgraph module...
Will have MYSQL support
       [ /usr/local/lib/mysql  /usr/local/include/mysql ]
Will have BILLING service
Will have RADIUS support
Will have PAM support (experimental)
## Configuration file was built.                              ##
##########################################################
cd lib && make library
gcc -pipe -O2 -I../src -I./ -DHAVE_BW -DFAST_FW_CHECK -DLAYER7_FILTER -DFREEBSD -DUSE_MYSQL -I/usr/local/include/mysql -DHAVE_BILLING -DUSE_LIBRADIUS -DHAVE_PAM -I ../src -I./radlib -c radlib/radlib.c
ar rc libradius.a radlib.o
gcc -pipe -O2 -I../src -I./ -DHAVE_BW -DFAST_FW_CHECK -DLAYER7_FILTER -DFREEBSD -DUSE_MYSQL -I/usr/local/include/mysql -DHAVE_BILLING -DUSE_LIBRADIUS -DHAVE_PAM -Wno-format-zero-length -I./libcli -c libcli/libcli.c
ar rc libcli.a libcli.o
gcc -pipe -O2 -I../src -I./ -DHAVE_BW -DFAST_FW_CHECK -DLAYER7_FILTER -DFREEBSD -DUSE_MYSQL -I/usr/local/include/mysql -DHAVE_BILLING -DUSE_LIBRADIUS -DHAVE_PAM -c lib.c
ar rc libnetams.a lib.o
cd src && make all
touch opt_netgraph.h
make -f Makefile.kmod
Warning: Object directory not changed from original /usr/ports/net-mgmt/netams/work/netams-3.4.0rc2/src
@ -> /usr/src/sys
machine -> /usr/src/sys/i386/include
cc -O2 -fno-strict-aliasing -pipe -g -Werror -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc  -I/usr/ports/net-mgmt/netams/work/netams-3.4.0rc2/src -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -c ng_netams.c
cc1: error: unrecognized command line option "-Wno-pointer-sign"
*** Error code 1

Stop in /usr/ports/net-mgmt/netams/work/netams-3.4.0rc2/src.
*** Error code 1

Stop in /usr/ports/net-mgmt/netams/work/netams-3.4.0rc2/src.
*** Error code 1

Stop in /usr/ports/net-mgmt/netams/work/netams-3.4.0rc2.
*** Error code 1

Stop in /usr/ports/net-mgmt/netams.
*** Error code 1

Stop in /usr/ports/net-mgmt/netams.
*** Error code 1

Stop in /usr/ports/net-mgmt/netams.
web00#

у меня не компилицца 6.3 в чем прикол?

artem, 2008-03-11 в 14:05:17

а кто юзал sams? он чем то хуже?
http://sams.irc.perm.ru/
поиск по портам сказал что такого не знает нашел ручками
/usr/ports/www/sams

artem, 2008-03-11 в 14:08:42

уппс не заметил что он типа sarga на базе squid

schizoid, 2008-03-11 в 15:34:22

2 artem, хз чегшо не ставится. я ставил на чистую ОС с обновленными портами и установленным mysql-server-5.0

Da1VeR, 2008-03-23 в 23:20:29

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

freeman_tnu, 2008-03-26 в 19:49:15

2Da1VeR Отредактируйте в конфиге нетамса
service storage 1
type mysql
host localhost
user LOGIN
password PASSWORD
accept all

рестартани демона и будет вам счастячко =)

torvik, 2008-04-10 в 16:39:23

http://netams.com/doc/index.html.-  ссылка не работает из-за точки :-)

monstr-sheff, 2008-04-14 в 11:37:06

коменты ЭТО хорошо а сносочку на форум этой темы ни как???

Al, 2008-04-16 в 10:02:51

насчет pf..
не юзал,но должно помочь: dup-to – создает дубликат пакета.
дублируем весь трафик на еще одну карту сервера статистики. Эта карта нигде не должна использоваться и адрес на ней  - левый. Я делал с циской, там зеркалишь весь трафик на определенный порт комутатора. В нетамсе
service data-source 1
type libpcap
source sk0
rule 11 "ip"
================
ifconfig sk0
sk0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
       options=b<RXCSUM,TXCSUM,VLAN_MTU>
       inet 1.1.1.1 netmask 0xffffffff broadcast 1.1.1.1

Al, 2008-04-16 в 10:04:11

а если статистика собирается на шлюзе - sk0 -просто внешний интерфейс

Al, 2008-04-16 в 10:12:08

pass out on xl0 dup-to sk0:1.1.1.1 from any to any
как-то так..

ZVER, 2008-11-20 в 10:05:40

В случае с PF на FreeBSD можно использовать ng_netflow. именно ng_netflow и собирает данные по трафику, PF тут вообще не при делах.

BSD, 2009-08-21 в 7:04:37

Это выходит что если у тя netams отвалится по какой нить причине, пакеты уже проходить через NAT не будут?

#NeTAMS-NAT-NeTAMS-out
${fwcmd} 1000 add divert 199 ip from 10.0.0.0/24 to any out xmit ${oif}
${fwcmd} 1100 add divert 8668 ip from 10.0.0.0/24 to any out xmit ${oif}
#NeTAMS-NAT-NeTAMS-in
${fwcmd} 1195 add divert 8668 ip from any to me in recv ${oif}
${fwcmd} 1200 add divert 199 ip from any to 10.0.0.0/24 in recv ${oif}

Правильнее правила заворота на нетамс описать в конфиге самого нетамса, так как в том случае если он отвалится то правила из ipfw исключатся, если я не ошибаюсь.


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-22, Mufanu
named 9.7.0

Система доменных имен (Domain Name Service, DNS) - одна из тех незаметных, закулисных программ, которым не уделяется и половины того внимания, которого они заслуживают.
2010-03-09, terminus
DNS zones

Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)

Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4

Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3

Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2

Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1

Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat

Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat

Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills

Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS

Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs

Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD

Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC

Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
2009-08-30, terminus
ipfw nat

Подробное руководство по ipfw nat, сложные случаи конфигурации.
2009-08-24, levantuev
HotSpot

Установка Hotspot системы в общественное заведение.
2009-08-18, lissyara
diskless

Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
2009-07-29, BAV_Lug
Видеонаблюдение

Настройка бюджетного варианта видеонаблюдения на удаленном объекте
2009-07-22, Cancer
OpenLDAP адресная книга

Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
2009-06-30, SergeySL
AimSniff

Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
2009-06-25, atrium
Управление правами доступа

Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
2009-06-16, DNK
Exim+PgSQL

Установка почтовой системы exim+pgsql на FreeBSD 7.1
2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)

Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
2009-05-22, Cancer
SendXMPP

Отправка сообщений на Джаббер сервер по средствам SendXMPP
2009-05-11, Raven2000
Network UPS Tools

Network UPS Tools представляет собой набор программ, которые обеспечивают общий интерфейс для мониторинга и администрирование UPS оборудования.
2009-04-29, m0ps
IPSEC over GRE with RIP

Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
2009-04-24, WhiteBear777
qemu network

Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 12 чел.
За последние 30 мин было: 56 человек
За сегодня было
150 показов,
37 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.2 секунд
Из них PHP: 68%; SQL: 32%; Число SQL-запросов: 77 шт.
Исходный размер: 159902; Сжатая: 30788