В новых версиях FreeBSD уже многое по дефолту работает и не требует добавления но переношу старую статью как было (может чуток подправил)
Опции ядра
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_PRIQ
options ALTQ_NOPCC
Я подразумеваю что все знают как пере-собрать ядро и т.д.
Создаём мост
ifconfig bridge0 create
ifconfig bridge0 addm rl0 addm xl0
ifconfig bridge0 up
Удалять интерфейсы из моста можно таким образом
ifconfig bridge0 deletem xl0
Вносим изменения в rc.conf
cloned_interfaces="bridge0"
ifconfig_bridge0="addm rl0 addm xl0 up"
ifconfig_rl0="inet 192.168.0.1 netmask 255.255.255.0 up"
ifconfig_xl0="up"
Фильтрация пакетов
Это определяют переменные sysctl
фильтрация на физических интерфейсах
sysctl net.link.bridge.pfil_member=1
фильтрация на виртуальном интерфейсе
sysctl net.link.bridge.pfil_bridge=1
Для параноиков рекомендую оба выставить в "1"
Просмотреть таблицы коммутации
ifconfig bridge0 addr
Установка размера таблицы адресов
ifconfig bridge0 maxaddr 200
Установка времени в секундах сколько адреса будут в таблице
ifconfig bridge0 timeout 2000
Очистка таблицы адресов
ifconfig bridge0 flush
Очистка всех адресов
ifconfig bridge0 flushall
Добавление статической записи в таблицу
ifconfig bridge0 static re0 01:12:23:34:45:56
Удаление адреса из таблицы
ifconfig bridge0 deladdr 01:12:23:34:45:56
Атрибут learning на интерфейсе указывает создаётся или нет динамические таблицы адресов
ifconfig bridge0 learn rl0
ifconfig bridge0 -learn rl0
STP протокол
ifconfig bridge0 stp rl0
ifconfig bridge0 -stp rl0
В общем то как OpenBSD отказалась от использования ALTQ то это нацелено скорее на старые сервера которые ещё работаю но есть правило (работает - не надо трогать) Соответственно хочешь сделать лучше - сделай всё сам сначала
######## ALTQ
altq on $spinif priq bandwidth 512Kb queue {std_spin, buyers, director, reg_managers, self}
queue std_spin on $spinif priq(default)
queue buyers priority 6 priq(red)
queue director priority 8
queue reg_managers priority 10
queue self priority 15#shaping for fox
altq on $foxif cbq bandwidth 128Kb queue { std_fox }
queue std_fox on $foxif cbq(default)
pass in quick on $spinif from $reg_managers to any flags S/SA keep state queue reg_managers
pass in quick on $spinif from $director to any flags S/SA keep state queue director
pass in quick on $spinif from $buyers to any flags S/SA keep state queue buyers
pass in quick on $spinif from $spinif to any flags S/SA keep state queue self
pass in quick on $spinif from $spinnet to any flags S/SA keep state
Опции ядра
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_PRIQ
options ALTQ_NOPCC
Я подразумеваю что все знают как пере-собрать ядро и т.д.
Создаём мост
ifconfig bridge0 create
ifconfig bridge0 addm rl0 addm xl0
ifconfig bridge0 up
Удалять интерфейсы из моста можно таким образом
ifconfig bridge0 deletem xl0
Вносим изменения в rc.conf
cloned_interfaces="bridge0"
ifconfig_bridge0="addm rl0 addm xl0 up"
ifconfig_rl0="inet 192.168.0.1 netmask 255.255.255.0 up"
ifconfig_xl0="up"
Фильтрация пакетов
Это определяют переменные sysctl
фильтрация на физических интерфейсах
sysctl net.link.bridge.pfil_member=1
фильтрация на виртуальном интерфейсе
sysctl net.link.bridge.pfil_bridge=1
Для параноиков рекомендую оба выставить в "1"
Просмотреть таблицы коммутации
ifconfig bridge0 addr
Установка размера таблицы адресов
ifconfig bridge0 maxaddr 200
Установка времени в секундах сколько адреса будут в таблице
ifconfig bridge0 timeout 2000
Очистка таблицы адресов
ifconfig bridge0 flush
Очистка всех адресов
ifconfig bridge0 flushall
Добавление статической записи в таблицу
ifconfig bridge0 static re0 01:12:23:34:45:56
Удаление адреса из таблицы
ifconfig bridge0 deladdr 01:12:23:34:45:56
Атрибут learning на интерфейсе указывает создаётся или нет динамические таблицы адресов
ifconfig bridge0 learn rl0
ifconfig bridge0 -learn rl0
STP протокол
ifconfig bridge0 stp rl0
ifconfig bridge0 -stp rl0
В общем то как OpenBSD отказалась от использования ALTQ то это нацелено скорее на старые сервера которые ещё работаю но есть правило (работает - не надо трогать) Соответственно хочешь сделать лучше - сделай всё сам сначала
######## ALTQ
altq on $spinif priq bandwidth 512Kb queue {std_spin, buyers, director, reg_managers, self}
queue std_spin on $spinif priq(default)
queue buyers priority 6 priq(red)
queue director priority 8
queue reg_managers priority 10
queue self priority 15#shaping for fox
altq on $foxif cbq bandwidth 128Kb queue { std_fox }
queue std_fox on $foxif cbq(default)
pass in quick on $spinif from $reg_managers to any flags S/SA keep state queue reg_managers
pass in quick on $spinif from $director to any flags S/SA keep state queue director
pass in quick on $spinif from $buyers to any flags S/SA keep state queue buyers
pass in quick on $spinif from $spinif to any flags S/SA keep state queue self
pass in quick on $spinif from $spinnet to any flags S/SA keep state
Комментариев нет:
Отправить комментарий