Има ли живот без RADIUS

LanBilling 2.0 се използва като таксуване - има добра поддръжка за активиране, деактивиране, редактиране, създаване и изтриване на абонатни събития. Всяка система с подобен механизъм за събития ще отговаря на тази роля с модификации.

Подготовка на MikroTik RouterOS

това

Цялото взаимодействие с RouterOS се осъществява чрез API. Първо, трябва да създадете специален потребител на рутера, под който ще се извършва дистанционно управление, със следните данни за достъп:

  • вход: api
  • Парола: API
  • Достъп само от сървър за таксуване: 192.0.2.2

radius

  • Първото правило е да позволите на всички абонати без изключение да използват избрани ресурси. Например, това може да е външен DNS сървър, фирмен сайт или мрежа на партньор.

# Пълен достъп до избрани ресурси /ip firewall filter add chain=forward \ dst-address-list=permited-destinations \ out-interface=ether-wan

# Блокиране на популярни ресурси, които не са необходими за плащане /ip firewall layer7-protocol add name=social-networks \ regexp=vk.commail.ruok.ru # Пускане на абонатите през процеса на плащане към https ресурси /ip firewall filter add chain=forward \ dst-port=443 \ layer7-protocol=!social-networks \ out-inter face=ether-wan \ protocol=tcp \ src-address-list=payers-list

  • След това трябва да блокирате достъпа до интернет на абонати, които не са платили за услугата. Таксуването по време на блокиране добавя IP адреса на абоната към списъка с блокирани адреси.

# Блокиране на неизпълнени /ip филтър за защитна стена add action=reject chain=forward \ out-interface=ether-wan \ reject-with=icmp-admin-prohibited \ src-адрес-списък=блокиран

  • Горните правила в предната верига са достатъчни за предоставяне на услуга за достъп до Интернет. Освен това можете да добавите няколко правила към веригата за въвеждане, за да ограничите достъпа до рутера и да осигурите допълнителен слой на сигурност.

Освен това, ако е необходимо, можете да активирате услугата PPPoE / PPTP / L2TP - командите за създаване на акаунти се получават от таксуването в секцията /ppp secret. Всичко по-горе ще работи с тунелни протоколи без модификации, което увеличава гъвкавостта на решението.

Подготовка на фактурирането

Подготовката на таксуването, в този случай ще бъде Lanbilling, се състои в писане на скриптове за обработка на събитията за активиране, деактивиране, създаване, изтриване и редактиране на абонатен акаунт. Освен това трябва да се уверите, че LBarcd агентът обработва акаунтите.

Като начало, таксуването трябва да посочи за кои събития и кои скриптове се използват. Тези опции са посочени в конфигурационния файл /etc/billing.conf.LBarcd. Конфигурационният файл се отнася до RADIUS агента LBarcd, който в този случай е необходим само за регистриране на събития и изпълнение на скрипта, свързан със събитието. Всеки скрипт се извиква с определен набор от параметри, за всеки скрипт наборът е един и същ:

Конфигурационният файл за събитие на агент може да бъде изтеглен от хранилището на github.

Всеки скрипт за събитие включва функционална библиотека, която от своя страна използва PHP клас за работа с RouterOS чрез API. Изходният код за всеки скрипт, библиотеките с функции и класът за работа с API са налични в хранилището на github.

След извършване на промени в billing.conf.LBarcd, редактиране на скриптове за събития и поставяненеобходимите файлове в правилните директории, системата е готова за работа. Абонатите, които са платили за услугата, работят в Интернет и изтеглят файлове по тарифа. Блокираните абонати имат достъп само до локалната мрежа и разрешените ресурси.

Достъп до интернет срещу заплащане

radius
radius

За да направите това, трябва да направите малка редакция на изходния код в личния акаунт на потребителя, всичко останало вече е конфигурирано - списък с адреси на платците в MikroTik и допълнителната функция allow_payment в библиотеката functions.php.

В този случай Yandex.Checkout се използва за приемане на онлайн плащания, така че ние ще редактираме файла /usr/local/billing/phpclient/client2/client/components/payment/yandex/Payment_Yandex_Pay.php в метода за обработка на кликването върху бутона „Плащане“ в личния акаунт на потребителя.

Трябва да вмъкнете ред

Освен това в скрипта за активиране е необходимо да се предвиди случай, когато абонатът злоупотребява и често включва достъп. Злоупотребата може да бъде предотвратена, например, като се регистрира всеки опит за достъп до временен файл. Този файл се изтрива веднъж седмично. Всъщност може да има много опции, включително използване на база данни. Тук всеки изпълнява както намери за добре.

Заключение

С други думи, ако имате по-малко от 3000 абонати и търсите просто, надеждно решение за контрол на достъпа до интернет, тогава опцията, описана в статията, може да бъде чудесен избор.