Table of Contents |
---|
Установка и включение модуля
На биллинг сервере выполняем следующее :
Code Block | ||
---|---|---|
| ||
cd /usr/abills/ mysql -D abills < db/Netblock.sql |
В config.pl биллинга включаем модуль :
Code Block | ||
---|---|---|
| ||
vim /usr/abills/libexec/config.pl # config.pl @MODULES = ( 'Netblock' ); |
Настройка в зависимости от операционной системы
- FreeBSD - используется ipfw
- Linux - используется iptables + ipset
Работу шейпера и правила обработки/блокировки обеспечивает скрипт shaper_start.sh
Code Block | ||
---|---|---|
| ||
/etc/init.d/shaper_start.sh start |
Скачиваем нужный нам блоклист :
Code Block | ||
---|---|---|
| ||
# 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 language bash $conf{NETBLOCK_FW_ADD_CMD} = '/sbin/ipset add netblock %IP'; $conf{NETBLOCK_FW_DEL_CMD} = '/sbin/ipset del netblock %IP';
Запускаем скриптом обновление и блокировку :
Code Block language bash # UABlock в данном случае /usr/abills/libexec/billd netblock TYPE=uablock ACTIVE_BLOCK=1 IPFW_BLOCK=1
Запускаем шейпинг :
Code Block language bash /etc/init.d/shaper_start.sh start
FreeBSD
Включаем автозапуск в /etc/rc.conf :
Code Block language bash ${abills_netblock}="YES" #Включение блокировки ${abills_netblock_redirect_ip}="127.0.0.1"; # айпи адрес для перенаправления
Для FreeBSD для ipfw создается таблица с номером 13 в шейпере :
Code Block language bash 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 language bash $conf{NETBLOCK_FW_ADD_CMD} = '/sbin/ipfw table 13 add %IP'; $conf{NETBLOCK_FW_DEL_CMD} = '/sbin/ipfw table 13 delete %IP';
Запускаем скриптом обновление и блокировку :
Code Block language bash # UABlock в данном случае /usr/abills/libexec/billd netblock TYPE=uablock ACTIVE_BLOCK=1 IPFW_BLOCK=1
Запускаем шейпинг :
Code Block language bash /etc/init.d/shaper_start.sh start