Translations of this page:
Содержание

Abills FAQ [Русский]

Здесь вы можете найти ответы на самые частозадаваемые вопросы.
Версия FAQ: 16.07.2005

Общие вопросы

Как перевести интерфейс с cp1251 на другую кодировку.

Пример перевода Unicode
/usr/abills/libexec/config.pl

$conf{dbcharset}='utf8'; 

$conf{MAIL_CHARSET}='utf8'; 
$conf{default_language}='russian'; 
$conf{default_charset}='utf-8'; 

Перекодировка словарей

#!/bin/sh 

ICONV="iconv"; 
BASE_CHARSET="cp1251"; 
OUTPUT_CHARSET="utf8"; 

#Convert lang files 
${FIND} ${WRKSRC}/language -name "*.pl" -type f -exec ${ICONV}  -f${BASE_CHARSET} -t${OUTPUT_CHARSET} {} -o{}.bak `mv {}.bak {}` \; 

#Convert modules lang files 
${FIND} ${WRKSRC}/language -name "lng*.pl" -type f -exec ${ICONV} -f${BASE_CHARSET} -t${OUTPUT_CHARSET} {} -o{}.bak `mv {}.bak {}` \; 

Маскарадинг

Linux

Проверяем наличие вкомпилированной поддержки

# sysctl net.ipv4.conf.all.forwarding
net.ipv4.conf.all.forwarding = 1

Если не включён включаем

# sysctl -w net.ipv4.conf.all.forwarding=1  

Включаем маскарадинг

# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source your_real_ip

192.168.0.0/24 - Ваша внутренняя сеть
your_real_ip - IP Ип через который все будет ходить

FreeBSD

Собрать ядро с опциями

options IPFIREWALL
options DUMMYNET

/etc/rc.conf

gateway_enable="YES" 
firewall_enable="YES" 
firewall_type="OPEN" 
natd_enable="YES"
natd_interface="fxp0" 
natd_flags=""

fxp0 - Инерфейс смотрящий в мир.
Перезапуск сетевых сервисов

# /etc/netstart

Как загрузить бекап в базу

# cd abills/backup
# gzip -d backup_file.tgz 
# mysql -D abills < backup_file

Возможности

Как анализировать логи из удалённого NAS

В конфигурационном файле вместо местоположения файла нужно заменить просмотр этого файла на удалённом хосте.
Например

$conf{SHARING_APACHE_ERROR_LOG}='cat /usr/local/apache2/logs/error_log';

заменить на

$conf{SHARING_APACHE_ERROR_LOG}='ssh  -o StrictHostKeyChecking=no '.
   ' -i /usr/Certs/id_dsa.asm asm@remote.host '.
   ' "cat /usr/local/apache2/logs/error_log" |';

На основном сервере создайте сертификат для пользователя удалённого NAS (в даном случае asm)

# /usr/abills/misc/sslcerts.sh ssh asm

и поместите публичный ключ /usr/abills/Certs/id_dsa.asm.pub в файл /home/asm/.ssh/authorized_keys на удалённом сервере.

Нужно учитывать, что если у Вас очень большой файл логов, то желательно вместо команды ' cat ' использовать ' tail -1000 '

Таким же способом можно выполнять команды на удалённом NAS

Вожно ли всем NAS'ам дать один блок адресов

Нет, так как система смотрит занятые адреса на конкретном NASе.
Можно одну сеть разделить на подсети и диапазоны подсетей присвоить каждому насу.

Activation / Expire

  • Activation - Дата активизации аккаунта. Если значения не равно 0000-00-00 то пользователя будет пускать только, если дата подключения равна или больше даты активизации.
  • Expire - дата окончания работы аккаунта. Если поле не равно 0000-00-00, то пользователя будет пускать только до даты окончания.

Абонплата

В системе предусмотрено два вида абонплаты: дневная, месячная. Для снятия абон. платы Вам нужно в /etc/crontab внести

1     0      *    *     *   root    /usr/abills/libexec/periodic daily
1     0      *    *     *   root    /usr/abills/libexec/periodic monthly 
  1. Дневная - снимается каждый день.
  2. Месячная - снимается раз в месяц. Абонплата снимается каждого месяца 1 числа.

Если в поле Activisation указаное значение не равно 0000-00-00, то абонплата снимается через 31 день после указаной даты и после снятия денег устанавливается в текущую дату

Несъемный минимум (Credit Tresshold)

Несъемный минимум при подключении по DialUp и VPN.

Установка и настройка

FreeBSD. Не стартует Radius + rlm_perl при старте системы

В файле /usr/local/etc/rc.d/radiusd нужно поменять

# REQUIRE: NETWORKING SERVERS

на

# REQUIRE: NETWORKING SERVERS apache22 mysql

