Опишу здесь некоторые опции которые часто добавляются в ядро.
Описывать всю пересборку ядра не интересно, она включена как часть в эту заметку.
Иногда выгодно включать пуллинг на сетевых карточках.
Пуллинг позволяет уменьшить количество прерываний от сетевой карточки,
т.к. позволяет обрабатывать за одно прервание группу пакетов.
Параметр HZ выставляет частоту просмотра буфера сетевой карточки, подбирается эксперементально..
Примечание: некоторые сетевые реализуют пуллинг на аппаратном уровне и при включении софтового, начинаются жуткие задержки пакетов.
Фаервол PF
фаервол IPFW
NETGRAPH
Дебаг (должен быть включен, чтоб при падении в корку можно было хоть в дампах поковыряться...)
Дополнительные параметры
http://comp-info.ru/articles/300006/
Описывать всю пересборку ядра не интересно, она включена как часть в эту заметку.
Иногда выгодно включать пуллинг на сетевых карточках.
Пуллинг позволяет уменьшить количество прерываний от сетевой карточки,
т.к. позволяет обрабатывать за одно прервание группу пакетов.
Параметр HZ выставляет частоту просмотра буфера сетевой карточки, подбирается эксперементально..
Примечание: некоторые сетевые реализуют пуллинг на аппаратном уровне и при включении софтового, начинаются жуткие задержки пакетов.
### Polling
options HZ=2000
options DEVICE_POLLING
Фаервол PF
### PF
device pf
device pflog #Поддержка логов. Включает псевдоустройство pflog
device pfsync #включает необязательное сетевое псевдоустройство pfsync(4),
#используемое для отслеживания ''изменений состояния''
## Создание и управление очередями
options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build
фаервол IPFW
## IPFW
# включение управление трафиком (pipe, генерация потерь и т.д)
options DUMMYNET
# собственно сам ipfw
options IPFIREWALL
# нужна дляNAT
options IPDIVERT
# нужна для правил fwd
options IPFIREWALL_FORWARD
# логировать пакеты через syslogd и сколько логировать по умолчанию
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=200
# Последнее правило меняется с запрещающего на разрешающее
options IPFIREWALL_DEFAULT_TO_ACCEPT
#### Можно изменить максимальное число таблиц,
#### которые будет использовать IPFW
#### Для этого нужно поменять в файле /usr/src/sys/netinet/ip_fw.h
#### Значение 128 на нужное в строке
#### #define>IPFW_TABLES_MAX 128
IPFW KERNEL NAT
options IPFIREWALL_NAT
options LIBALIAS
NETGRAPH
options NETGRAPH
options NETGRAPH_SOCKET
options NETGRAPH_IPFW
options NETGRAPH_NETFLOW
options NETGRAPH_KSOCKET
options NETGRAPH_NAT
options NETGRAPH_SPLIT
options NETGRAPH_ECHO
options NETGRAPH_ETHER
options NETGRAPH_TEE
options NETGRAPH_BPF
options NETGRAPH_IFACE
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
options NETGRAPH_ONE2MANY
#options NETGRAPH_RFC1490
options NETGRAPH_TTY
options NETGRAPH_UI
options NETGRAPH_TCPMSS
options NETGRAPH_VJC
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_MPPC_COMPRESSION
Дебаг (должен быть включен, чтоб при падении в корку можно было хоть в дампах поковыряться...)
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
Дополнительные параметры
# не менять значение TTL при прохождении пакета через этот роутер
options IPSTEALTH
# options MROUTING # Маршрутизация многоадресного трафика
Увеличение адресного пространства ядра, которое на i386 платформе - 1Гб.
Для увеличения до 2Гб.
На платформе amd64 KVA всегда 2G.
options KVA_PAGES=512
Данная опция в FreeBSD 8.x предназначена для ускорения маршрутизации.
При больших потоках трафика проц вгоняется в полку, поэтому настоятельно рекомендую вырубать ее нафиг, чтоб не наблюдать , как ваш роутер уходит в нирвану...
#options FLOWTABLE # per-cpu routing cache
http://comp-info.ru/articles/300006/
Добавь опцию NETGRAPH_PPPOE без нее dsl не работает.
ОтветитьУдалитьс опцией NETGRAPH_MPPC_COMPRESSION ядро не соберется без дополнительных файлов.
ОтветитьУдалитьНужно скачать архив и распаковать в исходники 3 файла, инструкция здесь wiki.dieg.info/doku.php/mpd
Наверняка утверждать не буду, т.к. не проверял сейчас.
ОтветитьУдалитьПо идее те опции которые указаны должны собираться.
P.S. Возможно зависит от версии FreBSD.