Skip to end of metadata
Go to start of metadata

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=айди_НАС_в_биллинге

/ip firewall nat print
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 ДНС серверов для которых предоставляется доступ


/ip firewall adress-list print
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') {...} )

/usr/abills/libexec/linkupdown
  else {
    push @commands, qq{/ip firewall address-list add list=negative address=$attr->{CLIENT_IP} };
  }

  • No labels