* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.
Вопрос № 148370: Люди добрые, здравствуйте. Помогите выбрать софт. Завтра надо сделать роутер на базе Debian GNU/Linux Etch. Задача сервера - раздавать интернет в локальную сеть (3-4 ПК). Как раздать - я разобрался, а вот как бы учитывать трафик, чтобы кроме общег...
Вопрос № 148.370
Люди добрые, здравствуйте. Помогите выбрать софт. Завтра надо сделать роутер на базе Debian GNU/Linux Etch. Задача сервера - раздавать интернет в локальную сеть (3-4 ПК). Как раздать - я разобрался, а вот как бы учитывать трафик, чтобы кроме общего количества трафика записывалось по каким сайтам (хотя бы ip-адреса) ходили и сколько с них качали информации. (В скриптах я полный ноль, так что сам написать не смогу) Желательно без всяких тяжеловесных пакетов, т.к. сервер будет Pentium 733 / 256 MiB RAM. Помогите,
пожалуйста.
Отвечает: Авдонин Алексей Владимирович
Здравствуйте, Абрамов Михаил! Могу предложить мой вариант: Squid как прозрачный прокси (пользователи ничего и не заметят) плюс ulog-acctd для логов не http-пакетов. Плюсы: развёрнутые логи сквида; лёгкость настройки (никаких скриптов писать не надо); ulog-acctd записывает в лог не отдельный пакеты, а сессии с указанием портов, адресов источника и назначения, общим трафиком сессии, так что нагрузка на роутер будет небольшая (у меня по такой схеме раздается мегабитный канал на 25 машин, причем шлюзом
стоит Р2-300 64 МБ ОЗУ и не напрягается).
#thank 148370 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 4 Комментарий оценки: За скорость. :)
Отвечает: PVS@Lviv
Здравствуйте, Абрамов Михаил! Больше всего Вам подойдёт squid. Это кеширующий proxy-сервер. Он ведёт учёт кто когда откуда и сколько скачал, только с одной оговоркой: считает он только то, что прошло через него. Это не совсем полная картина, так как на него можно "завернуть" только протоколы http, https и ftp, да и то если для http это можно сделать безболезненно для пользователя (т.н. transparent-proxy), то с https и ftp не так гладко: для https нужно явно указывать наличие proxy-сервера иначе
он "не поймёт" что творится (можно добится некоторого "понимания", но возможность эта скорее экспериментальная). FTP же будет работать в урезанном режиме: только на скачивание (загрузка на сервер невозможна). Исходя из этого оптимальной будет следующая конфигурация: squid для http и https (не transparent) и ftp-траффик без учёта.
Есть и другие решения, базирующиеся на iptables - системе фильтрации сетевых пакетов, но в их описании я встреча
л только возможность учёта "кто сколько", а вот "откуда склько" и "кто откуда сколько" что-то не попадалось.
Тем не менее iptables придётся задействовать. Вероятно у Вас сейчас просто включён ip forwarding. После установки squid'a нужно запретить почти весь траффик и разрешить только то, что не может должным образом работать через squid. Кроме протокола ftp сюда стоит отнести почтовые протоколы: pop(3), imap(4), smtp, а также развязку имён (DNS) и служебный протокол
icmp (чтоб ping'и ходили). А ещё надо не забывать, что ответные пакеты тоже проходят фильтр. Конфигурация iptables будет выглядеть следующим образом:
#zapretit' vse: iptables -P FORWARD DROP # #razreshyt' ftp iptables -A -p tcp --dport 20 -j ACCEPT iptables -A -p tcp --dport 21 -j ACCEPT #smtp iptables -A -p tcp --dport 25 -j ACCEPT #pop3 iptables -A -p tcp --dport 110 -j ACCEPT #smtp iptables -A -p tcp --dport 143 -j ACC
EPT #DNS zaprosy iptables -A -p udp --dport 53 -j ACCEPT #icmp iptables -A -p icmp -j ACCEPT #obratnyj traffic iptables -A -p all -d 192.168.0.0/24 -j ACCEPT
Здесь 192.168.0.0/24 - предполагаемый адрес Вашей внутренней сети - замените на свой. Вроде всё. Для работы squid'a нужно в натройках браузеров прописать прокси-сервер: ip вашего шлюза, порт 3128 По умолчанию в squid'е конфигурация такая что он не пропускает ничего. Если у Вас окажется именно она поправте файл
/etc/squid/squid.conf (может оказатся в другом месте - тогда ищите): замените строчку http_access deny all на http_access allow all а лучше почитайте мануалы и настройте более корректно. Скриптов для анализа журнала squid'a предостаточно: выбирайте на свой вкус
Ответ отправил: PVS@Lviv (статус: Профессионал) Украина, Львов ---- Ответ отправлен: 24.10.2008, 23:24
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 148370 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: За такой манускрипт, да еще и с конкретными правилами - отл. :) Сквид не хочу, считайте это бзиком. Буду плясать от iptables.
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.