Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

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

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

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

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

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


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

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

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

Code Block
languagebash
/etc/init.d/shaper_start.sh start

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

Code Block
languagebash
# 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 ) :

    Code Block
    languagebash
    $conf{NETBLOCK_FW_ADD_CMD} = '/sbin/ipset add  netblock %IP';
    $conf{NETBLOCK_FW_DEL_CMD} = '/sbin/ipset del  netblock %IP';


  • Запускаем скриптом обновление и блокировку :

    Code Block
    languagebash
    # UABlock в данном случае
    /usr/abills/libexec/billd netblock TYPE=uablock ACTIVE_BLOCK=1  IPFW_BLOCK=1


  • Запускаем шейпинг :

    Code Block
    languagebash
    /etc/init.d/shaper_start.sh start


FreeBSD

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

    Code Block
    languagebash
    ${abills_netblock}="YES" #Включение блокировки
    ${abills_netblock_redirect_ip}="127.0.0.1"; # айпи адрес для перенаправления


  • Для FreeBSD для ipfw создается таблица с номером 13 в шейпере :

    Code Block
    languagebash
    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 ) :

    Code Block
    languagebash
    $conf{NETBLOCK_FW_ADD_CMD} = '/sbin/ipfw table 13 add %IP';
    $conf{NETBLOCK_FW_DEL_CMD} = '/sbin/ipfw table 13 delete %IP';


  • Запускаем скриптом обновление и блокировку :

    Code Block
    languagebash
    # UABlock в данном случае
    /usr/abills/libexec/billd netblock TYPE=uablock ACTIVE_BLOCK=1  IPFW_BLOCK=1


  • Запускаем шейпинг :

    Code Block
    languagebash
    /etc/init.d/shaper_start.sh start