Skip to end of metadata
Go to start of metadata

Установка и включение модуля

На биллинг сервере выполняем следующее :

cd /usr/abills/
mysql -D abills < db/Netblock.sql

В config.pl биллинга включаем модуль :

vim /usr/abills/libexec/config.pl
# config.pl
@MODULES = (
 'Netblock'
);  

Настройка в зависимости от операционной системы

  • FreeBSD - используется ipfw
  • Linux - используется iptables + ipset

Работу шейпера и правила обработки/блокировки обеспечивает скрипт shaper_start.sh

/etc/init.d/shaper_start.sh start

Скачиваем нужный нам блоклист :

# UABlock
/usr/abills/libexec/billd netblock TYPE=uablock FETCH=1
# Роскомнадзор
/usr/abills/libexec/billd netblock TYPE=rkn FETCH=1
# Список ограниченного доступа, BY list (Беларусь)
/usr/abills/libexec/billd netblock TYPE=byblock FETCH=1


В зависимости от операционной системы, нужно произвести следующие действия :

Linux

  • Установить  ipset
  • Прописать в конфиге биллинга ( /usr/abills/libexec/config.pl ) :

    $conf{NETBLOCK_FW_ADD_CMD} = '/sbin/ipset add  netblock %IP';
    $conf{NETBLOCK_FW_DEL_CMD} = '/sbin/ipset del  netblock %IP';
  • Запускаем скриптом обновление и блокировку :

    # UABlock в данном случае
    /usr/abills/libexec/billd netblock TYPE=uablock ACTIVE_BLOCK=1  IPFW_BLOCK=1
  • Запускаем шейпинг :

    /etc/init.d/shaper_start.sh start

FreeBSD

  • Включаем автозапуск в /etc/rc.conf :

    ${abills_netblock}="YES" #Включение блокировки
    ${abills_netblock_redirect_ip}="127.0.0.1"; # айпи адрес для перенаправления
  • Для FreeBSD для ipfw создается таблица с номером 13 в шейпере :

    fwcmd="/sbin/ipfw"
    nat_interface="igb0"
    ...
    ...
    ${fwcmd} add deny all from any to "table(13)" via ${nat_interface}
    cat /usr/abills/var/db/netblock/ip_list |
    {
    while read ip
    do
    ${fwcmd} table 13 add $ip
    done
    }
    ...
    ...
  • В конфиге биллинга прописываем опции ( /usr/abills/libexec/config.pl ) :

    $conf{NETBLOCK_FW_ADD_CMD} = '/sbin/ipfw table 13 add %IP';
    $conf{NETBLOCK_FW_DEL_CMD} = '/sbin/ipfw table 13 delete %IP';
  • Запускаем скриптом обновление и блокировку :

    # UABlock в данном случае
    /usr/abills/libexec/billd netblock TYPE=uablock ACTIVE_BLOCK=1  IPFW_BLOCK=1
  • Запускаем шейпинг :

    /etc/init.d/shaper_start.sh start
  • No labels