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

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


Сайдбар

Розділи

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

FAQ



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

purenasrscriptd

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


PureNAS з rscriptd на Debian 13.2

Домовленості

Для прикладу припустимо, що Ubilling з усіма потрохами розташований на сервері доступному за адресою 1.2.3.6 а Чистий Debian 13.2 встановлено на сервер, з відповідними інтерфейсами. Ви не повинні конфігурувати інтерфейси самостійно, PureNAS зробить це автоматично за вас при своїй ініціалізації.

Встановлення PureNAS

su -
apt install -y ethtool net-tools conntrack tcpdump htop mtr-tiny sudo irqbalance
apt install -y git expat libexpat1-dev build-essential softflowd snmpd snmp
apt install -y php8.4-cli php8.4-mysqli php8.4-mbstring php8.4-bcmath php8.4-curl
apt install -y build-essential libncurses-dev libssl-dev bc flex bison dwarves rsync libelf-dev
apt install -y autoconf libtool pkg-config libpcap-dev libnfnetlink-dev libbpf-dev libdbus-1-dev 
apt install -y libvirt-dev libxml2-dev uuid-dev clang

після чого просто клонуємо його поточну гілку собі:

git clone https://github.com/nightflyza/PureNAS.git /etc/PureNAS

вмикаємо автоматичний старт при запуску

cp -R /etc/PureNAS/dist/purenas.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable purenas.service

розгортаємо пресет автоматичних тюнячок

cp -R /etc/PureNAS/dist/99-nat-tuning.conf /etc/sysctl.d/
sysctl -p /etc/sysctl.d/99-nat-tuning.conf

Компілюємо rscriptd

wget http://ubilling.net.ua/stg/stg-2.409.tar.gz
tar zxvf stg-2.409.tar.gz
cd stg-2.409/projects/rscriptd/
./build 
/usr/bin/gmake install

розгортаємо заготовки конфігів та скриптів ініціалізації користувачів

cp -R /etc/PureNAS/dist/rscriptd/* /etc/rscriptd/

Налаштування PureNAS

Всі налаштування PureNAS відбуваються в одному єдиному файлі /etc/PureNAS/purenas.conf. Для зображеного на схемі прикладу всі важливі налаштування, які базово треба модифікувати, будуть виглядати якось так:

LAN_IF="enp0s3"
WAN_IF="enp0s8"
 
USER_NET="172.16.0.0/17"
USER_GATEWAY_IP="172.16.0.1/17"
FORCE_ASSIGN_GATEWAY_IP="YES"
 
WAN_IP="1.2.3.5/24"
WAN_DEFAULT_ROUTE="1.2.3.4"
 
SHAPER_ENABLED="YES"
 
NAT_ENABLED="YES"
 
RSCRIPTD_ENABLED="YES"

Налаштування rscriptd

/etc/rscriptd/rscriptd.conf
ExecutersNum=4
ConfigDir=/etc/rscriptd
Password=тут_ваш_пароль_rscriptd_з_stargazer.conf
Port=9999
UserTimeout=3600
ScriptOnConnect=/etc/rscriptd/OnConnect
ScriptOnDisconnect=/etc/rscriptd/OnDisconnect
/etc/rscriptd/dbconfig.conf
host = 1.2.3.6
port = 3306
username = somelogin
password = somepassword
database = stg

З боку Ubilling-a

Перед першим використанням, переконайтеся, що з боку сервера білінгу, в /etc/stargazer.conf присутня розкоментована секція вигляду

<Module remote_script>
SendPeriod = 10
SubnetFile =/etc/stargazer/remote_nas.conf
Password = тут_ваш_пароль_rscriptd
UserParams=Cash Tariff
Port = 9999
</Module>

Також потрібні увімкнені опції RESET_AO та STGNASHUP у billing.ini для запобігання проблемам із реініціалізацією користувачів на віддалених NAS.

Також варто додати ваш сервер rscriptd в табличку безпечних хостів у firewall.conf з боку вашого біллінгу, якось ось так

${FwCMD} table 22 add 1.2.3.5

Про створення користувача з віддаленим доступом до бази

CREATE USER 'somelogin'@'%' IDENTIFIED BY 'somepassword';
GRANT ALL PRIVILEGES ON *.* TO 'somelogin'@'%' WITH GRANT OPTION;

Запуск PureNAS

Робиться однією командою: /etc/PureNAS/init та виглядає наступним чином

__________                      _______      _____    _________
\______   \__ _________   ____  \      \   /  _  \  /   _____/
|     ___/  |  \_  __ \_/ __ \ /   |   \  /  /_\  \ \_____  \ 
|    |   |  |  /|  | \/\  ___//    |    \/    |    \/        \
|____|   |____/ |__|    \___  >____|__  /\____|__  /_______  /
                             \/        \/         \/        \/ 

== Initializing PureNAS ==
== Loading kernel modules ==
== Reapplying sysctl settings ==
== Sysctl settings reapplied ==
== DONE ==
== Enabling IP forwarding ==
== Configuring interfaces ==
== Enabling internal interface enp0s3 ==
== Assigning gateway IP(s) to enp0s3 ==
== Configuring firewall ==
== Cleaning up existing firewall configuration ==
== Configuring user networks ==
== Configuring user gateways ==
== Configuring banned hosts ==
== Configuring allowed DNS servers ==
== Configuring protected ports ==
== Configuring safe zones ==
== Configuring DNS restrictions for user network ==
== Configuring allowed always hosts ==
== Configuring user isolation ==
== Configuring blocked incoming ports ==
== Configuring blocked outgoing ports ==
== Configuring default firewall block policy for inactive users ==
== Configuring NAT ==
== Configuring shaper ==
== Cleaning up existing shaper configuration ==
== Loading kernel modules ==
== Created interface ifb0 ==
== Using enp0s3 as user gateway ==
== Initializing hash table structure ==
== Shaper configuration complete ==
== Starting rscriptd ==
== FINISHED ==

Як перевірити, чи користувачів ініціалізовано? Ну хоча б якось так:

purenasrscriptd.1768238312.txt.gz · Востаннє змінено: 2026/01/12 19:18 повз nightfly