Prerequisites
Для тарифного плана должны быть указаны :
- интервалы
- класс трафика, скорость
- фильтр негативного депозита = RAD:Mikrotik-Address-List=negative
На микротике :
___BILLING_IP___ — > abills billing IP address, внешний/белый
ether1 — > mikrotik IP address, внешний/белый
Перенаправляем исходящий траффик на айпи биллинга , порт 81 (по умолчанию на него настроен negative balance apache VirtualHost )
- идущий на порты 80,443,843,27000-27036,4380,3478,4379,1500,3005,3101,28960,8000-8899
- идущий с адресов negative
- идущий на адреса которые не являются crb_trust_negbal_list
- идущий не на порт 9443
- при этом включаем логгирование перенаправления с префиксом 11 (необязательно)
Правила :
2 - общий маскарадинг
3 - маскарадинг для ТП с ID=2 в биллинге
Создаются автоматически после запуска переинициализации шейпера Микротика комадной :
/usr/abills/libexec/billd checkspeed mikrotik RECONFIGURE=1 NAS_IDS=айди_НАС_в_биллинге
Flags: X - disabled, I - invalid, D - dynamic 0 chain=srcnat action=masquerade out-interface=ether1 log=no log-prefix="" 1 chain=dstnat action=dst-nat to-addresses=___BILLING_IP___ to-ports=81 protocol=tcp dst-address=0.0.0.0/0 src-address-list=negative dst-address-list=!crb_trust_negbal_list dst-port=!9443 port=80,443,843,27000-27036,4380,3478,4379,1500,3005,3101,28960,8000-8899 log=yes log-prefix="11" 2 ;;; ABillS Masquerade CUSTOM chain=srcnat action=masquerade src-address-list=CUSTOM_SPEED 3 ;;; ABillS Masquerade TP_2 chain=srcnat action=masquerade src-address-list=CLIENTS_2
100.69.0.2 —> IP address клиента с негативным балансом
8.8.8.8, 8.8.4.4 —> в данной схеме, IP adresses ДНС серверов для которых предоставляется доступ
Flags: X - disabled, D - dynamic # LIST ADDRESS CREATION-TIME TIMEOUT 0 TRAFFIC_CLASS_1 0.0.0.0/0 apr/25/2019 16:23:55 1 negative 100.69.0.2 apr/26/2019 01:38:08 2 crb_trust_negbal_list 8.8.8.8 apr/26/2019 10:20:35 3 crb_trust_negbal_list 8.8.4.4 apr/26/2019 10:20:44 4 crb_trust_negbal_list ___BILLING_IP___ apr/26/2019 10:25:56 ... 6 CUSTOM_SPEED 8.8.8.8 apr/26/2019 10:44:08 7 CUSTOM_SPEED 8.8.4.4 apr/26/2019 10:44:19 8 CUSTOM_SPEED ___BILLING_IP___ apr/26/2019 10:44:28 ...
В скрипте добавлен код после строки 680 ( блок elsif( $ACTION eq 'guest') {...} )
else { push @commands, qq{/ip firewall address-list add list=negative address=$attr->{CLIENT_IP} }; }