IPFW + NeTAMS

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
super-fox
мл. сержант
Сообщения: 143
Зарегистрирован: 2008-04-09 1:20:25

IPFW + NeTAMS

Непрочитанное сообщение super-fox » 2008-04-09 1:37:01

Всем привет! Вот сейчас занялся сервером, который будет людей пускать в интернет, остановился на выборе IPFW + NeTAMS. У меня есть пару вопросов:

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

Код: Выделить всё

Super-foX# ipfw show
00100       0          0 check-state
00200  295916   12289078 divert 8668 ip from 192.168.1.0/24 to any out via rl0
00300  585070  869429562 divert 8668 ip from any to 192.168.0.4 in via rl0
00400       0          0 divert 199 ip from 192.168.1.0/24 to any out via rl0
00500      73       6530 divert 199 ip from any to 192.168.0.4 in via rl0
00600     100      10472 allow ip from any to any via lo0
00700       0          0 allow ip from 192.168.0.13 to any via rl0
00800       0          0 deny ip from any to 127.0.0.0/8
00900       0          0 deny ip from 127.0.0.0/8 to any
01000       0          0 deny log icmp from any to 255.255.255.255 in via rl0
01100       0          0 deny log icmp from any to 255.255.255.255 out via rl0
01200 1759695 1763351065 allow tcp from any to any established
01300       0          0 allow ip from 192.168.1.1 to any out xmit rl0
01400      70      11823 allow udp from any 53 to any via rl0
01500     103       6515 allow udp from any to any dst-port 53 via rl0
01600       0          0 allow udp from any to any dst-port 123 via rl0
01700       0          0 allow tcp from any to 192.168.1.1 dst-port 21 via rl0
01800       8        464 allow icmp from any to any icmptypes 0,8,11
01900       0          0 allow tcp from any to 192.168.0.4 dst-port 22 via rl0
02000     279      13392 allow tcp from any to any via fxp0
02100    1902     191520 allow udp from any to any via fxp0
02200       0          0 allow icmp from any to any via fxp0
02300     259      12432 allow tcp from any to any via rl0
02400    1779     176458 allow udp from any to any via rl0
02500       7        392 allow icmp from any to any via rl0
65535       0          0 allow ip from any to any
Может я просто с правилами напутал? Вот так у меня выглядит правила:

Код: Выделить всё

${FwCMD} add divert 8668 ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert 8668 ip from any to ${IpOut} in via ${LanOut}
${FwCMD} add divert 199 ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert 199 ip from any to ${IpOut} in via ${LanOut}
2. Хочу прикрутить сюда ещё счёт пользователя и чтобы при отрицательном счёте абонента отключало от интернета! Посоветуйте как ето реально можно сделать? Я думал, что заведу в MySQL базу, где будет хранится Логин, Сумма на счету, Тариф. Ну и собственно говоря написать какой нить shell скрипт, который например в 00:00 каждый день будет смотреть в мускл, смотреть какой у абонента тариф и соответственно с етим тарифом снимать денюжку и в крон поставить на выполнение. Или может ктото ещё чтото предложыт? Буду благодарен за советы, а то я в ЮНИКС области новичек!
Изображение

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
GreenDay
мл. сержант
Сообщения: 100
Зарегистрирован: 2008-02-21 20:25:39
Откуда: Новосибирск
Контактная информация:

Re: IPFW + NeTAMS

Непрочитанное сообщение GreenDay » 2008-04-09 6:56:21

насколько я понял, правило 400 надо поставить до 200
Бесполезно рассказывать о высоком моральном облике коллектива человеку, имеющему доступ к логам прокси-сервера этого коллектива.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: IPFW + NeTAMS

Непрочитанное сообщение schizoid » 2008-04-09 9:48:05

Код: Выделить всё

divert 199 ip from 192.168.1.0/24 to any out via rl0
divert 8668 ip from 192.168.1.0/24 to any out via rl0
divert 8668 ip from any to 192.168.0.4 in via rl0
divert 199 ip from any to 192.168.0.4 in via rl0
в доке это написано

а на счет пункта 2 - зачем изобретать велосипед? все это умеет нетамс, который вы собсна уже поставили.
читайте доку к нему ;)
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
GreenDay
мл. сержант
Сообщения: 100
Зарегистрирован: 2008-02-21 20:25:39
Откуда: Новосибирск
Контактная информация:

Re: IPFW + NeTAMS

Непрочитанное сообщение GreenDay » 2008-04-09 12:34:02

