nixp.ru v3.0

17 октября 2017,
вторник,
14:40:49 MSK

DevOps с компанией «Флант»
Nuclear написал 22 декабря 2004 года в 14:17 (708 просмотров) Ведет себя как мужчина; открыл 27 тем в форуме, оставил 65 комментариев на сайте.

Здраствуйте.

Знаю что это тема немного банальная. но прошу помощи.

Помогите решить проблему подсчета трафика проходящего через сервер.

Конфигурация сервера:

интерфейс в интернет 10.0.0.1

интерфейс в сеть 192.168.0.1

Пользователи выходят в сеть через NAT.

ОС: Slackware Linux 10.0

Genie

пора уже действительно в ЧаВО….

в принципе, достаточно просто пойти на http://opennet.ru/ и почитать там.

выбор есть.

можно спросить и почитать гугль://подсчёт+трафика+iptables

даже первые позиции показывают несколько вариантов.

воспользоваться NetAMS. Сложновато для новичка… но — действенно.

кроме того, к примеру в debian, есть пакет ipac.

Nuclear

Спасибо я это уже сделал.

Вот нашел решение:

Сначала заносим IP: /usr/sbin/iptables -A FORWARD -d 192.168.0.10 -i eth1 -j ACCEPT

Смотрим статистику:

/usr/bin/iptables -vxnL FORWARD

Возник вопрос: Как выводить статистику в файл с определенной датой.

Например: traffic_21-12-2004

В крон я зенесу примерно на кождую ночь в 23-55, но как сделать имя файла с датой?

iliya

DATE=`date +%d.%m.%Y`

Nuclear

Всем спасобо. Все настроил.

Единственное, что немного не устраивает формат вывода.

Не подскажите как можно организовать форматированный вывод только тех колонок, которые нужны (destination ip, bytes) например в excel?

Genie

погляди на приведённый <font color=«blue»>тут скриптик (на awk)</font>

fly4life
Nuclear
Всем спасобо. Все настроил.

Дык, рассказывай как настроил? ;). Так сказать, чтобы в будущем была возможность ссылать и на эту тему при вопросах о подсчёте трафика.

Nuclear

1. Настраиваем NAT (нужно записать все необходимые ip)

/usr/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.89 -j MASQUERADE;

2. Так у меня работает переадресация запросов на DNS. Чтобы у пользователей не менять.

/usr/sbin/iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination 10.0.0.2:53;

3. Настраиваем iptables на подсчет трафика (нужно записать все необходимые ip)

/usr/sbin/iptables -A FORWARD -d 192.168.0.10 -i eth1 -j ACCEPT

4. Делаем скриптик который будет записывать статистику в файл с именем traffic_[дата] и очищать статистику что-бы на следующий день писать заново

Имя файла: save_stat

#Save traffic result

DATE=’traffic_’`date +%d.%m.%Y`;

/usr/sbin/iptables -vxnL FORWARD > /var/log/traffic/$DATE;

/usr/sbin/iptables -F;

/etc/rc.d/rc.firewall;

5. Создаем файл crontab

# MIN HOUR DAY MONTH DAYOFWEEK COMMAND

# Load news parser #

50 23 * * * /save_stat

6. Создаем задания для crontab из вышеописанного файла

crontab /crontab

Все. Каждый день в 23:50 будет создаватся файл с отчетом по трафику за текущие сутки. Все это сделано немного кривовато и есть способы лучше. Однако очень просто и эффективно, а главное работает.

Логи можно выводить через самбу для общего обозрения.