debian:nodeny

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
debian:nodeny [2024/03/13 09:47] – [Mysql процедури] Methoddebian:nodeny [2025/07/27 20:58] (поточний) Method
Рядок 49: Рядок 49:
 </code> </code>
  
-===== Web Server ===== +===== База даних ===== 
-Встановлення Apache+<WRAP center round important 100%> 
 +Я не використовуватиму MySQL, оскільки з білінгом чудово працює і Percona server for mysql 8! 
 +[[https://andreyex.ru/operacionnaya-sistema-debian/kak-ustanovit-mariadb-na-debian-10/|Джерело]]\\ 
 +А на Percona можна буде підняти Galera Cluster! 
 +</WRAP> 
 +{{section>debian:percona8#vstanovlennja_percona_mysql_server_8_na_debian_12}} 
 <code bash> <code bash>
-apt-get install -yq apache2+mysql -u root -p
 </code> </code>
 +
 +Створимо базу даних nodeny
 +<code mysql>
 +create database nodeny;
 +use nodeny;
 +source /usr/local/nodeny/bill.sql;
 +</code>
 +
 +===== Web Server =====
 +
 +{{section>debian:apache&noheader}}
  
 Включаємо потрібні нам модулі для опача: Включаємо потрібні нам модулі для опача:
 <code bash> <code bash>
-sudo a2enmod ssl rewrite suexec include cgid+sudo a2enmod cgid
 </code> </code>
  
Рядок 121: Рядок 138:
 systemctl restart apache2 systemctl restart apache2
 systemctl status apache2 systemctl status apache2
-</code> 
- 
-Відкриваємо порти фаєрволу 
-<code bash> 
-sudo ufw allow http 
-sudo ufw allow https 
-sudo ufw reload 
 </code> </code>
  
 (1) Для включення https [[https://www.8host.com/blog/sozdanie-sertifikata-lets-encrypt-dlya-apache-v-debian-10/]] (1) Для включення https [[https://www.8host.com/blog/sozdanie-sertifikata-lets-encrypt-dlya-apache-v-debian-10/]]
  
-===== База даних ===== +<code bash> 
-<WRAP center round important 100%> +==== Налаштування NoDeny Plus ====
-Я не використовуватиму MySQL, оскільки з білінгом чудово працює і MariaDB! +
-[[https://andreyex.ru/operacionnaya-sistema-debian/kak-ustanovit-mariadb-na-debian-10/|Джерело]]\\ +
-А на MariaDB можна буде підняти Galera Cluster! +
-</WRAP> +
-{{section>debian:mariadb&mariadb&noheader}}+
  
 +Підключимо модулі (-x), встановимо власника та права на файли (-w), створимо стартовий конфіг (-m), створимо суперадміну (-p):
 <code bash> <code bash>
-mysql -u root -p+perl /usr/local/nodeny/install.pl -
 +perl /usr/local/nodeny/install.pl -x 
 +perl /usr/local/nodeny/install.pl -w=www-data 
 +perl /usr/local/nodeny/install.pl -p admin=12345
 </code> </code>
  
-Створимо базу даних nodeny 
-<code mysql> 
-create database nodeny; 
-use nodeny; 
-source /usr/local/nodeny/bill.sql; 
 </code> </code>
  
-<code bash> +===== Install phpMyAdmin ===== 
-</code>+За потреби встановлюємо phpMyAdmin
  
-===== Install apache2 php phpMyAdmin ===== 
-{{section>debian:apache&noheader}} 
 {{section>debian:phpmyadmin&noheader}} {{section>debian:phpmyadmin&noheader}}
  
 +===== Webmin =====
 +За бажанням встановлюємо Webmin
  
- 
-===== Webmin ===== 
 {{section>debian:webmin&webmin&noheader}} {{section>debian:webmin&webmin&noheader}}
  
 ===== FreeRadius ===== ===== FreeRadius =====
-[[https://kifarunix.com/install-freeradius-with-daloradius-on-debian-9/]] 
- 
 <WRAP center round important 100%> <WRAP center round important 100%>
 Даний варіант установки не з офіційної документації і розроблений для нашої мережі, але може бути портований і в інші мережі! Даний варіант установки не з офіційної документації і розроблений для нашої мережі, але може бути портований і в інші мережі!
Рядок 173: Рядок 173:
 </WRAP> </WRAP>
  
- 
-==== Встановлення пакетів ==== 
 <code bash> <code bash>
-apt-get install freeradius freeradius-mysql freeradius-utils +apt-get install freeradius freeradius-mysql freeradius-utils libauthen-radius-perl 
-   + 
-sudo ufw allow to any port 1812 proto udp +apt-mark hold freeradius 
-sudo ufw allow to any port 1813 proto udp + 
-sudo ufw reload+cpanm -n Authen::Radius
 </code> </code>
  
 +==== Конфігурація ====
 Видалимо зайве, попередньо зробивши бекап :-D Видалимо зайве, попередньо зробивши бекап :-D
 <code bash> <code bash>
Рядок 208: Рядок 207:
 </code> </code>
  
-Створимо основний конфіг +Створимо основний конфіг ''/etc/freeradius/3.0/sites-enabled/nodeny'' з таким вмістом: 
-   nano /etc/freeradius/3.0/sites-enabled/nodeny +<code bash
-з таким вмістом: +cat <<EOT >> /etc/freeradius/3.0/sites-enabled/nodeny
-<code bash /etc/freeradius/3.0/sites-enabled/nodeny>+
 server nodeny { server nodeny {
     listen {     listen {
Рядок 262: Рядок 260:
         perl         perl
     }     }
- 
 } }
 +EOT
 </code> </code>
  
Рядок 273: Рядок 271:
 Опишемо локальний сервер доступу для тестів, сюди ж вписуємо всі свої БРАСи за аналогією Опишемо локальний сервер доступу для тестів, сюди ж вписуємо всі свої БРАСи за аналогією
 <code bash> <code bash>
-echo '' > /etc/freeradius/3.0/clients.conf +cat <<EOT > /etc/freeradius/3.0/clients.conf
-nano /etc/freeradius/3.0/clients.conf +
-</code> +
- +
-<code bash /etc/freeradius/3.0/clients.conf>+
 client 127.0.0.1 { client 127.0.0.1 {
-ipaddr = 127.0.0.1 +    ipaddr = 127.0.0.1 
-secret = hardpass5 +    secret = hardpass5 
-shortname=NoDenyDB +    shortname=NoDenyDB 
-nastype = cisco+    nastype = cisco
 } }
 +EOT
 </code> </code>
  
 <code bash> <code bash>
-echo '' > /etc/freeradius/3.0/users +cat <<EOT > /etc/freeradius/3.0/mods-config/files/authorize
-nano /etc/freeradius/3.0/users +
-</code> +
- +
-<code bash /etc/freeradius/3.0/users>+
 DEFAULT Auth-Type = Perl DEFAULT Auth-Type = Perl
     Fall-Through = yes     Fall-Through = yes
 +EOT
 </code> </code>
  
 <code bash> <code bash>
-echo '' > /etc/freeradius/3.0/mods-enabled/perl +cat <<EOT > /etc/freeradius/3.0/mods-enabled/perl
-nano /etc/freeradius/3.0/mods-enabled/perl +
-</code> +
- +
-<code perl /etc/freeradius/3.0/mods-enabled/perl>+
 perl { perl {
         filename = /usr/local/nodeny/nod/_radius.pl         filename = /usr/local/nodeny/nod/_radius.pl
 } }
 +EOT
 </code> </code>
  
-Я не знаю чому, але радіус відмовляється працювати з моїм скриптом на дебіані через недостатні права на файл. я перепробував всі комбінації прав та власників на файлале результат той самий. Єдине, що допомоглотак це змінити в налаштуваннях самого радіусу користувача і групу або взагалі їх закоментувати. Я так і вчинив:+==== Permission denied ==== 
-  + 
 +Оскільки freeradius використовує модулі з директорії білінгупри запуску можемо отримувати помилкусхожу на наступну
 <code bash> <code bash>
-nano /etc/freeradius/3.0/radiusd.conf+'Can`t open perl script "/usr/local/nodeny/nod/_radius.pl": Permission denied' 
 +'rlm_perl: perl_parse failed: /usr/local/nodeny/nod/_radius.pl not found or has syntax errors' 
 +'/etc/freeradius/3.0/mods-enabled/perl[1]: Instantiation failed for module "perl"'
 </code> </code>
  
-у секції "security" коментуємо користувача та групу+Щоб це виправити, необхідно змінити користувача запуску freeradius, щоб freeradius міг використовувати файли за межами каталогу своїх конфігурацій
 <code bash> <code bash>
-#user=freerad +nano /etc/freeradius/3.0/radiusd.conf
-# group = freerad+
 </code> </code>
  
-==== Permission denied ==== +У секції 'security' коментуємо користувача та групу
- +
-Оскільки freeradius використовує модулі з директорії білінгу, при запуску можемо отримувати помилку, схожу на наступну+
 <code bash> <code bash>
-Can't open perl script "/usr/local/nodeny/nod/_radius.pl": Permission denied +#user = freerad 
-rlm_perl: perl_parse failed: /usr/local/nodeny/nod/_radius.pl not found or has syntax errors +#group = freerad
-/etc/freeradius/3.0/mods-enabled/perl[1]: Instantiation failed for module "perl"+
 </code> </code>
  
-щоб це виправити, необхідно змінити користувача freeradius, для цього перевизначимо системний юніт+Також перевизначимо системний юніт
 <code bash> <code bash>
 systemctl edit --full freeradius systemctl edit --full freeradius
Рядок 338: Рядок 326:
 #Group=freerad #Group=freerad
 </code> </code>
- 
-Це необхідно зробити, щоб freeradius міг використовувати файли за межами каталогу своїх конфігурацій 
  
 <code bash> <code bash>
Рядок 346: Рядок 332:
 </code> </code>
  
-перевіряємо +Перевіряємо
 <code bash> <code bash>
 journalctl -xeu freeradius.service journalctl -xeu freeradius.service
 </code> </code>
  
-маємо побачити щось схоже на наступне+Маємо побачити щось схоже на наступне
 <code bash> <code bash>
 freeradius[240578]: Copyright (C) 1999-2022 The FreeRADIUS server project and contributors freeradius[240578]: Copyright (C) 1999-2022 The FreeRADIUS server project and contributors
Рядок 379: Рядок 364:
 </code> </code>
  
 +Не забуваємо налаштувати файрвол
  
 +Перевіряємо використання портів
 +  ss -alun4 | grep -E '1812|1813'
  
- +Бачимо 
- +<code bash> 
-rc.local +UNCONN 0      0          127.0.0.1:18121      0.0.0.0:* 
- +UNCONN 0      0            0.0.0.0:1812       0.0.0.0:* 
-https://softnastroy.com/content/vklyuchaem-rclocal-v-debian-9-stretch.html +UNCONN 0      0            0.0.0.0:1813       0.0.0.0:* 
 +</code>
  
  
 https://wiki.mikbill.pro/billing/bez_deneg https://wiki.mikbill.pro/billing/bez_deneg