Вопрос по поводу ipacctd

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Wrbt
проходил мимо
Сообщения: 7
Зарегистрирован: 2007-03-06 22:24:52

Вопрос по поводу ipacctd

Непрочитанное сообщение Wrbt » 2007-03-06 22:47:51

Появилась мысль посчитать количество траффика. На машине где предполагал попробовать уже стоит squid и всё замечательно считает sarg. Все пользуют её для выхода в сеть. Но охота поэксперементировать. За пример взята эта статья http://www.lissyara.su/?id=1134
Ядро пересобрано со следующими опциями

options IPFIREWALL
options IPFIREWALL_FORWARD
options IPDIVERT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options TCP_DROP_SYNFIN

IPFW работает, логи пишет вроде с задачей справляется, но есть одно но правила написаны следующим образом

add 100 check-state

add 200 deny log icmp from any to any in icmptype 5,9,13,14,15,16,17
add 300 allow ip from any to any via lo0
add 320 deny log ip from any to 127.0.0.0/8
add 330 deny log ip from 127.0.0.0/8 to any
add 360 allow ip from me to any keep-state
add 510 allow udp from any to 10.0.0.1 67,68
add 520 allow udp from 10.0.0.1 to any 67,68
add 700 allow tcp from me to any 53
add 710 allow tcp from 10.0.0.1 53 to me
add 720 allow udp from me to any 53
add 730 allow udp from 10.0.0.1 53 to me
add 800 allow tcp from 10.0.0.0/16 to me 3128


add 1001 reject log tcp from any to any tcpflags fin, syn, rst, psh, ack, urg
add 1002 reject log tcp from any to any tcpflags !fin, !syn, !rst, !psh, !ack, !
add 1003 reject log tcp from any to any not established tcpflags fin
add 1004 deny log ip from any to any not verrevpath in
add 1005 allow ip from any to any setup limit src-addr 10
add 1006 deny log all from any to me in ipoptions ssrr
add 1007 deny log logamount 50 ip from any to me in ipoptions lsrr
add 1008 deny log all from any to me in ipoptions rr
add 1009 deny log all from any to me in ipoptions ts


add 65534 deny log all from any to any

В этом случае все работает на ура. ( подозреваю, что далеко от идеала). Как только попробовал сделать как надо

FwCMD="/sbin/ipfw"

${FwCMD} -f flush

${FwCMD} add divert 10001 ip from any to any via xl0
${FwCMD} add divert 10002 ip from any to any via lo0
${FwCMD} add deny ip from not 10.0.0.0/16 to me
${FwCMD} add allow ip from any to any

При загрузке вижу примерно следующее
Bad command FwCMD="/sbin/ipfw"

Как итог всё всем запрещает. Пытался писать по разному, результат один, хотя

/sbin/ipfw -d list

Работает. Что я делаю неправильно? Поясните плиз?
По поводу ipacctd. Если делаю правила в таком виде

add 100 divert 10001 ip from any to any via xl0
add 200 divert 10002 ip from any to any via lo0
add 300 deny ip from not 10.0.0.0/16 to me
add 400 allow ip from any to any

Все срабатывает, но логов в /var/log не появляется, хотя ps говорит что

524 ?? Ss 1:52.80 /usr/local/sbin/ipacctd -v -p 10001 -f /var/log/traff
527 ?? Is 0:00.10 /usr/local/sbin/ipacctd -v -p 10002 -f /var/log/traff

Подскажите кто зает как бороться, в какую сторону копать? Не дайте умереть идиотом)) Всем заранее спасибо за ответы.

P.S Free 6.2 + Athlon 64

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-03-06 23:15:32

Автоподпись: Юзайте кнопочку [cоde] пожалуйста
====================================
Что за привычка - писать номера правил? Не надо их писать. надо их в скрипте файрволла в правильном порядке расставлять.
и дай

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

ipfw list
для начала.
и ещё - логи сами не сбрасываются. надо давать команду, чтоб сбросил...
Убей их всех! Бог потом рассортирует...

Wrbt
проходил мимо
Сообщения: 7
Зарегистрирован: 2007-03-06 22:24:52

Непрочитанное сообщение Wrbt » 2007-03-06 23:22:02

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