DEBIAN. Первый заход в админку - Account Disabled or Not exist

У Вас не установлен apache mod_rewrite

# a2enmod rewrite
# /etc/init.d/apache2 force-reload

Кажется настроил, но ничего не работает

  1. Посмотрите в лог системы abills/var/log/abills.log
  2. Запустите радиус в дебаг режиме radiusd -x

Большие буквы в логине

/usr/abills/libexec/config.pl

$conf{USERNAMEREGEXP}="^[A-Za-z0-9_][A-za-z0-9_-]*\$";

Подключил словарь к радиусу, но радиус все равно не видит параметров

После $INCLUDE разделитель табуляция.

При подключении к серверу, после стадии проверки данных юзера идёт обрыв соединения, хотя в логе abills.log пишет всё ок '03:46:27 LOG_INFO: AUTH [myrka] NAS: 3 (192.168.10.1) GT: 0.24659'

  1. Если используете Exppp или стандартный FreeBSD ppp проверьте лог /var/log/ppp.log. Скорее всего установлен NAS exppp, а в radius словарь не внесены для него атрибуты. см. Exppp

ExPPP Трафик не считается как Ext_in, EXT_out

Посмотреть передаётся ли информация о подсетях для exppp
/var/log/ppp.log

Apr 16 11:18:55 nacho ppp[66019]: Phase:  IP table '/usr/abills/cgi-bin/admin/nets/7.nets'

ExPPP + poptop не работает MAC авторизация.

Установка PopTop
Все операции проводим от пользователя root.

# cd /usr/ports/net/poptop/ 
# make patch 

