Вопрос по поводу ipacctd
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2007-03-06 22:24:52
Вопрос по поводу ipacctd
Появилась мысль посчитать количество траффика. На машине где предполагал попробовать уже стоит 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
Ядро пересобрано со следующими опциями
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
Тарифы на хостинг в России, от 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/
Тарифы на виртуальные сервера (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/
- Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Автоподпись: Юзайте кнопочку [cоde] пожалуйста
====================================
Что за привычка - писать номера правил? Не надо их писать. надо их в скрипте файрволла в правильном порядке расставлять.
и дай
для начала.
и ещё - логи сами не сбрасываются. надо давать команду, чтоб сбросил...
====================================
Что за привычка - писать номера правил? Не надо их писать. надо их в скрипте файрволла в правильном порядке расставлять.
и дай
Код: Выделить всё
ipfw list
и ещё - логи сами не сбрасываются. надо давать команду, чтоб сбросил...
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2007-03-06 22:24:52
Код: Выделить всё
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
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
собсно, из статьи что ты сам ссылаешься, тебе нужна одна строка:
коли уж скрипт не используешь.
Код: Выделить всё
# Сохраняем статистику по всем интерфейсам
# sleep введён по причине, что иногда не успевает траффик
# в текстовый файл сохраниться - подумываю ещё sync воткнуть
killall -1 ipacctd && sleep 1
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2007-03-06 22:24:52
Дело в том, что до скрипта я не добрался. Поскольку смутился отсутствию логов. Ну и решил задать вопрос , в любом случае спасибо, буду пробовать.
И всётаки почему правила вида
Не работают? Ну подозреваю, что руки кривые и между строк читать не умею. Но Фря то вроде у всех одинаковая? Не может не работать у меня , но работать у соседа. Ткните плиз в разгадку
И всётаки почему правила вида
Код: Выделить всё
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
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2007-03-06 22:24:52
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
cat /etc/rc.conf | grep firewallWrbt писал(а):При загрузке вижу примерно следующее
Bad command FwCMD="/sbin/ipfw"
Как итог всё всем запрещает. Пытался писать по разному, результат один, хотя
/sbin/ipfw -d list
Работает
покажешь?
+ сам конфиг фаера.
P.S. Интересует сам процесс запуска фаера.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- проходил мимо
- Сообщения: 7
- Зарегистрирован: 2007-03-06 22:24:52
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Мой конфиг, проблем обычно не вызывает:
А здесь сам firewall, файл сделан выполняемым, и перезапуск осуществляется простым нажатим enter в mc. (или ./etc/myfirewall)
Код: Выделить всё
# cat /etc/rc.conf | grep firewall
firewall_enable="YES"
firewall_script="/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'ы и выяснить какой из них хуже.