ipfw list
00100 divert 10001 ip from any to any via xl0
00200 divert 10002 ip from any to any via lo0
00300 check-state
00310 divert 10001 ip from any to any via xl0
00320 divert 10002 ip from any to any via lo0
00330 deny log logamount 50 icmp from any to any in icmptypes 5,9,13,14,15,16,17
00340 allow ip from any to any via lo0
00350 deny log logamount 50 ip from any to 127.0.0.0/8
00360 deny log logamount 50 ip from 127.0.0.0/8 to any
00370 allow ip from me to any keep-state
00510 allow udp from any to 10.0.0.1 dst-port 67,68
00520 allow udp from 10.0.0.1 to any dst-port 67,68
00700 allow tcp from me to any dst-port 53
00710 allow tcp from 10.0.0.1 53 to me
00720 allow udp from me to any dst-port 53
00730 allow udp from 10.0.0.1 53 to me
00800 allow tcp from 10.0.0.2 to me
00810 allow tcp from 10.0.0.3 to me
01001 reject log logamount 50 tcp from any to any tcpflags syn,fin,ack,psh,rst,urg
01002 reject log logamount 50 tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
01003 reject log logamount 50 tcp from any to any not established tcpflags fin
01004 deny log logamount 50 ip from any to any not verrevpath in
01005 allow ip from any to any setup limit src-addr 10
01006 deny log logamount 50 ip from any to me in ipoptions ssrr
01007 deny log logamount 50 ip from any to me in ipoptions lsrr
01008 deny log logamount 50 ip from any to me in ipoptions rr
01009 deny log logamount 50 ip from any to me in ipoptions ts
65535 deny ip from any to any
Это по принципу

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

add 100 check-state 

add 200 deny log icmp from any to any in icmptype 5,9,13,14,15,16,17 
add 300 allow ip from any to any via lo0 
add 320 deny log ip from any to 127.0.0.0/8 
add 330 deny log ip from 127.0.0.0/8 to any 
add 360 allow ip from me to any keep-state 
add 510 allow udp from any to 10.0.0.1 67,68 
add 520 allow udp from 10.0.0.1 to any 67,68
Хотелось бы по уму.
Как логи сбросить? По настройке ipacctd только тут было найдено внятное описание. Подозреваю, что есть аналоги на английском, но не уверен, что будут полными и ответят на мой вопрос. Спасибо

P.S Не надо их писать. надо их в скрипте файрволла в правильном порядке расставлять

Дык не волшебник только учусь

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-03-06 23:26:02

собсно, из статьи что ты сам ссылаешься, тебе нужна одна строка:

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

# Сохраняем статистику по всем интерфейсам
# sleep введён по причине, что иногда не успевает траффик
# в текстовый файл сохраниться - подумываю ещё sync воткнуть
killall -1 ipacctd && sleep 1
коли уж скрипт не используешь.
Убей их всех! Бог потом рассортирует...

Wrbt
проходил мимо
Сообщения: 7
Зарегистрирован: 2007-03-06 22:24:52

Непрочитанное сообщение Wrbt » 2007-03-06 23:38:08

Дело в том, что до скрипта я не добрался. Поскольку смутился отсутствию логов. Ну и решил задать вопрос , в любом случае спасибо, буду пробовать.
И всётаки почему правила вида

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

FwCMD="/sbin/ipfw" 

${FwCMD} -f flush 

${FwCMD} add divert 10001 ip from any to any via xl0 
${FwCMD} add divert 10002 ip from any to any via lo0 
${FwCMD} add deny ip from not 10.0.0.0/16 to me 
${FwCMD} add allow ip from any to any
Не работают? Ну подозреваю, что руки кривые и между строк читать не умею. Но Фря то вроде у всех одинаковая? Не может не работать у меня , но работать у соседа. Ткните плиз в разгадку

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-03-06 23:52:11

а как определял что не работает?
Убей их всех! Бог потом рассортирует...

Wrbt
проходил мимо
Сообщения: 7
Зарегистрирован: 2007-03-06 22:24:52

Непрочитанное сообщение Wrbt » 2007-03-07 0:06:48

При загрузке вижу примерно следующее
Bad command FwCMD="/sbin/ipfw"

Как итог всё всем запрещает. Пытался писать по разному, результат один, хотя

/sbin/ipfw -d list

Работает

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-03-07 11:25:53

Wrbt писал(а):При загрузке вижу примерно следующее
Bad command FwCMD="/sbin/ipfw"

Как итог всё всем запрещает. Пытался писать по разному, результат один, хотя

/sbin/ipfw -d list

Работает
cat /etc/rc.conf | grep firewall
покажешь?
+ сам конфиг фаера.

P.S. Интересует сам процесс запуска фаера.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Wrbt
проходил мимо
Сообщения: 7
Зарегистрирован: 2007-03-06 22:24:52

Непрочитанное сообщение Wrbt » 2007-03-07 11:34:23

К сожалению rc.conf нет перед глазами, но на память там только ipfirewall_enable="yes" и строчка с указанием пути к скрипту. Сам скрипт в первом сообщении. В рабочем и нерабочем варианте. rc.conf вечером точнее выложу

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-03-07 11:51:17

Мой конфиг, проблем обычно не вызывает:

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

# cat /etc/rc.conf | grep firewall
firewall_enable="YES"
firewall_script="/etc/myfirewall"
А здесь сам firewall, файл сделан выполняемым, и перезапуск осуществляется простым нажатим enter в mc. (или ./etc/myfirewall)

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

#!/bin/sh -

iflan="fxp0"
mylan="192.168.0.0/16"

fwcmd="/sbin/ipfw -q"
${fwcmd} -f flush

# Пускаем lo
        ${fwcmd} add pass all from any to any via lo0
# Пускаем Нашу сеть
        ${fwcmd} add pass all from any to any via ${iflan}
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.