я тут чет советовать полез, а у самого еще нифига не работает :)

Код: Выделить всё

[root@freebsd /usr/home/greenday]# cat /usr/local/etc/netams.cfg
#NeTAMS 3.4.0 (3146.1) root@freebsd.edinros.local / Tue Mar 11 12:04:13 NOVT 2008
#configuration built Wed Apr  9 15:34:17 2008
#begin
#global variables configuration
debug none
language ru
user oid 05E018 name admin real-name "Sergey" crypted $1$$V.9V6fkEfP593Yd1i.ecr1 email root@localhost permit all

#services configuration

service server 0
login local
listen 20001
max-conn 10

service processor
lookup-delay 30
flow-lifetime 180
policy oid 0A7F65 name ip target proto ip
policy oid 0DF92D name www target proto tcp port 80 81 8080 3128 8888
policy oid 0CA3BD name mail target proto tcp port 25 110 995 587
policy oid 0E938F name icq target proto tcp port 5190
restrict all pass local pass
unit group oid 019E62 name NETWORK acct-policy ip www mail icq
unit net oid 00D2C4 name EDINROS ip 192.168.0.0/24 acct-policy ip www mail icq
unit user oid 08D019 name greenday ip 192.168.0.68 password 123 parent NETWORK acct-policy ip www mail icq
unit user oid 0AA9E7 name ip-88 ip 192.168.0.88
unit user oid 0A9AB7 name ip-85 ip 192.168.0.85
unit user oid 0D1B37 name ip-8 ip 192.168.0.8
unit user oid 09CD39 name ip-71 ip 192.168.0.71
unit user oid 0F81D8 name ip-56 ip 192.168.0.56
unit user oid 0EC9E2 name ip-11 ip 192.168.0.11
unit user oid 064480 name arina ip 192.168.0.79 acct-policy ip www mail icq
unit user oid 038AFD name ip-95 ip 192.168.0.95
unit user oid 0B5C04 name ip-62 ip 192.168.0.62
unit user oid 04F51F name ip-98 ip 192.168.0.98 acct-policy ip www mail icq
unit user oid 00F5F6 name ip-92 ip 192.168.0.92 acct-policy ip www mail icq
unit user oid 028697 name ip-17 ip 192.168.0.17 acct-policy ip www mail icq
unit user oid 0A8EDE name ip-72 ip 192.168.0.72 acct-policy ip www mail icq
unit user oid 08A569 name ip-7 ip 192.168.0.7 acct-policy ip www mail icq
unit user oid 0B73A2 name ip-15 ip 192.168.0.15 acct-policy ip www mail icq
unit user oid 03D5D9 name ip-78 ip 192.168.0.78 acct-policy ip www mail icq
unit user oid 09390E name ip-81 ip 192.168.0.81 acct-policy ip www mail icq

service storage 1
type mysql
host localhost
user netams
password netams
accept all

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

service monitor 0
monitor to file /tmp/mon_netams.log
monitor unit greenday
monitor unit arina

service login
relogin no

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

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


#end

Код: Выделить всё

[root@freebsd /usr/home/greenday]# ipfw show | grep divert && ipfw show | grep fwd
00452    133577   107711575 divert 199 ip from any to any in via rl1
00500  17174465 14525828395 divert 8668 ip from any to any in via rl1
03500  17465529  2578776098 divert 8668 ip from any to any out via rl1
03550    140405    16680801 divert 199 ip from any to any out via rl1
00451   6131807  1167163148 fwd 192.168.0.250,3128 tcp from 192.168.0.0/24 to any dst-port 80,8888
как видно - пакеты ходят на нетамс, но дальше ничего
в мониторе пусто, странички пустые.. пробовал в базе копаться - тоже ничего
конфиги стандартные, как с оф сайта или со статьи на этом сайте

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

Аватара пользователя
super-fox
мл. сержант
Сообщения: 143
Зарегистрирован: 2008-04-09 1:20:25

Re: IPFW + NeTAMS

Непрочитанное сообщение super-fox » 2008-04-12 1:06:22

Чтото у меня невыходит! Когда я ставлю так:

Код: Выделить всё

divert 199 ip from 192.168.1.0/24 to any out via rl0
divert 8668 ip from 192.168.1.0/24 to any out via rl0
divert 8668 ip from any to 192.168.0.4 in via rl0
divert 199 ip from any to 192.168.0.4 in via rl0
То у меня:

Код: Выделить всё

