Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

uhw

Це стара версія документу!


UHW aka Unknown HardWare helper

В Ubilling починаючи з версії 0.3.1 з'явився сервіс, що дає змогу значно спростити життя під час використання авторизації IP+MAC і роздачі адрес абонентам за допомогою DHCP. Сам сервіс знаходиться в дистрибутиві Ubilling у каталозі /docs/uhw. Суть “спрощення життя” зводитися до того, що користувач, який купив собі роутер, поміняв мережеву карту, притягнув додому ноутбук, при спробі зайти на будь-який сайт, замість улюбленого сайту буде споглядати таку картину:


Встановлення та налаштування

Невідомим MAC DHCP має видавати адреси зі службової підмережі, яка не має доступу до інтернету і для якої має проводитися заворот на домен нашого сервісу.

1. Додаємо мережу невідомих пристроїв до шаблону головного конфіга dhcpd в Ubilling /config/dhcp/global.template після секції {SUBNETS}:

global.template
  ###### Unknown users network
  subnet 172.31.0.0 netmask 255.255.240.0 {
  default-lease-time 3600;
  option domain-name "isp";
  option subnet-mask 255.255.240.0;
  option domain-name-servers 172.31.0.1;
  option routers 172.31.0.1;
  range 172.31.0.100 172.31.0.254;
  }

2. Переконуємося, що на інтерфейсі, який дивиться на абонентів, призначено відповідний alias в /etc/rc.conf:

rc.conf
ifconfig_em0_alias0="inet 172.31.0.1 netmask 255.255.240.0"

3. Додаємо заворот на себе, для цієї підмережі у /etc/firewall.conf:

firewall.conf
#unknown users redirect
${FwCMD} add 5 fwd 127.0.0.1,80 ip from 172.31.0.0/20 to not me dst-port 80

4. Встановлюємо JavaScript редирект із замовчуваного VirtualHost на URL, де розташований UHW, у /usr/local/www/apache24/data/index.php:

index.php
<script type="text/javascript">
<!--
window.location = "http://172.31.0.1/uhw/"
//-->
</script>

(А ніхто до речі не забороняє підняти собі окремий VirtualHost для цього сервісу, скажімо uhw.isp і прописати його собі в локальну зону).

5. Для того, щоб заворот працював для відмінних від “/” посилань, за якими ходить користувач, слід додати таку річ у /usr/local/www/apache24/data/.htaccess:

.htaccess
ErrorDocument 404 /index.php

6. Забираємо uhw з дистрибутива Ubilling у відповідне місце:

# cp -R docs/uhw /usr/local/www/apache24/data/

7. Прописуємо відповідні налаштування у /usr/local/www/apache24/data/uhw/config/mysql.ini:

mysql.ini
;Сервер БД
server = "localhost"
;Порт БД
port = "3306"
;Користувач
username = "mylogin"
;Пароль користувача
password = "newpassword"
;БД Ubilling
db = "stg"
character = "UTF8"
prefix = "billing"

8. Редагуємо відповідно до наших реалій конфіг /usr/local/www/apache24/data/uhw/config/uhw.ini:

uhw.ini
;
; Налаштування ISP і мережеві опції
;

;Чи запитувати в користувача логін, чи орієнтуватися тільки за паролем?
USE_LOGIN=0

; Назва ISP
ISP_NAME="Роги&Копита"

; URL сайта ISP 
ISP_URL="http://ubilling.net.ua"

; Логотип ISP (може бути шляхом або URL)
ISP_LOGO="images/logo.png"

; Маска IP підмережі невідомих користувачів 
UNKNOWN_MASK="172.31."
UNKNOWN_LEASE="DHCPACK on "

; Ховати точки в MAC
HIDE_DOTS=1
; Показувати стільки-то останніх символів MAC користувачеві (0 - без обрізки)
SHOW_MAC_SIZE=4

; Шляхи до необхідного ПЗ
SUDO_PATH="/usr/local/bin/sudo"
CAT_PATH="/bin/cat"
GREP_PATH="/usr/bin/grep"
TAIL_PATH="/usr/bin/tail"
LOG_PATH="/var/log/dhcpd.log"

 
;
; Налаштування локалізації та сповіщень, сподіваємося тут усе зрозуміло
;

; Заголовок страницы
TITLE="Неизвестное оборудование"
; Подзаголовок страницы
SUB_TITLE="Извините, вы используете неизвестное нам оборудование";
 
SUP_PHONES="12345 или 54321"
SUP_DESC="Время работы службы техподдержки"
SUP_DAYS="понедельник-суббота"
SUP_TIME="с 09:00 до 18:00"
 
CALL_US="Пожалуйста позвоните нам по номеру"
SUP_ACTIVATE="для того, чтобы активировать ваше текущее оборудование для работы в сети."
SUP_REQUIRE="Вам необходимо будет продиктовать службе техподдержки адрес проживания, ваши Ф.И.О. и следующий набор букв или цифр выделенных красным цветом:"
SUP_SELFACT="Самостоятельная активация"
SUP_PASS="Пароль пользователя"
SUP_PASSNOTICE="Пароль пользователя НЕ является красными буквами и цифрами которые вы видите на этой странице, узнать его вы можете из своего договора. Он является конфиденциальной информацией, не доверяйте его никому. Не забудьте перезагрузить ваше оборудование после активации, для получения новых настроек."
SUP_ACTIVATE_QUERY="Активировать мое текущее оборудование"
SUP_MACEXISTS="...Ой, ваше оборудование кажется уже активировано, перезагрузите его."
SUP_ERROR="Ошибка"
SUP_NOMAC="Случилась странная ошибка, перезагрузите ваше оборудование и попробуйте еще раз."
SUP_WRONGPASS="Вы ввели неверный пароль, у вас кстати не так много попыток. Обратите внимание на регистр букв."
SUP_STRANGE="Странная ошибка, ее вообще не могло произойти. Обратитесь к администратору."
SUP_BRUTEERROR="К сожелению вы исчерпали количество попыток. Самостоятельная активация невозможна."
SUP_SELFACTDONE="Активация вашего нового оборудования завершена. Не забудьте перезагрузить ваше устройство, для получения новых настроек."

;
; Опции самоактивации оборудования
;

;Включена ли самоактивация вообще?
SELFACT_ENABLED=1

;Тип поля в которое пользователь должен вводить свой пароль (text или password)
SELFACT_FIELDTYPE="text"

;Максимальное количество неверных попыток ввода пароля перед блокированием самоактивации
SELFACT_BRUTE=3

;Ссылка на работающий Ubilling для вызова функций удаленного API (Опция REMOTEAPI_ENABLED=1 в alter.ini)
UBILLING_REMOTE="http://127.0.0.1/billing/"

;Серийный номер вашего Uilling (можно найти в модуле "Состояние системы")
UBILLING_SERIAL="серийный номер вашего Ubilling"

Как видно из конфига, функционал “Самоактивации” включаем и отключаем. Его использование требует наличия включенной опции allow_url_fopen в php.ini, а также очень тщательного тестирования.

UHW_MLG

При использовании КучаГена и авторизации IP+MAC и раздаче адресов абонентам при помощи DHCP. Сам сервис находиться в дистрибутиве Ubilling в каталоге /docs/uhw_mlg.

UHW_MLG Вам нужен, если:

  1. Сконфигурирован КучаГен.
  2. В роли DHCP сервера выступает NAS/BRAS
  3. Ваш NAS/BRAS шлет radius accounting

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

Делаем всё как в примере выше с некоторыми исключениями:

  • Пропускаем пункт 1
  • Пункт два больше относится к тому как вы будете перенаправлять неизвестное вам оборудование
  • В конфигурационном файле uhw.ini правильно указать MAC_FIELD

Полезные опции

  1. alter.ini: NMLEASES = /var/log/radius.log
  2. alter.ini: NMLEASES_EXTEND=1
uhw.1686920682.txt.gz · Востаннє змінено: 2023/06/16 16:04 повз skybetik