Спасибо за ответы (Евгений в т.ч.)!щас короче у меня так настроено:
ppp запускается с параметром -nat,а natd ваще не запускаю!но для того чтобы позволить ppp "дивертить" пакеты пришлось добавить правило:
allow ip from 192.168.2.2 to any via tun0
allow ip from any to 192.168.2.2 via tun0
иначе nat ругается что не может вернуть пакеты
(хм.. если я natd ваще не запускаю, то кто тогда ругается? может ppp?)теперь выяснил почему почта не пахала:
надо писать
allow tcp from 192.168.2.2 to any 25,53,110 via ed0
allow udp from 192.168.2.2 to any 25,53,110 via ed0
allow tcp from any 25,53,110 to 192.168 2.2 via ed0
allow udp from any 25,53,110 to 192.168 2.2 via ed0то есть надо разрешать не только tcp но и udp пакеты
смотрел статистику: при прокачке почты несколько пакетов ходят через utp - че это за пакеты?теперь опять по статистике:
хотел смотреть стистику по разным портам, в итоге завел отдельное правило для каждого порта/клиента типа:
allow tcp from 192.168.2.2 to any 25 via ed0
allow tcp from 192.168.2.2 to any 53 via ed0
allow tcp from 192.168.2.2 to any 110 via ed0
ну и т.д.ВОПРОС: стОит ли извращаться таким образом или проще/лучше/надежнее задать общие правила для всех портов/подсетей типа
allow tcp from 192.168.2.0/24 to any 25,53,110 via ed0
а стистику по портам и клиентам выцеплять при помощи какой-нибудь резидентной программки-демона?
мне кажется, такие утилитки я где-то видел...с наилучшими,
Сергей
Млин .. ты определись что тебе надо файрвал или просто статистику снимать????
если статистику то можно так:
ipfw 0 add count all from any to any -- это вся статистика
ipfw 1 add count tcp from any to <мой клиент №1> -- вся статистика первого клента по tcp
ну или
ipfw 1 add count tcp from any to <мой клиент №1>:80 -- вся www-шня статистика
а в конце всего этого
ipf 65000 add allow all from any to any
и все .... чего парится то ?????
а если хочешь файрвал сделать то почитай про все ключики особенно setup, in, out, establishedЗЫ: а вобше я бы CISCO купил, тама и софт грамотный для этого дела есть, не так это уж и дорого ..
>pfw 0 add count all from any to any -- это вся статистика
а че енто за параметр count? ведь ipfw и так считает пакеты и объем и показывает все по ipfw show?а вообще на www у меня Сквид стоит, с него статистику я снимаю нормально,
а весь этот геморрой с ipfw ради того чтобы у людей icq работала, и главное что бы почта качалась со всяких mail.ru/chat.ru
моя контора предоставляет ПЛАТНЫЙ доступ в тырнет, а клиенты сидят в нашем здании в локальной сетке, и сами мы платим за трафик и поэтому мне надо отследить ВЕСЬ трафик от КАЖДОГО клинета, а конкретно объем скачанной почты.
Я раньше с UNIX ваще не работал,Perl и С для меня темный лес. Я щас могу сливать к примеру каждые 5 мин.:
ipfw show>>/usr/logs/day.log
ipfw -f flush
к концу дня у меня будет почти 2 метровый day.log - как мне сделать группировку из этого лога чтобы получить в конце дня статистику за день(месяц) в одном маленьком файле? Можно это сделать средствами #!/bin/sh или надо в Perl/C залазить? Или надыбать готовую утилитку-демона что бы она сама делала отчеты по трафику на основе правил ipfw?
либо купи CISCO ....
либо ставь winNT ....
либо учи (UNIX,Perl,С) ....
и вроде под пополам есть что то такоеЗЫ: первый вариант очень даже не плохой, к примеру купить пару модулей и вот у тебя уже модемный пул.
>либо купи CISCO ....
пока не по карману :-(
>либо ставь winNT ....
Window must die! >:-|>либо учи (UNIX,Perl,С) ....
в man perl первым делом написано что это язык для генерации разных отчетов и таблиц, может сначала на С приналечь? или perl как раз то что надо чтобы обрабатывать логи?
можно и перл, все от ресурсов машины зависит ..
Пишешь что-то типа:
f_in="rl0"
ip_ports="20,21,80,8080,443"
user_1="192.168.1.2"
...#out from users
ipfw add 1010 allow tcp from $user_1 to any $ip_ports in via $if_in
...
ipfw add 1090 allow tcp from $user_9 to any $ip_ports in via $if_in
# in from users
ipfw add 2010 allow tcp from any $ip_ports to $user_1 out via $if_in
ipfw add 2090 allow tcp from any $ip_ports to $user_9 out via $if_inИ прилагаешь сюда скрипт, который раз в сутки снимает статистику - типа:
#!/bin/sh
traffic_file=/etc/firewall/logz/traffic.`date "+%H:%M_%d-%m-%Y"`#out
ipfw show 1010 | awk '{ print $3; }' >> $traffic_file
...
ipfw show 1090 | awk '{ print $3; }' >> $traffic_file
#IN
ipfw show 2010 | awk '{ print $3; }' >> $traffic_file
...
ipfw show 2090 | awk '{ print $3; }' >> $traffic_fileВ свое время у меня была такая же проблема, как у тебя. В итоге у меня была зверская система скриптов, генерящие ежедневные-еженедельные-еже... отчеты - с именами юзеров, полной раскладкой - почта, ICQ, www - наружу и внутрь - все средствами #!/bin/sh
Хотя по-умному так не делается, а делается не так: с SQL, perl-ом и прочеми рулезами.
СПАСИБО ВСЕМ!
буду учить perl, c & SQL :-)
Можешь попробовать ipfm - снимает трафик с сетки через любой промежуток времени