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

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


uhw

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
Остання ревізія По сторонах наступні версії
uhw [2019/03/19 14:35]
uhw [2023/07/12 12:14]
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