Копируем патч (http://www.opennet.ru/soft/vpn/pptpctrl.patch) в каталог: /usr/ports/net/poptop/work/poptop-1.1.4/ и далее:

# cd /usr/ports/net/poptop/work/poptop-1.1.4 
# patch < pptpctrl.patch 
Hmm... Looks like a new-style context diff to me... 
The text leading up to this was: 
-------------------------- 
|*** pptpctrl.c.orig Wed Jul 16 14:51:40 2003 
|--- pptpctrl.c Mon Jul 14 15:51:35 2003 
-------------------------- 
Patching file pptpctrl.c using Plan A... 
Hunk #1 succeeded at 388. 
done 
# cd ../.. 
# make install 
# make clean 
# cp /usr/local/etc/pptpd.conf.sample /usr/local/etc/pptpd.conf 
# mv /usr/local/etc/rc.d/pptpd.sh.sample /usr/local/etc/rc.d/pptpd.sh 

И запускаем poptop

# /usr/local/etc/rc.d/pptpd.sh start

MPD + Windows XP рваный пинг

set pptp disable windowing 

Cisco не понимает Session-Timeout

В конфигурации обязательно должна присутствовать строка такого вида без изменений

aaa authorization network default group radius if-authenticated

Зависла сессия

/ Monitoring/ Dialup / VPN/

(Z) - Zap Закончить зависшую сессию и посчитать деньги

FreeBSD Поднятие скорости шейпера DUMMYNET

/etc/sysctl.conf

net.inet.ip.fw.enable=1 логическая (булева) переменная (значения 0 и 1). Показывает, включено ли использование firewall в текущий момент. Позволяет включать и выключать firewall в любой момент времени.

net.inet.ip.fw.autoinc_step

целочисленная переменная. Задает шаг автоматического приращения номеров правил firewall при вводе без принудительного указания номера

net.inet.ip.fw.verbose 
net.inet.ip.fw.verbose_limit

аналогичны соответствующим опциям ядра

net.inet.ip.fw.one_pass 

логическая переменная. При ее установки в 0 пакет, выходящий из dummynet, продолжит свое путешествие по правилам firewall. В противном случае pipe действует, как allow. Значение по умолчанию - 1.

net.inet.ip.dummynet.hash_size=1024 

целочисленная переменная. Соответствует размеру хэш-таблицы, используемой dummynet для хранения очередей. Увеличение этого значение ускоряет работу dummynet при большом количестве очередей, естественно в обмен на оперативную память. Значение по умолчанию - 64.

net.inet.ip.dummynet.expire 

логическая переменная. При установке в 1 очереди dummynet удаляются через некоторое время после того, как через них перестали «бегать» пакеты. В противном случае очереди удаляются только при нехватке памяти для размещения новых. Значение по умолчанию - 1. Имеет смысл выставлять в 0, если Ваш сервер обслуживает несколько крупных потребителей трафика, постоянно находящихся в режиме on-line - в этом случае кратковременное прекращение активности потребителя не должно вызывать удаления его очереди, чтобы не тратить времени на ее создание заново при появлении потребителя. В случае множества мелких потребителей, подключающихся и отключающихся от сети на длительный срок имеет смысл освобождать ресурсы, чтобы ускорить работу dummynet за счет меньшей таблицы очередей.

net.inet.ip.dummynet.io_fast=1 режим шейпинга вместо эмуляции медленного соединения

net.inet.ip.dummynet.max_chain_len=1024

целочисленная переменная, значение по умолчанию - 16. Количество очередей, способных одновременно храниться в одной ячейке хэш-таблицы. При превышении этого значение пустые очереди удаляются. (или те, которым меньше всего повезло).

net.inet.ip.fastforwarding=1
net.inet.ip.fw.dyn_keepalive 

булева переменная. Заставляет генерировать «поддерживающие» пакеты (keep-alive) для tcp-соединений, обрабатываемых динамическими правилами keep-state. Установка в 1 понижает вероятность прерывания tcp-соединения по таймауту, но генерирует лишний трафик. Значение по умолчанию - 1

net.inet.ip.fw.dyn_max 

целочисленная переменная. Максимальное количество одновременно существующих динамических правил. Значение по умолчанию - 8192.

Проверка активности PPTP и PPPOE

PPTP

tcpdump -i em0 port 1723

PPPOE

tcpdump -i em0 -n not ip

или

tcpdump -i em0 -n ether proto 0x8863 '||' ether proto 0x8864

Ошибки

ngctl: recv msg: No buffer space available

Есть некоторые моменты, которые следует учесть, если ваш сервер имеет большое количество соединений. Например, можно столкнуться с ситуацией, когда при выводе комманды ngctl list будет выдававаться No buffer space available. Чтобы этого избежать следует добавить в /boot/loader.conf:

kern.ipc.nmbclusters=16384
kern.ipc.maxsockets=16384
net.graph.maxalloc=2048
kern.maxusers=512
kern.ipc.maxpipekva=32000000

в /etc/sysctl.conf:

net.graph.maxdgram=128000
net.graph.recvspace=128000

Linux pppd. rc_avpair_new: unknown attribute 48

В логе:

Aug 30 17:00:45 zeus pppd[14334]: rc_avpair_new: unknown attribute 48
Aug 30 17:00:45 zeus pppd[14334]: rc_avpair_new: unknown attribute 47

Не является критической ошибкой.
radiusclient не знает атрибуты:

ATTRIBUTE       Acct-Input-Packets      47      integer
ATTRIBUTE       Acct-Output-Packets     48      integer  

Добавляем в /etc/radiusclient/dictionary

INCLUDE        /etc/radiusclient/dictionary.merit  

Linux pppd. При достижении сессии 4 Gb статистика трафика обнуляется

Это ошибка в pppd версии 2.4.4
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475122

Исправляется обновлением а также патч 1 или патч 2 на Ваш выбор

Добавляем в /etc/radiusclient/dictionary

ATTRIBUTE      Acct-Input-Gigawords    52      integer
ATTRIBUTE      Acct-Output-Gigawords   53      integer  

Linux pppd. Произвольный сброс сессии

Лог:

Dec 26 13:48:19 abills-access-srv pppd[9032]: rcvd [LCP TermReq id=0xb "&\37777777647o\37777777774\000<\37777777715t\000\000\000\000"]
Dec 26 13:48:19 abills-access-srv pppd[9032]: LCP terminated by peer (&M-'oM-|^@<M-Mt^@^@^@^@)
Dec 26 13:48:19 abills-access-srv pppd[9032]: sent [LCP TermAck id=0xb]

Скорее всего IP-адрес VPN шлюза и IP-адрес Windows совпадает, клиенту выдаётся тотже адрес что и адрес шлюза.

Linux pppd. Проходит PAP авторизация не проходит CHAP

В логе:

Dec 19 13:18:16 IRONVM pppd[3543]: rc_avpair_new: unknown attribute 60

Связано с тем, что radiusclient не передаёт параметр CHAP-Challenge
Добавляем в /etc/radiusclient/dictionary

ATTRIBUTE       CHAP-Challenge          60      string

Linux pppd. Не видно трафика в / Monitoring/ Dialup / VPN/ (Не приходят Alive.)

Проверить / System configuration/ NAS/ наличие параметра

RADIUS Parameters Acct-Interim-Interval=60

Добавляем в /etc/radiusclient/dictionary

ATTRIBUTE Acct-Interim-Interval 85 integer

ATTRIBUTE Session-Octets-Limit 227 integer 
ATTRIBUTE Octets-Direction 228 integer 

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 

MPD. Не выдаются IP-адреса из пула указанного в биллинге. Куда копать? Какие параметры покрутить?

Нужно пропатчить MPD-3.18 патчем, который включает возможность сброса пользователей. В нем же пофиксили выдачу IP-адресов. (http://abills.net.ua/wiki/doku.php?id=abills:docs:mpd:ru)

MPD. 2 процесса mpd

Mikrotik - Пользователи логинятся и не попадают в биллинг

Разработчики признали такую возможность и исправили её в 2.9.34

Exppp - Пользователи авторизируются, но соединение не устанавливается

ppp.log

Warning: iface add: ioctl(SIOCAIFADDR, 192.168.0.13 -> 10.10.11.17): File exists 

По какой-то причине не отключился интерфейс и адрес уже занят.
Pешение: на NAS сервере запустить периодическую проверку в /etc/ctontab

*/2 * * * * root /usr/abills/libexec/billd checkppp

Exppp - проходит авторизация, а аккаунтинг не идёт и данные не ходят

Это глюк в самом ppp на стадии согласования по LCP. Такое может происходить, когда потери на Laeyr2.

Pешение: на NAS-сервере запустить периодическую проверку в /etc/ctontab

*/2 * * * * root /usr/abills/libexec/billd checkppp

Максимальное время 838:59:59

Table './abills/payments' is marked as crashed and should be repaired

или в /var/log/httpd/abills-error.log

[Fri Sep 07 15:45:27 2007] [error] [client 195.114.96.64] DBD::mysql::db do 
failed: Table './abills/web_online' is marked as crashed and should be repaired 
at ../../Abills/mysql//main.pm line 114.

У вас по какойто причине слитела таблица payments надо её поченить.

# /usr/local/etc/rc.d/mysql-server stop
# myisamchk -r /var/db/mysql/abills/*.MYI
# /usr/local/etc/rc.d/mysql-server start

Можно пробовать и без остановки сервера БД.

failed: Illegal mix of collations

[Mon Mar 22 16:39:50 2010] [error] [client 195.250.69.44] DBD::mysql::st execute
 failed: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swed
ish_ci,IMPLICIT) for operation '=' at ../../Abills/mysql//main.pm line 178., ref

Ошибки Windows клиента

Ошибка 800:

возникает, когда нет связи с сервером доступа, возможна вследствие:

  1. Отключен сетевой адаптер, проверить можно в разделе панель управления → сетевые подключения;
  2. Физические повреждения на линии или др. проблемы на стороне провайдера (обращайтесь в поддержку);
  3. Коннектор не вставлен в сетевую карту или установлен не плотно;
  4. Сетевая карта не настроена или настроена не правильно.

Ошибка 691:

сервер отказывает в авторизации, возможна вследствие:

  1. нет денег на счету;
  2. неправильное имя пользователя или пароль;
  3. «зависла сессия» вследствие некорректной перезагрузки компьютера, перебоев в енергоснабжении – самоустраняется в течение 5 мин;
  4. на сетевом адаптере прописан некорректный IP-адрес.

Ошибка 619:

Сервер отчуживает подключение:

  1. неправильные настройки безопасности и авторизации, в частности, не отключено шифрование.

Ошибка 629 (PPPoE подключение):

сервер отказывает в авторизации, возможна вследствие:

  1. нет денег на счету;
  2. неправильное имя пользователя или пароль;
  3. «зависла сессия» вследствие некорректной перезагрузки компьютера, перебоев в енергоснабжении – самоустраняется в течение 5 мин;

Ошибка 734 и др:

неправильно настроено подключение либо ограничение файерволла

Ошибка 735:

Ошибка возникает, если в свойствах протокола TCP/IP VPN-соединения жестко прописан ip-адрес.

Решение: зайти в Свойства VPN-соединения (правой кнопкой по значку - Свойства), открыть вкладку Сеть, найти Протокол Интернета TCP/IP, выделить, нажать кнопку Свойства. Отметить пункты «Получить ip-адрес автоматически» и «Получить адрес ДНС-сервера автоматически». Нажать ОК. Пробовать подключиться.

CID в PPPOE и в PPTP

В PPTP CID не может принимать значение MAC так как он работает на сеансовом уровне(5-й уровень модели OSI), а PPPOE работает на канальном уровне(2-й уровень модели OSI)

returned 512

[B-1] system: command "/usr/abills/libexec/linkupdown mpd up ng0 inet 192.168.100.1/32 10.0.0.247 'test' '' '' 
'178.95.37.98'" returned 512

Такая ошибка возникает если команды не обрабатываются mysql-ом. Проверьте МYSQL, и установлены ли модули DBI, DBD

returned 65280

[B-2] system: command "/usr/abills/libexec/linkupdown mpd up ng0 inet 192.168.100.1/32 10.0.0.63 'test' '' '' 
'178.93.132.92'" returned 65280

Такая ошибка возникает если МYSQL клиент на НАСе не может связаться с МYSQL сервером. Проверьте или хост МYSQL клиента добавлен в МYSQL сервер

 
abills/docs/faq/ru.txt · Последние изменения: 2011/09/26 16:16 — asmodeus
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki