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

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


Сайдбар

Розділи

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

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"

; За цим шляхом, будуть шукатись рядки з парами IP + MAC користувача.
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.txt · Востаннє змінено: 2023/07/12 12:15 повз nightfly