Super-foX# ipfw show
00200  295916   12289078  divert 199 ip from 192.168.1.0/24 to any out via rl0
00300      0              0        divert 8668 ip from any to 192.168.0.4 in via rl0
00400  585070    869429     divert 8668 ip from 192.168.1.0/24 to any out via rl0
00500    73       6530          divert 199 ip from any to 192.168.0.4 in via rl0
И собственно ничего неработает, потому что правило

Код: Выделить всё

divert 8668 ip from 192.168.1.0/24 to any out via rl0
равно 0.

Код: Выделить всё

00300      0              0        divert 8668 ip from any to 192.168.0.4 in via rl0
А если я меняю правило таким образм:

Код: Выделить всё

divert 8668 ip from 192.168.1.0/24 to any out via rl0
divert 199 ip from 192.168.1.0/24 to any out via rl0
divert 8668 ip from any to 192.168.0.4 in via rl0
divert 199 ip from any to 192.168.0.4 in via rl0
то:

Код: Выделить всё

Super-foX# ipfw show
00200  295916   12289078  divert 8668 ip from 192.168.1.0/24 to any out via rl0
00300      0              0        divert 199 ip from any to 192.168.0.4 in via rl0
00400  585070    869429     divert 8668 ip from 192.168.1.0/24 to any out via rl0
00500    73       6530          divert 199 ip from any to 192.168.0.4 in via rl0
собственно НАТ работает нормально, но ничё на НЕТАМС непопадает! Немогу понять почему он блокирует второе правило!
Изображение

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: IPFW + NeTAMS

Непрочитанное сообщение schizoid » 2008-04-12 22:23:19

2 super-fox, нетамс вообще запущен?
конфиг покажите.
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
super-fox
мл. сержант
Сообщения: 143
Зарегистрирован: 2008-04-09 1:20:25

Re: IPFW + NeTAMS

Непрочитанное сообщение super-fox » 2008-04-13 1:28:43

Вот мой netams.cfg

Код: Выделить всё

#NeTAMS 3.4.0 (3146.1) root@localhost / Sat Apr  5 01:20:01 EEST 2008
#configuration built Mon Apr  7 21:25:40 2008
#begin
#global variables configuration
debug none
language ru
user oid 0CACFB name super-fox real-name "Super-foX" crypted $1$$HpXmjtul/3i1.bf.B27bU. email super-fox@i.ua permit all

#services configuration

service server 0
login local
listen 20001
max-conn 6

service processor
lookup-delay 60
flow-lifetime 180
policy oid 0429DE name ip target proto ip
policy oid 05A799 name www target proto tcp port 80 81 8080 3128
policy oid 09193F name mail target proto tcp port 25 110
restrict all pass local pass
unit group oid 012E18 name CLIENTS acct-policy ip www mail
unit host oid 0FA1D5 name superfox ip 192.168.1.13 description " ip 192.168.1.13" email super-fox@i.ua password ghjdthrf acct-policy ipM
unit host oid 0F6C2A name server ip 192.168.0.1 acct-policy ip www mail
unit user oid 014CDD name client1 ip 192.168.0.10 email client1@domain.ru parent CLIENTS acct-policy ip www mail
unit net oid 0DAF11 name LAN ip 192.168.0.0/24 acct-policy ip www mail

service storage 1
type mysql
host localhost
user root
password 1111
accept all

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

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/apache/htdocs/stat
run 10min
url http://192.168.0.4/stat/
htaccess yes
client-pages all
account-pages none

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

Нетамс запущен.
Изображение

Аватара пользователя
super-fox
мл. сержант
Сообщения: 143
Зарегистрирован: 2008-04-09 1:20:25

Re: IPFW + NeTAMS

Непрочитанное сообщение super-fox » 2008-04-13 1:48:45

Сори, розобрался, то я недоглядел! Ща вроде всё работает! Вот только меня смущает одно, я так понимаю что diver 199 out и divert 8668 out должны обрабатывать одинкаовое количество пакетов, так как и diver 199 in и divert 8668 in, а у меня немного нетак,ето нормально?

Код: Выделить всё

00100 1703 1515139 divert 199 ip from 192.168.1.0/24 to any out via rl0
00200 1703 1515139 divert 8668 ip from 192.168.1.0/24 to any out via rl0
00300 1092  130694 divert 8668 ip from any to 192.168.0.4 in via rl0
00400   10     897     divert 199 ip from any to 192.168.0.4 in via rl0

Изображение