Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
Добавлено: Пт Янв 20 2006 07:53 Заголовок сообщения: Как я учитывал трафик... |
|
|
Обещанный отчет по установке системы контроля трафика.
Дано:
Linux FC3
eth0 – Local – 192.168.1.1
eth1 – Inet – 100.0.0.0
Прокси+ДНС+Мыло+всякая всячина на стороне провайдера – 100.0.0.1
Доступ к HTTP из локалки организован через Squid + SAMS. Squid работает через парент-прокси провайдера(так дешевле).
В общем, с некоторыми исключениями достаточно стандартная конфигурация для очень многих контор.
Задача:
Получить возможность считать(+- точно) трафик, проходящий через Linux.
При этом одно из основных – контролировать попытки коннектов извне по адресам\портам.
Перелопатил достаточно много программ, в итоге понял: те, что точно подойдут, коммерческие.
Из некоммерческих пока что остановился на NF Billing 1.4 (www.lanbilling.ru, некоммерческая версия). Ногами не пинать! Это тоже не совсем то, что нужно, но после доработки напильником… Итак:
1.Качаем и rpm, и сырцы, устанавливаем.
2. Х.З., для каких старых версий ПО писались инструкции по установке. Дорабатываем права для MySQL, в конфиге биллинга прописываем считать трафик для eth1 – 100.0.0.1
3. Так, в базу трафик пишется. Web-iface не работает. Ну ладно, опыт борьбы с такими граблями уже есть. Лезем в analyze.php, прописываем _GET для всего, чему нужен _GET. Работает.
4. Смотрим трафик. Бред. Вернее, все правильно, как если бы eth1 был один из компов из подсети 100.0.0.0/24, к примеру, для которой нужно считать. Но нужно нечто другое! Опять лезем в analyze.php, меняем выборку из базы с поля ip на поле remote. Проверяем.Уже гораздо лучше. Четко показывает, сколько/порты/куда коннектится сервер.
5. Коннектимся извне на некий порт сервера. Смотрим трафик по портам. Ага! Порта такого нет. А вот адрес присутствует! После разборок выясняется, что учитывается в данном случае трафик не только для внешнего адреса, но и для внешнего же порта! И на какой порт сервера был коннект, непонятно. Хотя размер входящего\исходящего трафика показан точно.
6. Для параллельного учета соединений извне добавляем сеть 0.0.0.0/0 в conf. Смотрим.
Ну, естественно, для этой сети начинает дублироваться учет для адреса 100.0.0.0. Лезем в Log_To_SQL.php, делаем так, чтобы для этой сети данный адрес не считался. Заодно, заглянув в базу, вышвыриваем трафик по исходящим соединениям на прокси, днс, мыло провайдера, чтобы не замусоривать базу для подсети 0.0.0.0/0. Уже лучше.
7. Проверяем. Упс! Однако, в выборке-то для отчета я ip заменил на remote!
8. Копируем analyze.php в inbound.php для отдельного учета входящих соединений, возвращаем ip на родину. Проверяем. Почти нормально. Пример записей в БД
Код: |
IP CIN COUT TIMEFROM TIMETO PORT MASK REMOTE
| 100.0.0.0 | 20 | 100 | 20060120090143 | 20060120090343 | 3128 | 100.0.0.0/24 | 100.0.0.1 |
| 201.201.201.215 | 54 | 27 | 20060120090143 | 20060120090343 | 22 | 0.0.0.0/0 | 100.0.0.0 |
| 100.0.0.0 | 27 | 54 | 20060120090143 | 20060120090343 | 35566 | 100.0.0.0/24 | 201.201.201.215 |
| 100.0.0.0 | 654 | 100 | 20060120090143 | 20060120090343 | 80 | 100.0.0.0/24 | (www.mysql.org) |
| (www.mysql.org) | 100 | 654 | 20060120090143 | 20060120090343 | 37561 | 0.0.0.0/0 | 100.0.0.0 |
|
Один черт показывает трафик по исходящим соединениям в той подсети, где нужно учитывать только входящие, но так как основной исходящий (от Squid'а) здесь не виден, то можно мириться.
Не исключено также, что в LOG_TO_SQL.php я вставил "if (принадлежит исходящему соединению)… continue" немного не туда, и все-таки возможно избавиться от учета трафика по исходящим соединениям сервера для сети 0.0.0.0/0. Корень проблемы заключается в том, что модуль сбора пакетов ни пишет в лог, какому соединению пакет принадлежит.
В общем, кривовато, но работает. Статистика довольно точна, сверялся с провайдером.
Комментарии? _________________ Съешь еще мягких французских булок,да выпей чаю! |
|
Вернуться к началу |
|
|
McZim
Зарегистрирован: 09.08.2005 Сообщения: 275 Откуда: Omsk
|
|
Вернуться к началу |
|
|
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
Добавлено: Пт Янв 20 2006 08:37 Заголовок сообщения: |
|
|
Согласен, это здоровская система.
Только все ее навороты(и цена, соответ.) мне совершенно ни к чему.
В конце концов, я не перепродаю трафик третьим лицам. Ну, пока, во всяком случае. _________________ Съешь еще мягких французских булок,да выпей чаю! |
|
Вернуться к началу |
|
|
McZim
Зарегистрирован: 09.08.2005 Сообщения: 275 Откуда: Omsk
|
Добавлено: Пт Янв 20 2006 09:00 Заголовок сообщения: |
|
|
На счет цены, здесь не обязательно платить за нее, у них есть такое понятие как тестовая лицензия на 100 договоров, в каждом договоре 20-логинов. Это абсолютно бесплатно! _________________ Я странный... |
|
Вернуться к началу |
|
|
dio
Зарегистрирован: 07.10.2004 Сообщения: 722 Откуда: Дважды орденоносная Кубань,Краснодар
|
|
Вернуться к началу |
|
|
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
Добавлено: Пт Янв 20 2006 09:54 Заголовок сообщения: |
|
|
dio писал(а): | http://www.linux.ru/docs/russian/nfbilling/ |
Следующая версия того, что использовал я. Основные принципы те же. Если бы взял ее, возможно, пришлось иметь меньше проблем с web-interfacе'ом. На уровне проблем с контролем трафика по входящим\исходящим соединениям - те же вышеописанные мною грабли. _________________ Съешь еще мягких французских булок,да выпей чаю! |
|
Вернуться к началу |
|
|
dio
Зарегистрирован: 07.10.2004 Сообщения: 722 Откуда: Дважды орденоносная Кубань,Краснодар
|
Добавлено: Пт Янв 20 2006 11:23 Заголовок сообщения: |
|
|
тогда такой вариант - считать пакеты на интрефейсе ) _________________ All is not lost!
Последний раз редактировалось: dio (Пт Янв 20 2006 11:28), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
McZim
Зарегистрирован: 09.08.2005 Сообщения: 275 Откуда: Omsk
|
Добавлено: Пт Янв 20 2006 11:27 Заголовок сообщения: |
|
|
ЛанБиллнг бесплатно? _________________ Я странный... |
|
Вернуться к началу |
|
|
dio
Зарегистрирован: 07.10.2004 Сообщения: 722 Откуда: Дважды орденоносная Кубань,Краснодар
|
Добавлено: Пт Янв 20 2006 11:29 Заголовок сообщения: |
|
|
McZim писал(а): | ЛанБиллнг бесплатно? |
Посмотри внимательно - там есть и бесплатная версия _________________ All is not lost! |
|
Вернуться к началу |
|
|
Pingvinenok
Зарегистрирован: 30.06.2005 Сообщения: 171
|
Добавлено: Пт Янв 20 2006 11:51 Заголовок сообщения: |
|
|
dio писал(а): | тогда такой вариант - считать пакеты на интрефейсе ) |
Не понял. Там так и считается. Девайс переводится в промискуитет - и вперед.. _________________ Съешь еще мягких французских булок,да выпей чаю! |
|
Вернуться к началу |
|
|
|