В данной записке написано как установить биллинг ABillS, эта биллинговая система предназначена для учета и тарификации трафика - Dialup, VPN, Hotspot, VoIP, IPTV. Система многофункциональна, по средством использования доп. модулей можно расширить ее функционал, разумеется модули не бесплатны.
От себя отмечу что данная система очень популярна, используется многими провайдерами и пользователями. Изначально в Интернете были найдены статьи установки биллинга на Ubuntu/Debian, в этой записке будет практически тоже самое, только под CentOS6. Опять таки главная задача установки биллинга - это учет трафика пользователей, которые так и наровят закачать что нибудь :).
Установку биллинга, разобъем на шаги:
1. Установка зависимостей
2. Установка PPP/PPTP
3. Установка Freeradius2
4. Добавление в автозагрузку демонов и запуск их
5. Закачка Abills 0.52 и распаковка его в папку /usr
6. Создаем недостающие каталоги
7. Настройка Freeradius2
8. Настройка Radiusclient
9. Генерация сертификата Apache
10. Настройка Apache
11. Оключаем SeLinux
12. Создание БД для AbillS
13. Настройка конфигурационных файлов Abills
14. Настройка pptpd
15. Настройка iptables
16. Настройка Abills
17. Настройка кеширующего DNS сервера
Итак приступим!
1. Установка зависимостей
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
# yum install mysql mysql-server mysql-devel expat mod_ssl php php-curl php-devel php-gd php-imap perl-Crypt-SSLeay perl-DBI perl-DBD-MySQL perl-Digest-SHA1 php-common ImageMagick-devel perl-Crypt-PasswdMD5.noarch php-intl perl-Digest-MD4 php-idn php-mcrypt libmcrypt gedit -y
2. Установка PPP/PPTP
# rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
# yum install pptpd ppp pptp -y
3. Устанавливаем Freeradius:
# yum install freeradius freeradius-mysql -y
# wget http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/radiusclient-0.3.2-0.2.el6.rf.i686.rpm
# rpm -ivh radiusclient-0.3.2-0.2.el6.rf.i686.rpm
4. Добавление в автозагрузку демонов и запуск их
# chkconfig --level 35 radiusd on
# chkconfig --level 35 httpd on
# chkconfig --level 35 mysqld on
# chkconfig --level 35 pptpd on
# service radiusd start
# service httpd start
# service mysqld start
# service pptpd start
5. Закачка Abills 0.52 и распаковка его в папку /usr
Сам биллинг вы найдете здесь:
http://sourceforge.net/projects/abills/files/abills/0.52/abills-0.52.tgz/download
или на файлообменники:
http://download.files.namba.kz/files/2707272
Скаченный архивный файл, требуется извлечь в папку /usr
6. Создаем недостающие каталоги:
# mkdir /usr/abills/backup
# groupadd www-data
# useradd www-data -g www-data
# chown -R www-data:www-data /usr/abills/backup
# mkdir /usr/abills/cgi-bin/admin/nets
# chown -R www-data:www-data /usr/abills/backup
# mkdir /usr/abills/var
# mkdir /usr/abills/var/log
# groupadd freerad
# useradd freerad -g freerad
# chown -R freerad:freerad /usr/abills/var
Далее редактируем файл /etc/sudoers, добавляем строку. По этой команде убиваются vpn туннели.
# nano /etc/sudoers
Добавляем строку:
www-data ALL=NOPASSWD: /usr/abills/misc/pppd_kill
7. Настройка Freeradius
Для настройки Freeradius измените следующие файлы:
* /etc/raddb/radiusd.conf
* /etc/raddb/modules/exec
* /etc/raddb/sites-enabled/default
* /etc/raddb/users
* /etc/raddb/clients.conf
* /etc/raddb/dictionary
Отредактируем первый файл /etc/raddb/radiusd.conf
# cp /etc/raddb/radiusd.conf /etc/raddb/radiusd.conf.original
# gedit /etc/raddb/radiusd.conf
Найдите cекцию modules, вставим в нее следующий текст, не удаляя содержимое:
#abills_preauth
exec abills_preauth {
program = "/usr/abills/libexec/rauth.pl pre_auth"
wait = yes
input_pairs = request
shell_escape = yes
#output = no
output_pairs = config
}
#abills_postauth
exec abills_postauth {
program = "/usr/abills/libexec/rauth.pl post_auth"
wait = yes
input_pairs = request
shell_escape = yes
#output = no
output_pairs = config
}
#abills_auth
exec abills_auth {
program = "/usr/abills/libexec/rauth.pl"
wait = yes
input_pairs = request
shell_escape = yes
output = no
output_pairs = reply
}
#abills_acc
exec abills_acc {
program = "/usr/abills/libexec/racct.pl"
wait = yes
input_pairs = request
shell_escape = yes
output = no
output_pairs = reply
}
Отредактируем файл /etc/raddb/modules/exec
# cp /etc/raddb/modules/exec /etc/raddb/modules/exec.original
# gedit /etc/raddb/modules/exec
В нем найдем секцию exec и приведем к следующему виду:
exec {
wait = yes
input_pairs = request
shell_escape = yes
output = none
output_pairs = reply
}
Правим файл /etc/raddb/sites-enabled/default
# cp /etc/raddb/sites-enabled/default /etc/raddb/sites-enabled/default.original
# gedit /etc/raddb/sites-enabled/default
Найдите секции authorize, preacct, post-auth
Удалите или закоментируйте содержимое этих секции.
И вставьте следующий текст:
authorize {
preprocess
abills_preauth
mschap
files
abills_auth
}
preacct {
preprocess
abills_acc
}
post-auth {
Post-Auth-Type REJECT {
abills_postauth
}
}
Отредактируйте файл /etc/raddb/users
# cp /etc/raddb/users /etc/raddb/users.original
# gedit /etc/raddb/users
Добавтье строчку в конец файла:
DEFAULT Auth-Type = Accept
Редактируем /etc/raddb/clients.conf
# cp /etc/raddb/clients.conf /etc/raddb/clients.conf.original
# gedit /etc/raddb/clients.conf
Закоментируем все, в конец добавляем (клиент/сервер на локальной машине, если будут на разных кодовое слово лучше поменять):
client localhost {
ipaddr = 127.0.0.1
secret = radsecret
shortname = shortname
}
Переходим к редактированию файла /etc/raddb/dictionary
# cp /etc/raddb/dictionary /etc/raddb/dictionary.original
# gedit /etc/raddb/dictionary
Добавляем в конец:
# Limit session traffic
ATTRIBUTE Session-Octets-Limit 227 integer
# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
ATTRIBUTE Octets-Direction 228 integer
# Connection Speed Limit
ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer
ATTRIBUTE Acct-Interim-Interval 85 integer
После этого перезапускаем Радиус:
# service radiusd restart
Если при запуске сервиса radiusd вы видите ошибки, выявить откуда растут корни этой ошибки можно с помощью команды radiusd -X , она выдает лог. Если сервис стартанул нормально, но вы все равно хотите видеть лог, вам надо сперва остановить демон радиуса командой serviceradiusd stop, а потом уже вводить команду radiusd -X
8. Настройка Radiusclient
Редактируем /etc/radiusclient/servers
# cp /etc/radiusclient/servers /etc/radiusclient/servers.original
# gedit /etc/radiusclient/servers
В конец добавляем строчку:
127.0.0.1 radsecret
Скачиваем файл dictionary.microsoft отсюда http://download.files.namba.kz/files/3028252
или http://cakebilling.googlecode.com/files/etc.tar.bz2
Скаченный dictionary.microsoft кладем в /etc/radiusclient/
Файл dictionary.microsoft отвечают за поддержку mschap v2 и mppe
Открываем /etc/radiusclient/dictionary
# cp /etc/radiusclient/dictionary /etc/radiusclient/dictionary.original
# gedit /etc/radiusclient/dictionary
Добавляем строки:
INCLUDE /etc/radiusclient/dictionary.microsoft
INCLUDE /etc/radiusclient/dictionary.merit
# Limit session traffic
ATTRIBUTE Session-Octets-Limit 227 integer
# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
ATTRIBUTE Octets-Direction 228 integer
# Connection Speed Limit
ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer
ATTRIBUTE Acct-Interim-Interval 85 integer
9. Генерация сертификата для Apache
Создадим ключи SSL для Apache.
- Для генерации приватного ключа, выполним команду в терминале:
# openssl genrsa -out server.key 1024
- Генерация запроса на сертификат CSR:
# openssl req -new -key server.key -out server.csr
- Генерация самоподписанного ключа:
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Перемещение полученных файлов в правильные места:
# mkdir /usr/abills/Certs/
# mv server.* /usr/abills/Certs/
Затем нам нужно обновить конфигурационный файл Apache SSL.
Откройте файл /etc/httpd/conf.d/ssl.conf
# gedit /etc/httpd/conf.d/ssl.conf
Измените путь до места, где хранится файл ключа. Если вы воспользовались способом описанным выше, то он будет:
SSLCertificateFile /usr/abills/Certs/server.crt
Затем установите правильный путь к файлу сертификата. Если вы следовали инструкциям выше он будет:
SSLCertificateKeyFile /usr/abills/Certs/server.key
Сохраните файл и перезагрузите Apache.
# service httpd restart
10. Настройка Apache
В конец файла /etc/httpd/conf/httpd.conf добавляем:
#Abills version 0.5
Listen 9443
<VirtualHost localhost:9443>
DocumentRoot "/usr/abills/cgi-bin"
#ServerName www.example.com:9443
#ServerAdmin admin@example.com
ErrorLog /var/log/httpd/abills-error.log
#TransferLog /var/log/httpd/abills-access.log
CustomLog /var/log/httpd/abills-access_log common
<IfModule ssl_module>
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /usr/abills/Certs/server.crt
SSLCertificateKeyFile /usr/abills/Certs/server.key
<FilesMatch "\.(cgi)$">
SSLOptions +StdEnvVars
</FilesMatch>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog /var/log/abills-ssl_request.log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</IfModule>
# User interface
<Directory "/usr/abills/cgi-bin">
<IfModule ssl_module>
SSLOptions +StdEnvVars
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_CGI_AUTHORIZATION:%1]
Options Indexes ExecCGI SymLinksIfOwnerMatch
</IfModule>
AddHandler cgi-script .cgi
Options Indexes ExecCGI FollowSymLinks
AllowOverride none
DirectoryIndex index.cgi
Order allow,deny
Allow from all
<Files ~ "\.(db|log)$">
Order allow,deny
Deny from all
</Files>
#For hotspot solution
#ErrorDocument 404 "/abills/"
#directoryIndex "/abills" index.cgi
</Directory>
#Admin interface
<Directory "/usr/abills/cgi-bin/admin">
<IfModule ssl_module>
SSLOptions +StdEnvVars
</IfModule>
AddHandler cgi-script .cgi
Options Indexes ExecCGI FollowSymLinks
AllowOverride none
DirectoryIndex index.cgi
order deny,allow
allow from all
</Directory>
</VirtualHost>
Меняем кодировку на cp1251 здесь /etc/httpd/conf/httpd.conf
AddDefaultCharset cp1251
Перезапускаем apache
# service httpd restart
11. Отключаем SE LINUX
Чтобы отлкючить SELINUX отредактируйте файл /etc/selinux/config
# gedit /etc/selinux/config
В нем SELINUX=permissive на SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
Также отключите встроенную цепочку IP tables:
# setup
Далее в окошке выбираем -> FireWall Configuration -> Firewall Enabled -> Убрать звездочку
12. Создание БД для AbillS
Запускаем MySQL:
# service mysqld start
# mysql -u root -p
Создаем базу и разрешаем пользователю abills@localhost доступ к БД:
> GRANT ALL ON abills.* TO abills@localhost IDENTIFIED BY "yourpassword";
> CREATE DATABASE abills;
> quit
Теперь дамп БД из каталога с abills нужно занести в БД
# cd /usr/abills
# mysql -u root -p abills < abills.sql
13. Настройка конфигурационных файлов Abills
В папке /usr/abills/libexec выполняем
# cd /usr/abills/libexec
# cp config.pl.default config.pl
Затем редактируем config.pl
# gedit /usr/abills/libexec/config.pl
Указываем верные реквизиты доступа к БД, также меняем некоторые параметры:
$conf{dbhost}='localhost';
$conf{dbname}='abills';
$conf{dbuser}='abills';
$conf{dbpasswd}='yourpassword';
$conf{dbcharset}='cp1251';
$conf{default_language}='russian';
$conf{secretkey}="test12345678901234567890";
$conf{periodic_check}='yes';
$conf{ERROR_ALIVE_COUNT} = 10;
$conf{RADIUS2}=1;
#$conf{MAX_SESSION_TRAFFIC} = 2047; #без этой строчки должник отключается на второй минуте, с этим параметром сразу происходит отключение. Но при выкачке 2Гб связь будет рватся.
Отключаем лишние модули:
@MODULES = ('Dv',
# 'Voip',
# 'Docs',
# 'Mail',
'Sqlcmd');
Правим конф /usr/abills/Abills/defs.conf
Меняем только приведенные ниже строки
$SNMPWALK = '/usr/bin/snmpwalk';
$SNMPSET = '/usr/bin/snmpset';
$GZIP = '/bin/gzip';
$TAR='/bin/tar';
$MYSQLDUMP = '/usr/bin/mysqldump';
$IFCONFIG='/sbin/ifconfig';
$SUDO='/usr/bin/sudo';
Проверяем работу сервера, заходим по адресу:
https://localhost:9443/admin/
Если у вас появляются ошибки, смотрите логи.
Местонахождение логов-
Логи Abills: /var/log/httpd
Логи PPTPD: /var/log/messages
Логи Radius: /var/log/radius
14. Настройка pptpd
Редактируем /etc/pptpd.conf
ppp /usr/sbin/pppd option /etc/ppp/options.pptpd localip 192.168.160.1
Редактируем /etc/ppp/options, добавляем строку
+mschap-v2
Редактируем /etc/ppp/options.pptpd, добавляем строки:
ms-dns 192.168.160.1 # или любой удобный для вас днс сервер
asyncmap 0
lcp-echo-failure 30
lcp-echo-interval 5
ipcp-accept-local
ipcp-accept-remote
plugin radius.so
plugin radattr.so
По умолчанию конф настроен на mschap-v2+mppe.
Пишем скрипт шейпера и даем права запуска.
# mkdir /etc/ppp/ip-up.d/
# touch /etc/ppp/ip-up.d/shaper
# chmod 744 /etc/ppp/ip-up.d/shaper
# nano /etc/ppp/ip-up.d/shaper
Вставляем текст:
#!/bin/sh
if [ -f /var/run/radattr.$1 ]
then
DOWNSPEED=`/usr/bin/awk '/PPPD-Downstream-Speed-Limit/ {print $2}'/var/run/radattr.$1`
UPSPEED=`/usr/bin/awk '/PPPD-Upstream-Speed-Limit/ {print $2}'/var/run/radattr.$1`
# echo $DOWNSPEED
# echo $UPSPEED >
/sbin/tc qdisc del dev $1 root > /dev/null
/sbin/tc qdisc del dev $1 ingress > /dev/null
##### speed server->client
if [ "$UPSPEED" != "0" ] ;
then
# /sbin/tc qdisc add dev $1 root handle 1: htb default 20 r2q 1
/sbin/tc qdisc add dev $1 root handle 1: htb default 20
/sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit burst 4k
/sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit burst 4k prio 1
/sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit burst 4k prio 2
/sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1500
/sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1500
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x100xff flowid 1:10
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol1 0xff flowid 1:10
/sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xffat 33 flowid 1:10
fi
##### speed client->server
if [ "$DOWNSPEED" != "0" ] ;
then
/sbin/tc qdisc add dev $1 handle ffff: ingress
/sbin/tc filter add dev $1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNSPEED}kbit burst 12k drop flowid :1
fi
fi
15. Настройка iptables
IP адрес 192.168.1.10, смотрит в сторону провайдера (ethernet).
Запускаем терминал и пишем:
Сбросить правила и удалить цепочки.
# iptables -F
# iptables -t nat -F
# iptables -t mangle -F
# iptables -X
# iptables -t nat -X
# iptables -t mangle -X
Правила для NAT
# iptables -t nat -A POSTROUTING -s 192.168.160.0/24 -j SNAT --to-source 192.168.1.10
# service iptables save
Включаем фовардинг:
# gedit /etc/sysctl.conf
net.ipv4.ip_forward = 1
Настройка Cron
Откроем файл:
# gedit /etc/crontab
И вставим в конец файла текст:
*/5 * * * * root /usr/abills/libexec/billd -all
1 0 * * * root /usr/abills/libexec/periodic daily
1 0 1 * * root /usr/abills/libexec/periodic monthly
#backup
1 3 * * * root /usr/abills/libexec/periodic backup
16. Настройка Abills
Настройка самой системы состоит из следующей последовательности:
- Создание NAS сервера доступа
- Создание группы тарифов
- Создание тарифного плана, привязка его к тарифной группе и определение его настроек
- Заведение учетных записей пользователей
- Тестирование и работа с системой.
Обязательно следуйте той последовательности которая выше. В противном случае пользователь не сможет законектится (ошибка 691 или "Неверный пароль") , при этом в логах будет пусто :)
И так приступим к настройке.
- Создание NAS сервера доступа
Открываем web-интерфейс админки по адресу https://127.0.0.1:9443/admin/
Логин/пароль abills/abills их можно будет потом сменить.
По умолчанию. NAS, пользователь и тариф уже создан. Мы изменим под свои условия.
Идем Система->Сервер доступа
Удаляем NAS от FreeBSD и его же IP pool внизу окошка.
Далее заполняем:
IP пишем 127.0.0.1
Выбираем тип pppd:pppd + Radius plugin (Linux)
Alive (sec.): 120
RADIUS Parameters (,): Acct-Interim-Interval=60
Теперь добавляем IP POOLs:
ставим First IP - 192.168.160.2
Количество: 253
Жмем кнопочку Добавить/Установить
- Создание группы тарифов
Заводим группы тарифов:
Система -> Internet -> Тарифные планы -> Группы
Добавим группу под именем: Группа1000Мб Лимит, GID: 0
- Создание тарифного плана и определение его настроек
Идем в Система -> Internet -> Тарифные планы
Добавим тарифный план
#: 1
Название: 1000Мб
Группа: «1:Группа100Мб»
Дневная а/п: 0
добавить
Определим цену за мегабайт и скорости:
Заходим в Система -> Internet -> Тарифные планы
Жмем на кнопочку "Интервалы" возле вашего тарифного плана внизу.
В новом окне, жмем кнопку добавить, затем кнопочку Трафик
вписываем цену за мегабайт и скорости, добавить.
- Заведение учетных записей пользователей
Теперь заводим пользователя:
Клиенты -> Логины -> Internet -> Пользователи Добавить ->
создаем клиента: пароль, логин, ФИО, кредит. И сразу можно положить деньги на счет.
Логин вводим маленькими буквами, например - ivan или ludmila
Если требуется убрать шифрование, делаем так:
Убираем строчку "require-mppe-128" в файле /etc/ppp/options.pptpd . Это даст большую стабильность VPN туннелей и разгрузит ЦПУ.
- Тестирование и работа с системой
Заведите учетную запись в системе, например - vasya, пароль - 123456
Закинте ему на счет не которую сумму...
На клиентском компьютере:
Создайте новое подключение с параметрами -
- Введите IP адрес VPN сервера локальной сети
- Шифрование: Не обязательное (Подключится даже если нет шифрования)
- Протоколы: MS CHAP v2
- Тип VPN: PPTP VPN
____
17. Настройка кеширующего DNS сервера
Запускаем Terminal (черный экран) который находится в меню: Applications -> Accessories -> Terminal.
Вводим следующие команды:
# yum install bind -y
# rndc-confgen
Создаем файлы зоны:
# gedit /var/named/localhost.rev
В открывшемся текстовом окне редактора gedit вписываем следующее:
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
Сохраняем файл через меню File -> Save или клавиш CTRL+S
Создаем следующий файл зоны:
# gedit /var/named/localhost.zone
Вставляем следующий текств в него:
$TTL 86400
@ IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS @
IN A 127.0.0.1
Сохраняем файл через меню File -> Save или клавиш CTRL+S
Создаем конфигурационный файл BIND:
# gedit /etc/named.conf
Вставляем в него следующий текст:
include "/etc/rndc.key"; // включаем в текущий файл ключ rndc
acl "lan" {
127.0.0.1;
192.168.1.0/24; //Тут нужно вписать адрес своей локальной сети
192.168.160.0.24; //Тут нужно вписать адрес виртуальной сети
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
logging {
channel default_log {
file "/var/log/dns.log" versions 5 size 20m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
channel more_log {
file "/var/log/dns_more.log" versions 5 size 10m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
category default { default_log; };
category general { default_log; };
category config { default_log; };
category queries { default_log; };
category xfer-in { default_log; };
category xfer-out { default_log; };
category security { more_log; };
category resolver { more_log; };
category notify { more_log; };
category client { more_log; };
category unmatched { more_log; };
category default { more_log; };
category database { more_log; };
category update { more_log; };
};
options
{
directory "/var/named"; // the default
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
version "no camment";
memstatistics-file "data/named_mem_stats.txt";
forward only;
forwarders { 10.168.50.1; }; //Сюда впишите адреса DNS серверов которые Вам выдал провайдер
allow-recursion {
lan;
};
allow-query {
lan;
};
};
view "localhost"
{
match-clients { lan; };
match-destinations { lan; };
recursion yes;
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "localhost.rev";
};
};
Сохраняем файлик.
И вводим следующию команду:
# gedit /etc/rndc.conf
В текстовом редакторе вставьте следующий текст:
include "/etc/rndc.key";
options {
default-server 127.0.0.1;
default-key "rndckey";
};
server localhost {
key "rndckey";
};
Сохраните файл.
Теперь проверим работу DNS сервера, введя команду:
# service named start
Starting named: [ OK ]
Сервис named запустился нормально.
Добавим службу named (он же Bind) в автозагрузку:
# chkconfig --level 35 named on
__________________________________________________________________
Рабочие конфиги тут - http://download.files.namba.kz/files/3074328
FAQ Abills - http://abills.net.ua/wiki/doku.php/abills:docs:faq:ru
Ручное отключение юзеров от Интернета, скрипт:
/usr/abills/libexec/billd -all
__________________________________________________________________
Другие биллинги:
1. Cake Billing http://yvision.kz/yv/180495
2. NetAMS http://yvision.kz/yv/183280 и http://yvision.kz/yv/180494
3. Stargazer - http://yvision.kz/yv/180500
4. ibs NG - http://yvision.kz/yv/180991
5. Netup UTM5 - http://yvision.kz/yv/180489
6. TraffPro free - http://yvision.kz/yv/180488