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

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


uhw

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
uhw [2017/11/01 00:31]
uhw [2023/07/12 12:15] (поточний)
nightfly
Рядок 1: Рядок 1:
 +====== UHW aka Unknown HardWare helper ======
 +
 +В Ubilling починаючи з версії 0.3.1 з'явився сервіс, що дає змогу значно спростити життя під час використання авторизації IP+MAC і роздачі адрес абонентам за допомогою DHCP. Сам сервіс знаходиться в дистрибутиві Ubilling у каталозі /docs/uhw. Суть "спрощення життя" зводитися до того, що користувач, який купив собі роутер, поміняв мережеву карту, притягнув додому ноутбук, при спробі зайти на будь-який сайт, замість улюбленого сайту буде споглядати таку картину:\\
 +
 +\\
 +{{:uhw.png?300 |}}
 +{{:uhw2.png?300 |}}
 +{{:uhw3.png?300 |}}
 +
 +
 +
 +
 +===== Встановлення та налаштування =====
 +
 +
 +Невідомим MAC DHCP має видавати адреси зі службової підмережі, яка не має доступу до інтернету і для якої має проводитися заворот на домен нашого сервісу.
 +
 +1. Додаємо мережу невідомих пристроїв до шаблону головного конфіга dhcpd у Ubilling **/config/dhcp/global.template** після секції {SUBNETS}: 
 +<file ini 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;
 +  }
 +</file>
 +
 +2. Переконуємося, що на інтерфейсі, який дивиться на абонентів, призначено відповідний alias у **/etc/rc.conf**:
 +<file ini rc.conf>
 +ifconfig_em0_alias0="inet 172.31.0.1 netmask 255.255.240.0"
 +</file>
 +  
 +3. Додаємо заворот на себе, для цієї підмережі у **/etc/firewall.conf**:
 +<file ini 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
 +</file>  
 +
 +4. Встановлюємо JavaScript редирект із замовчуваного VirtualHost на URL, де розташований UHW, у **/usr/local/www/apache24/data/index.php**: 
 +<file javascript index.php>
 +<script type="text/javascript">
 +<!--
 +window.location = "http://172.31.0.1/uhw/"
 +//-->
 +</script>
 +</file>
 +
 +(А ніхто до речі не забороняє підняти собі окремий VirtualHost для цього сервісу, скажімо uhw.isp і прописати його собі в локальну зону).
 +
 +5. Для того, щоб заворот працював для відмінних від "/" посилань, за якими ходить користувач, слід додати таку річ у **/usr/local/www/apache24/data/.htaccess**:
 +<file php .htaccess>
 +ErrorDocument 404 /index.php
 +</file>
 +
 +6. Забираємо uhw з дистрибутива Ubilling у відповідне місце:\\
 +  # cp -R docs/uhw /usr/local/www/apache24/data/
 +
 +7. Прописуємо відповідні налаштування у **/usr/local/www/apache24/data/uhw/config/mysql.ini**:
 +<file ini mysql.ini>
 +;Сервер БД
 +server = "localhost"
 +;Порт БД
 +port = "3306"
 +;Користувач
 +username = "mylogin"
 +;Пароль користувача
 +password = "newpassword"
 +;БД Ubilling
 +db = "stg"
 +character = "UTF8"
 +prefix = "billing"
 +</file>
 +
 +8. Редагуємо відповідно до наших реалій конфіг **/usr/local/www/apache24/data/uhw/config/uhw.ini**:
 +<file 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"
 +</file>
 +
 +
 +Як видно з конфіга, функціонал "Самоактивації" вмикаємо та вимикаємо. Його використання вимагає наявності ввімкненої опції allow_url_fopen у php.ini, а також дуже ретельного тестування.
 +
 +====== UHW_MLG ======
 +
 +При використанні [[multigen|КучаГена]] та авторизації IP+MAC і роздачі адрес абонентам за допомогою DHCP. Сам сервіс знаходиться в дистрибутиві Ubilling у каталозі /docs/uhw_mlg.
 +
 +===== UHW_MLG Вам потрібен, якщо: =====
 +
 +  - Сконфігуровано [[multigen|КучаГен]].
 +  - У ролі DHCP сервера виступає NAS/BRAS
 +  - Ваш NAS/BRAS шле radius accounting
 +  - [[mgdefauth|У вас є дефолтна авторизація для невідомих абонентів]]
 +
 +===== Встановлення та налаштування =====
 +
 +Робимо все як у прикладі вище з деякими винятками:
 +  * Пропускаємо пункт 1
 +  * Пункт два більше відноситься до того як ви будете перенаправляти невідоме вам обладнання
 +  * У конфігураційному файлі uhw.ini правильно вказати MAC_FIELD
 +
 +===== Корисні опції =====
 +
 +  - [[alteriniconf|alter.ini]]: NMLEASES = /var/log/radius.log
 +  - alter.ini: NMLEASES_EXTEND=1
  
uhw.txt · Востаннє змінено: 2023/07/12 12:15 повз nightfly