Имеем: сервер с установленной ubuntu 8.04, настроенные два интерфейса. Делаем следующее:
1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы (скачать можно внизу страницы), делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение;
поменять содержимое переменной syslogd_pid на "/var/run/syslogd.pid" (по умолчанию "/var/run/rsyslogd.pid")
[admin]-секция указать ip-адрес админской машины
5. Подготовим раздел для логов iptables (из-за возможной большой нагрузки используется ramfs):

"mkdir /media/log"

(masq.sh сюда подмонтирует ramfs
!!!ПЕРЕД МОНТИРОВАНИЕМ ВСЕ УДАЛИТСЯ ИЗ /media/log!!!
если раскомментировать строчку в masq.sh
)
6. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
7. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
8. Выполнение скриптов при перезагрузке (желательно до cron):
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S60masq.sh"

"ln -s /etc/init.d/tc.sh S61tc.sh"

"ln -s /etc/init.d/ipt.sh S62ipt.sh"
9. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl 1>/dev/null 2>/dev/null&& ./ipt_parser.pl"
(запуск cycle.pl и парсера логов iptables каждую минуту)

"*/15 * * * * root cd /usr/lib/cgi-bin/ && ./summator.pl"

10. Настройка sysklogd для сбора логов iptables:
"nano /etc/syslog.conf"
10a. в конец файла добавляем строчку:

"kern.warning -/media/log/iptables.log"
10b. Не хочется, чтобы логи засоряли другие файлы, кроме iptables.log (для этого требуется во все правила из syslog.conf, под которые попадают сообщения от ядра уровня warning, добавить исключение - ";kern.!=warning"):

"kern.*;kern.!=warning -/var/log/kern.log"
"*.*;kern.!=warning;auth,authpriv.none -/var/log/syslog"
Аналогично в разделе описывающем /var/log/messages заменить *.=warning на *.=warning;kern.!=warning
10c. Не забыть перезапустить sysklogd: "/etc/init.d/sysklogd restart"
11. Интерфейс администратора (заходить с ip админа) - http://"адрес_сервера"/cgi-bin/admin.pl
интерфейс пользователя - http://"адрес_сервера"/cgi-bin/stat.pl

1.4.2 (должно работать в опере) - много багов, использовать осторожно, ничего не гарантирую
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных
1.4.1 (должно работать в опере) - много багов, использовать осторожно, ничего не гарантирую
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

1.4 (должно работать в опере) - много багов, использовать осторожно, ничего не гарантирую
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables (работает неправильно)
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

1.3 (Теперь работает в опере!)
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных
Имеем: сервер с установленной ubuntu 8.04, настроенные два интерфейса. Делаем следующее:
1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы (скачать можно внизу страницы), делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение;
поменять содержимое переменной syslogd_pid на "/var/run/syslogd.pid" (по умолчанию "/var/run/rsyslogd.pid")
[admin]-секция указать ip-адрес админской машины
5. Подготовим раздел для логов iptables (из-за возможной большой нагрузки используется ramfs):

"mkdir /media/log"

(masq.sh сюда подмонтирует ramfs)
6. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
7. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
8. Выполнение скриптов при перезагрузке (желательно до cron):
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S60masq.sh"

"ln -s /etc/init.d/ipt.sh S61ipt.sh"
9. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl 1>/dev/null 2>/dev/null&& ./ipt_parser.pl"
(запуск cycle.pl и парсера логов iptables каждую минуту)

"*/15 * * * * root cd /usr/lib/cgi-bin/ && ./summator.pl"

10. Настройка sysklogd для сбора логов iptables:
"nano /etc/syslog.conf"
10a. в конец файла добавляем строчку:

"kern.warning -/media/log/iptables.log"
10b. Не хочется, чтобы логи засоряли другие файлы, кроме iptables.log (для этого требуется во все правила из syslog.conf, под которые попадают сообщения от ядра уровня warning, добавить исключение - ";kern.!=warning"):

