Linux Traffic Controller Agent for Astalavista-Money-Saver - ver. 0.21 Эта небольшая программка предназначена для совместной работы с системой управления игровым клубом AstalaVista Money Saver как контролёр потребления интернет-трафика. Для работы ей надо: - ядро с поддержкой iptables и ip_queue (рекомендуется не ниже 2.4.22 из-за некоторых исправленных ошибок). - установить системную переменную ip_queue_maxlen в разумное состояние, например добавив так в /etc/rc.d/rc.local: /sbin/sysctl -w net.ipv4.ip_queue_maxlen=1300000 либо просто прописав это ключ в /etc/sysctl.conf (RedHat, ASP, FC). - свободная память объёмом не менее 4-5 мбайт. - Скопировать из bin файлы amsltcad и amsltcad.sh в /usr/local/sbin, а S99ams - в стартовые скрипты, при необходимости подправив их под свои настройки. Можно воспользоваться следующим примером: install -s -g root -o root -m 0500 /home/byg/amsltcad /usr/local/sbin/amsltca У программки есть следующие ключи: -A Адрес AMS сервера куда послылается информация о потреблении и откуда ждётся пакеты управления -a Порт AMS сервера куда послылается информация -i Имя файла со списком адресов клуба в любом порядке, по умолчанию /etc/ams-ip-list -S Адрес где слушать -s Порт где слушать, по умолчанию 12345 -t Период сброса статистики на сервер AMS (1-30 сек), по умолчанию 1 сек -v Показывает версию программы В комплекте идёт скрипт перезапуска (amsltcad.sh), советую вставить его в crontab с интервалом 5 минут. Также имеется заготовка для активации управления при старте системы (S99ams), её следует поместить в /etc/rc.d/rc3.d на RH-подобных или Debian-based системах. Для SuSE, Gentoo или Slackware её можно просто поместить в /etc/rc.d скрипты. Возможные проблемы: В. Программа не стартует и пишет "amsltcad queue handler: Failed to send netlink message: Connection refused" О. необходимо загрузить модуль ядра ip_queue.o В. Программка не запускается, пишет " error while loading shared libraries " О. Ммм, у Вас какая-то древняя либо наоборот чересчур свежая версия GLIBC, просто пересоберите программу из исходников. Понадобятся: glibc-devel, libipq-devel. Это лучшее решение. Если у Вас с пересборкой совсем проблема - можете взять amsltcad.static, но это не лучшее решение. В. Программа ничего не считает О. Удостовертесь что правильно настроены таблицы iptables и пакеты попадают на правило QUEUE, инициализированное из S99ams В. Пакеты просто пропадают, ничего не работает О. Возможно 3 варианта - либо пакеты не доходят до правила QUEUE и отбрасываются на каком-либо запрещающем правиле до того как попадут к QUEUE либо неправильно настроен адрес AMS сервера либо Вы забыли увеличить системную переменную net.ipv4.ip_queue_maxlen (в последнем случае dmesg будет забит сообщениями вида "ip_queue: full at 1024 entries, dropping packet(s)." В. Большая загрузка на шлюзе, где установлена amsltcad О. К сожалению, в данный момент с этим остаётся смириться, пока при выборе между иметь маленькую загрузку сервера или не терять пакеты выбрано второе. Возможно в следующей версии программы это недостаток будет устранён. Авторы: Yury Bokhoncovich (текущая реализация), RandoMan (идея и прототип) На основании ст.14 п.1 Закона РФ "О правовой охране программ для электронных вычислительных машин и баз данных" устанавливается условием использования программы принятие условий GPL русскоязычная версия лицензии доступна по дополнительному запросу This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -- WBR, Yury Bokhoncovich (byg@d7.ru)