Abills — установка на CentOS 6

16148
32
0
0

Abills - установка на CentOS 6   В данной записке написано как установить биллинг ABillS, эта биллинговая система предназначена для учета и тарификации трафика - Dialup, VPN, Hotspot, VoIP, IPTV...

В данной записке написано как установить биллинг 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

 
Ad

Rate post

0

Comments

Login to comment