"kern.*;kern.!=warning -/var/log/kern.log"
"*.*;kern.!=warning;auth,authpriv.none -/var/log/syslog"
Аналогично в разделе описывающем /var/log/messages заменить *.=warning на *.=warning;kern.!=warning
10c. Не забыть перезапустить sysklogd: "/etc/init.d/sysklogd restart"
11. Интерфейс администратора (заходить с ip админа) - http://"адрес_сервера"/cgi-bin/admin.pl
интерфейс пользователя - http://"адрес_сервера"/cgi-bin/stat.pl

1.2
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

1.1
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

1.0
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных
Имеем: сервер с установленной ubuntu 8.04, настроенные два интерфейса. Делаем следующее:
1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы (скачать можно внизу страницы), делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение;
поменять содержимое переменной syslogd_pid на "/var/run/syslogd.pid" (по умолчанию "/var/run/rsyslogd.pid")
[admin]-секция указать ip-адрес админской машины
5. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
6. Подготовим раздел для логов iptables (из-за возможной большой нагрузки используется ramfs):

"mkdir /media/log"

(masq.sh сюда подмонтирует ramfs)
7. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
8. Выполнение скриптов при перезагрузке (желательно до cron):
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S60masq.sh"

"ln -s /etc/init.d/ipt.sh S61ipt.sh"
9. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl 1>/dev/null 2>/dev/null&& ./ipt_parser.pl"
(запуск cycle.pl и парсера логов iptables каждую минуту)

"*/15 * * * * root cd /usr/lib/cgi-bin/ && ./summator.pl"

10. Настройка sysklogd для сбора логов iptables:
"nano /etc/syslog.conf"
10a. в конец файла добавляем строчку:

"kern.warning -/media/log/iptables.log"
10b. Не хочется, чтобы логи засоряли другие файлы, кроме iptables.log (для этого требуется во все правила из syslog.conf, под которые попадают сообщения от ядра уровня warning, добавить исключение - ";kern.!=warning"):

"kern.*;kern.!=warning -/var/log/kern.log"
"*.*;kern.!=warning;auth,authpriv.none -/var/log/syslog"
Аналогично в разделе описывающем /var/log/messages заменить *.=warning на *.=warning;kern.!=warning
10c. Не забыть перезапустить sysklogd: "/etc/init.d/sysklogd restart"
11. Интерфейс администратора (заходить с ip админа) - http://"адрес_сервера"/cgi-bin/admin.pl
интерфейс пользователя - http://"адрес_сервера"/cgi-bin/stat.pl

Обеспечение безопасности:
1. В домашней директории некоторого пользователя создаем пароль:
"htpasswd -c /home/cool_user/.htpasswd cool_user"
("cool_user" заменяем на имя имеющегося в системе пользователя)
2. Правим файл "/etc/apache2/apache2.conf"
В конец конфига добавляем строчки:
("cool_user" заменяем на имя имеющегося в системе пользователя)
<Directory "/usr/lib/cgi-bin/">
<Files admin.pl>
AuthType Basic
AuthName "Basic"
AuthUserFile /home/cool_user/.htpasswd
Require user cool_user
</Files>
</Directory>
rc2
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

rc1
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

Имеем: сервер с установленной ubuntu 8.04, настроенные два интерфейса. Делаем следующее:
1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы (скачать можно внизу страницы), делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение
[admin]-секция указать ip-адрес админской машины
5. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
6. Подготовим раздел для логов iptables (из-за возможной большой нагрузки используется ramfs):

"mkdir /media/log"

(masq.sh сюда подмонтирует ramfs)
7. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
8. Выполнение скриптов при перезагрузке (желательно до cron):
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S60masq.sh"

"ln -s /etc/init.d/ipt.sh S61ipt.sh"
9. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl && ./ipt_parser.pl"
(запуск cycle.pl и парсера логов iptables каждую минуту)

"*/15 * * * * root cd /usr/lib/cgi-bin/ && ./summator.pl"

10. Настройка sysklogd для сбора логов iptables:
"nano /etc/syslog.conf"
10a. в конец файла добавляем строчку:

"kern.warning -/media/log/iptables.log"
10b. Не хочется, чтобы логи засоряли другие файлы, кроме iptables.log (для этого требуется во все правила из syslog.conf, под которые попадают сообщения от ядра уровня warning, добавить исключение - ";kern.!=warning"):

