Это старая версия документа.


shaper_start.sh

Программа для инициализации шейпера и управления фаерволом для OS FreeBSD

Установка

# cp  /usr/abills/misc/freebsd/shaper_start.sh /usr/local/etc/rc.d/

аргументы программы

start [test] включить шейпер
stop [test] Отключить шейпер
test Включить шейпер на 10 минут. Сделано с целью тестирования и предотвращения блокировки сервера

Список rc.conf параметров для шейпера

abills_shaper_enable=«YES» Включить шейпер. При включении шейпера удаляются все поточные настройки фаервола и устанавливаются только те которые прописаны для shaper_start.sh.
Если нужно добавить дополнительные параметры их стоит внести в файл /etc/fw.conf
abills_shaper_if=«em0» интерфейс шейпера (по умолчанию ng* )
abills_nas_id=«»
abills_ip_sessions=«» лимитирование количества IP сеcсий для клиента
abills_nat=«EXTERNAL_IP:INTERNAL_IPS,INTERNAL_IPS2:NAT_IF» Включение NAT

EXTERNAL_IP - IP адрес интерфейса смотрящего в интернет. Если параметр не указан система автоматически первый адрес с интерфейса маршрутизации по умолчанию
INTERNAL_IPS - Пул адресов которым разрешён доступ в интернет
INTERNAL_IPS2 - Второй пул адресов которым разрешён доступ в интернет
NAT_IF - имя интерфейса смотрящего в интернет. Если параметр не указан система автоматически определяет интерфейс маршрутизации по умолчанию
abills_dhcp_shaper=«» Включить IPoE шейпер. Тольк если у ВАс установлен модуль FreeRADIUS DHCP
abills_neg_deposit=«» Включение пере направления на портал при израсходовано депозите
abills_portal_ip=«me» IP адрес портала. По умолчанию me
abills_mikrotik_shaper=«» поднятие правил шейпера на Mikrotik серверах доступа, аргумент номера серверов доступа
abills_ipn_nas_id=«1» Номер IPN сервера доступа
abills_ipn_if=«» Интерфейс для IPN шейпера
abills_ipn_allow_ip=«» список адресов разрешенных без авторизации
abills_squid_redirect=«YES» Включение перенаправления на прокси сервер все трафика в 40 таблице.
Для работы с перенаправления пользователей нужно указать в фильтре тарифного плана или в фильтре учётной записи занесение IP в 40 таблицу.
настройка squid версии 2.6 и выше:
squid.conf
http_port 192.168.0.1:3128 transparent

Шейпер ng_car
При использовании шейпера ng_car в abills/libexec/config.pl добавте $conf{ng_car}=1;

Шейпер DUMMYNET
При использовании шейпера DUMMYNET в abills/libexec/config.pl ничего добавлять не надо

Дополнительные параметры

2 внешних канала

GW2_IF_IP="192.168.0.2"        # IP адрес второго интерфейса смотрящего в интернет
GW2_IP="192.168.0.1"           # IP адрес второго шлюза
GW2_REDIRECT_IPS="10.0.0.0/24" # Пул адресов которым разрешён доступ в интернет по второму каналу

Внесение дополнительных правил в фаервол

Для внесения дополнительных правил в фаервол нужно занести в их в файл /etc/fw.conf и прописать в /etc/rc.conf

firewall_type="/etc/fw.conf"

Правила вносятся в таком формате

add 10 allow ip from any to 10.0.0.1 via em0
add 12 allow ip from 10.0.0.1 to any via em0

NAT

для работы NAT необходимо скомпилировать ядро системы с опцией :

options         IPFIREWALL_NAT

Таблици NAT

33 Таблица с исходящими IP адреса
34 Таблица с внутренними IP адреса

Активация нетблок

Номера правил

115 перенаправление на страницу предупреждения
116 Блокировка ресурса

таблицы

13 Адреса для блокировки

Временный доступ для пополнения

Правило

120 Открытие временного доступа для пополнения счета
121 Открытие временного доступа для пополнения счета

таблицы

16 Адреса клиентов с временным доступом. Аргумент передается как UID
    ${IPFW} add 120 allow all from "table(13)" to any via ${IF}
    ${IPFW} add 121 allow all from any to "table(13)" via ${IF}

Дополнительно