На биллинг сервере выполняем следующее :
cd /usr/abills/ mysql -D abills < db/Netblock.sql |
В config.pl биллинга включаем модуль :
vim /usr/abills/libexec/config.pl # config.pl @MODULES = ( 'Netblock' ); |
Работу шейпера и правила обработки/блокировки обеспечивает скрипт 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 |
В зависимости от операционной системы, нужно произвести следующие действия :
Прописать в конфиге биллинга ( /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 |
Включаем автозапуск в /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 |