"kern.*;kern.!=warning -/var/log/kern.log"
"*.*;kern.!=warning;auth,authpriv.none -/var/log/syslog"
Аналогично в разделе описывающем /var/log/messages заменить *.=warning на *.=warning;kern.!=warning
10c. Не забыть перезапустить sysklogd: "/etc/init.d/sysklogd restart"
11. Интерфейс администратора (заходить с ip админа) - http://"адрес_сервера"/cgi-bin/admin.pl
интерфейс пользователя - http://"адрес_сервера"/cgi-bin/stat.pl

Бета6
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

Бета5
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

Бета4
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

Бета3
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
summator.pl...периодическое суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

Бета2
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
lcycle.pl...ежечасное суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (этот файл необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

Бета1
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (будет, видимо, убран. его необходимо поместить в /var/www/)
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных
Имеем: сервер с установленной ubuntu 8.04, настроенные два интерфейса. Делаем следующее:
1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы (скачать можно внизу страницы), делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение
[admin]-секция указать ip-адрес админской машины
5. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
6. Подготовим раздел для логов iptables (из-за возможной большой нагрузки используется ramfs):

"mkdir /media/log"

(ipt.sh сюда подмонтирует ramfs) "mount -t ramfs -omaxsize=5M none /media/log"
7. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
8. Выполнение скриптов при перезагрузке (желательно до cron):
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S60masq.sh"

"ln -s /etc/init.d/ipt.sh S61ipt.sh"
9. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl && ./ipt_parser.pl"
(запуск cycle.pl каждую минуту)

"*/15 * * * * root cd /usr/lib/cgi-bin/ && ./summator.pl"
(запуск summator.pl каждые 15 мин - это же время указано в billing.conf)

10. Настройка sysklogd для сбора логов iptables:
"nano /etc/syslog.conf"
10a. в конец файла добавляем строчку:

"kern.warning -/media/log/iptables.log"
10b. Не хочется, чтобы логи засоряли другие файлы, кроме iptables.log (для этого требуется во все правила из syslog.conf, под которые попадают сообщения от ядра уровня warning, добавить исключение - ";kern.!=warning"):

"kern.*;kern.!=warning -/var/log/kern.log"
"*.*;kern.!=warning;auth,authpriv.none -/var/log/syslog"
Аналогично в разделе описывающем /var/log/messages заменить *.=warning на *.=warning;kern.!=warning
10c. Не забыть перезапустить sysklogd: "/etc/init.d/sysklogd restart"
11. Интерфейс администратора (заходить с ip админа) - http://"адрес_сервера"/cgi-bin/admin.pl
интерфейс пользователя - http://"адрес_сервера"/cgi-bin/stat.pl

Имеем: сервер с установленной ubuntu 8.04, настроенные два интерфейса. Делаем следующее:
1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы (скачать можно внизу страницы), делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение
[admin]-секция указать ip-адрес админской машины
5. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
6. Подготовим раздел для логов iptables (из-за возможной большой нагрузки используется ramfs):

"mkdir /media/log"

(ipt.sh сюда подмонтирует ramfs) "mount -t ramfs -omaxsize=5M none /media/log"
7. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
8. Выполнение скриптов при перезагрузке:
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S90masq.sh"

"ln -s /etc/init.d/ipt.sh S91ipt.sh"
9. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl && ./ipt_parser.pl"
(запуск cycle.pl каждую минуту)

"1 * * * * root cd /usr/lib/cgi-bin/ && ./lcycle.pl"
(запуск hourly.pl каждый час)

10. Настройка sysklogd для сбора логов iptables:
"nano /etc/syslog.conf"
10a. в конец файла добавляем строчку:

"kern.warning -/media/log/iptables.log"
10b. Не хочется, чтобы логи засоряли другие файлы, кроме iptables.log (для этого требуется во все правила из syslog.conf, под которые попадают сообщения от ядра уровня warning, добавить исключение - ";kern.!=warning"):

"kern.*;kern.!=warning -/var/log/kern.log"
"*.*;kern.!=warning;auth,authpriv.none -/var/log/syslog"
Аналогично в разделе описывающем /var/log/messages заменить *.=warning на *.=warning;kern.!=warning
10c. Не забыть перезапустить sysklogd: "/etc/init.d/sysklogd restart"
11. Интерфейс администратора (заходить с ip админа) - http://"адрес_сервера"/cgi-bin/admin.pl
интерфейс пользователя - http://"адрес_сервера"/cgi-bin/stat.pl

Имеем: сервер с установленной ubuntu 8.04, настроенные два интерфейса. Делаем следующее:
1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы (скачать можно внизу страницы), делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение
[admin]-секция указать ip-адрес админской машины
5. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
6. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
7. Выполнение скриптов при перезагрузке:
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S90masq.sh"

"ln -s /etc/init.d/ipt.sh S91ipt.sh"
8. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl && ./ipt_parser.pl"
(запуск cycle.pl каждую минуту)

"1 * * * * root cd /usr/lib/cgi-bin/ && ./hourly.pl"
(запуск hourly.pl каждый час)

9. Подготовим раздел для логов iptables (из-за возможной большой нагрузки используется ramfs):

"mkdir /media/log"

(ipt.sh сюда подмонтирует ramfs) "mount -t ramfs -omaxsize=5M none /media/log"
10. Настройка sysklogd для сбора логов iptables:
"nano /etc/syslog.conf"
10a. в конец файла добавляем строчку:

"kern.warning -/media/log/iptables.log"
10b. Не хочется, чтобы логи засоряли другие файлы, кроме iptables.log (для этого требуется во все правила из syslog.conf, под которые попадают сообщения от ядра уровня warning, добавить исключение - ";kern.!=warning"):

"kern.*;kern.!=warning -/var/log/kern.log"
"*.*;kern.!=warning;auth,authpriv.none -/var/log/syslog"
Аналогично в разделе описывающем /var/log/messages заменить *.=warning на *.=warning;kern.!=warning
10c. Не забыть перезапустить sysklogd: "/etc/init.d/sysklogd restart"
11. Интерфейс администратора (заходить с ip админа) - http://"адрес_сервера"/cgi-bin/admin.pl
интерфейс пользователя - http://"адрес_сервера"/cgi-bin/stat.pl

Альфа6
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
stat.pl...Web-интерфейс для клиентов
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (скопировать или сделать символическую ссылку в /var/www)
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
edit.pl...редактирование mysql-базы
dump...скрипт для создания mysql-базы данных

Альфа7 (инструкция на подходе)
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

Альфа8 (инструкция на подходе)
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

Альфа9 (инструкция на подходе, мега изменения: используется ramfs и т.д., но нету все времени...)
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl
edit.pl...редактирование mysql-базы
ipt_parser.pl...занесение логов iptables в mysql
ipstat.pl...предварительный анализ логов iptables
stat.pl...Web-интерфейс для клиентов
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
dump...скрипт для создания mysql-базы данных

1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы (скачать можно внизу страницы), делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение
[admin]-секция указать ip-адрес админской машины
5. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
6. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
7. Выполнение скриптов при перезагрузке:
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S90masq.sh"

"ln -s /etc/init.d/ipt.sh S91ipt.sh"
8. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl"
(запуск cycle.pl каждую минуту)

"1 * * * * root cd /usr/lib/cgi-bin/ && ./hourly.pl"
(запуск hourly.pl каждый час)

9. Интерфейс администратора (заходить с ip админа) - http://"адрес_сервера"/cgi-bin/admin.pl
интерфейс пользователя - http://"адрес_сервера"/cgi-bin/stat.pl

Альфа6
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
stat.pl...Web-интерфейс для клиентов
admin.pl...Web-интерфейс для админа
etc.css...css для admin.pl (скопировать или сделать символическую ссылку в /var/www)
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
edit.pl...редактирование mysql-базы
dump...скрипт для создания mysql-базы данных

Альфа5
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика (служ. нужды)
masq.sh...инициализация iptables
stat.pl...Web-интерфейс для клиентов
admin.pl...Web-интерфейс для админа
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
edit.pl...редактирование mysql-базы
dump...скрипт для создания mysql-базы данных


Имеем: сервер с установленной ubuntu 8.04, настроенные два интерфейса. Делаем следующее:
1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы, делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение
[admin]-секция указать ip-адрес админской машины
5. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
6. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
7. Выполнение скриптов при перезагрузке:
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S90masq.sh"

"ln -s /etc/init.d/ipt.sh S91ipt.sh"
8. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl"
(запуск cycle.pl каждую минуту)

"1 * * * * root cd /usr/lib/cgi-bin/ && ./hourly.pl"
(запуск hourly.pl каждый час)

9. С админской машины заходим на web-интерфейс: http://"адрес_сервера"/cgi-bin/admin.pl, http://"адрес_сервера"/cgi-bin/stat.pl

Альфа4
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика для служебных нужд
masq.sh...инициализация iptables
stat.pl...Web-интерфейс для клиентов
admin.pl...Web-интерфейс для админа
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
edit.pl...редактирование mysql-базы
dump...скрипт для создания mysql-базы данных

Альфа3
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика для служебных нужд
masq.sh...инициализация iptables
stat.pl...Web-интерфейс для клиентов
admin.pl...Web-интерфейс для админа
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
edit.pl...редактирование mysql-базы
dump...скрипт для создания mysql-базы данных

Альфа2
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика для служебных нужд
masq.sh...инициализация iptables
stat.pl...Web-интерфейс для клиентов
admin.pl...Web-интерфейс для админа
ustat.pl...расширенная статистика
techstat.pl...состояние скриптов, базы, некоторые логи
edit.pl...редактирование mysql-базы
dump...скрипт для создания mysql-базы данных
Альфа1
cycle.pl...основная программа
cool_env.pm...пакет с основными функциями
conf.pm...пакет для работы с конфигурационным файлом
billing.conf...конфигурационный файл
hourly.pl...ежечасное суммирование трафика для служебных нужд
stat.pl...Web-интерфейс
edit.pl...редактирование mysql-базы
mstat.pl...расширенная статистика
dump...скрипт для создания mysql-базы данных
masq.sh...инициализация iptables

1. Устанавливаем apache2, mysql-server: "apt-get install apache2 mysql-server" (считаем, что perl уже установлен)
2. В директорию "/usr/lib/cgi-bin/" необходимо поместить файлы программы, делаем эту директорию активной: "cd /usr/lib/cgi-bin/", устанавливаем права командой "chmod 755 *"
3. Создаем необходимую базу данных в mysql: "mysql -u root -p<dump"
(потребуется ввести рутовый пароль mysql)
4. Правим файл "/usr/lib/cgi-bin/billing.conf"

[environment]-секция описать конкретное окружение
[admin]-секция указать ip-адрес админской машины
5. Правим файл"masq.sh" под конкретное окружение

копируем его в директорию "/etc/init.d/"

устанавливаем ему необходимые права "chmod 755 /etc/init.d/masq.sh"

выполняем "/etc/init.d/masq.sh",
(включение форвардинга, nat, инициализация iptables)
6. Выполняем:
"/usr/lib/cycle.pl"
(создание /etc/init.d/ipt.sh)

"/etc/init.d/ipt.sh"
(правила iptables для клиентов)
7. Выполнение скриптов при перезагрузке:
"cd /etc/rc2.d"

"ln -s /etc/init.d/masq.sh S90masq.sh"

"ln -s /etc/init.d/ipt.sh S91ipt.sh"
8. В "/etc/crontab" добавляем строчки:
"* * * * * root cd /usr/lib/cgi-bin/ && ./cycle.pl"
(запуск cycle.pl каждую минуту)

"1 * * * * root cd /usr/lib/cgi-bin/ && ./hourly.pl"
(запуск hourly.pl каждый час)

9. С админской машины заходим на web-интерфейс: http://"адрес_сервера"/cgi-bin/stat.pl
Альфа1
cycle.plосновная программа
hourly.plежечасное суммирование трафика для служебных нужд
cool_env.pmпакет с основными функциями
conf.pmпакет для работы с конфигурационным файлом
stat.plWeb-интерфейс
edit.plредактирование mysql-базы
mstat.plрасширенная статистика
billing.confконфигурационный файл
dumpскрипт для создания mysql-базы данных
masq.shинициализация iptables

Пре-альфа
cycle.plMain program
cool_env.pmEnv package
conf.pmConf package
stat.plFront-end for edit mysql-db
edit.plEdit database
billing.confconfiguration
dumpmysql create
ulog.plmore db stats

Сайт создан в системе uCoz