Установка и включение модуля
На биллинг сервере выполняем следующее :
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