Для того чтобы PF включился сразу после инсталляции ядра и перезагрузки, добавляем строки в
После этого можно приступать к редактированию конфига ядра.
Если в корневом каталоге отсутствует символическая ссылка /sys то её нужно создать самому:
/etc/rc.conf:pf_enable="YES" # Включить PF (загрузить модуль если необходимо) pf_rules="/etc/pf.conf" # определение правил для pf pf_flags="" # дополнительные флаги для запуска pfctl pflog_enable="YES" # запустить pflogd(8) pflog_logfile="/var/log/pflog" # где pflogd должен сохранять протокол pflog_flags="" # дополнительные флаги для запуска pflogd
Если за межсетевым экраном находится локальная сеть и необходимо передавать пакеты для компьютеров этой сети, или использовать NAT, включите также следующий параметр:
gateway_enable="YES" # Включить сетевой шлюз
Если в корневом каталоге отсутствует символическая ссылка /sys то её нужно создать самому:
#ln -s /usr/src/sys /sys
Затем, перейдите в каталог
arch/conf и скопируйте файл конфигурации GENERIC в файл с выбранным вами именем. Например:#cd /usr/src/sys/i386/conf#cp GENERICNEWKERNEL
Подсказка:
Помещение файла конфигурации ядра в /usr/src может быть плохой идеей. Если вы испытываете проблемы, их можно решить удалив /usr/src и начав все с начала. После этого обычно требуется несколько секунд, чтобы понять, что вы удалили собственный файл настройки ядра. Не редактируйте непосредственно GENERIC, он может быть также перезаписан и при следующем обновлении дерева исходных текстов, и изменения ядра будут потеряны.
Вы можете сохранить файл конфигурации ядра в другом месте, а затем создать символическую ссылку на этот файл в каталоге i386.
Например:
# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/NEWKERNEL
# ln -s /root/kernels/NEWKERNEL
В файле NEWKERNEL нужно добавить строки:
device pf device pflog device pfsync
и для включения ALTQ добавляем:
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
options ALTQ включает подсистему ALTQ.options ALTQ_CBQ включает Class Based Queuing (CBQ). CBQ позволяет распределять пропускную способность соединений по классам или очередям для выставления приоритетов трафика на основе правил фильтрации.options ALTQ_RED включает Random Early Detection (RED). RED используется для предотвращения перегрузки сети. RED вычисляет длину очереди и сравнивает ее с минимальным и максимальным значением длины очереди. Если очередь превышает максимум, все новые пакеты будут отброшены. В соответствии со своим названием, RED отбрасывает пакеты из различных соединений в произвольном порядке.options ALTQ_RIO включает Random Early Detection In and Out.options ALTQ_HFSC включает Hierarchical Fair Service Curve Packet Scheduler. Дополнительная информация о HFSC находится по адресу: http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html.options ALTQ_PRIQ включает Priority Queuing (PRIQ). PRIQ всегда первым пропускает трафик из очереди c более высоким приоритетом.options ALTQ_NOPCC включает поддержку SMP для ALTQ. Эта опция необходима для SMP систем.
Теперь сама компиляция:
# cd /usr/src
#make buildkernel KERNCONF=NEWKERNEL
#make installkernel KERNCONF=NEWKERNEL
После чего перезагружаемся и у нас уже ядро с вкомпилированным PF и ALTQ.
Немає коментарів:
Дописати коментар