Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Кривой Bash в Gentoo или у меня кривые руки? помогите!
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
Nicephorus
n00b
n00b


Joined: 28 Feb 2005
Posts: 15

PostPosted: Fri Mar 25, 2005 6:32 pm    Post subject: Кривой Bash в Gentoo или у меня кривые Reply with quote

решил настроить в нашей локалке рассчет трафика по компам.
нашел очень интересный скрипт http://www.linuxcenter.ru/lib/articles/networking/iptables_accounting.phtml
или места где сбоит отметил :twisted:
ВОТ КОД!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
##########################################################################
# ! /bin/bash
# iptables.load - установка правил
# Входящие политики по умолчанию
...*
# Дополнительные цепочки
...*
# Цепочки для расчета трафика приходящего на внешний интефейс
# Таким образом мы имеем весь трафик который к нам
# пришел от провайдера.
/sbin/iptables -N in_traf
/sbin/iptables -N fwd_in_traf
# Цепочки для расчета трафика по пользователям
i=1
while [ $i -le 254 ]
do
/sbin/iptables -N chain_$i
i=`expr $i + 1`
done
# Работа цепочек
...*
# Работа цепочек по расчету трафика
/sbin/iptables -A in_traf -j RETURN
/sbin/iptables -A fwd_in_traf -j RETURN
i=1
while [ $i -le 254 ]
do
/sbin/iptables -A chain_$i -j RETURN
i=`expr $i + 1`
done
# Работа входящей цепочки
# Эти цепочки должны стоять обязательно первыми.
/sbin/iptables -A INPUT -i eth1 -j in_traf
...*
# Работа цепочки роутинга
# Эти цепочки должны стоять обязательно первыми.
i=1
while [ $i -le 254 ]
do
/sbin/iptables -A FORWARD -o eth0 -d 192.168.1.$i -j chain_$i
i=`expr $i + 1`
done
/sbin/iptables -A FORWARD -i eth1 -j fwd_in_traf
...*
# Работа исходящей цепочки
...*
# Работа цепочки маскарадинга
...*
# End
#########################################################################
*... - здесь должны быть ваши правила.
Этот файл нужно поставить в автозагрузку.

Следующий файл должен выполняться в 23:50 для того, чтобы в файле была правильная дата. Его также нужно выполнять при перезагрузках компьютера, чтобы сохранялись значения счетчиков.

#############################################################################
# ! /bin/bash
# traf.logging - Сбор трафика в файлы *.xls
# Смена директории по умолчанию
# Эти файлы находятся в директории /root
# поэтому мне было проще писать их в поддиректорию
# откуда ини забираются по ssh и спокойно открываются в Excel'e
# В результате получаются файлы с именами "номер месяца".xls и
# users_"номер месяца".xls
# Внутри него создается таблица вида:
# Дата - последний байт ip адреса - трафик в байтах
cd /root/trafic
# Присваивание параметров для мониторинга
MNTH=`date +%m`
DAT=`date +%d`
# Расчет величины трафика входящего на интерфeйс
# eth1 ( Внешний интерфейс)
# Максимальный расчетный трафик за день - 953МВ
IN=`/sbin/iptables -L INPUT -v -x | grep traf | head -c 18 | tail -c 9`
FW=`/sbin/iptables -L FORWARD -v -x | grep traf | head -c 18 | tail -c 9`
RX=`expr $IN + $FW` :twisted: ПОЧЕМУ НЕ СКЛАДЫВАЕТ? пишет синтаксич ошибка... если второй оператор заменить на число то скалдывает... :( пишет: !expr: syntax error!
# Вывод расчетной величины трафика в файл
echo "$DAT$RX" >> ${MNTH}.xls
# Расчет индивидуальных пользователей
i=1
while [ $i -le 254 ]
do
RX=`/sbin/iptables -L FORWARD -v -x | grep chain_$i | head -c 18 | tail -c 9`
if [ $RX -ne 0 ] :twisted: про оператор унарный придрался...
then echo "$DAT$i$RX" >> users_${MNTH}.xls
fi
i=`expr $i + 1`
done
# Очистка счетчиков трафика для следующего дня
/sbin/iptables -Z
# Done
###############################################################################
КОНЕЦ КОДА!!!!!!!!!!!!!!!!!!!!

ПОЖАЛУЙСТА ПОМОГИТЕ! в чем дело не пойму...
Back to top
View user's profile Send private message
ZmiyGorinich
Guru
Guru


Joined: 27 Feb 2004
Posts: 369
Location: Zaporizhzhe, Ukraine

PostPosted: Sat Mar 26, 2005 7:21 am    Post subject: Reply with quote

Проверь что у тебя в:
IN=`/sbin/iptables -L INPUT -v -x | grep traf | head -c 18 | tail -c 9`
FW=`/sbin/iptables -L FORWARD -v -x | grep traf | head -c 18 | tail -c 9`
_________________
Home: Athlon XP 2000+, ATI Radeon 9200 64Mb, 512Mb, hda:40Gb, hdb:120Gb, DVD-RW
Work : Duron 1.4, S3 ProSavage8 32Mb, 512Mb, hda:40Gb, CD-RW
Design, programming, hosting
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum