FreeBSD

FreeBSD9: Собираем ядро с поддержкой kernel nat

Для оптимизации работы сервера решил собрать ядро с поддержкой “kernel NAT”, предварительно добавив в него необходимые опции.

Копируем оригинальное ядро:
Для i386

cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/ROUTER

Для amd64

cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/ROUTER

Редактируем конфиг ядра:

ee /usr/src/sys/i386/conf/ROUTER
ee /usr/src/sys/amd64/conf/ROUTER

Добавляем необходимые опции:

#NAT
options	IPFIREWALL			# Включаем фаерволл
options	IPFIREWALL_VERBOSE		# Включаем логирование для фаерволла
options	IPFIREWALL_VERBOSE_LIMIT=1000	# Ограничиваем логи кол-вом строк (1000)
options	IPFIREWALL_NAT			# Включаем поддержку kernel NAT
options	IPFIREWALL_FORWARD		# Перенаправление (форвардинг) пакетов
#options	IPFIREWALL_DEFAULT_TO_ACCEPT	# Правило по умолчанию
options	LIBALIAS			# Необходимо для kernel NAT
options	ROUTETABLES=2			# Поддержка двух таблиц маршрутизации
options	HZ="1000"			# Для DUMMYNET
options	DUMMYNET			# Для Kernel NAT + Ограничение пропускной способности

Меняем в конфиге

ident GENERIC

на

ident ROUTER

Если хотим чтобы фаервол был с разрешающим правилом по умолчанию, убираем # с

options IPFIREWALL_DEFAULT_TO_ACCEPT

Сохраняем конфиг и приступаем к сборке ядра:

cd /usr/src
make buildkernel KERNCONF=ROUTER

По окончанию процесса сборки ядра необходимо его установить:

make installkernel KERNCONF=ROUTER

Когда ядро установлено, можно и перезагрузиться!

shutdown -r now

В FreeBSD10 options IPFIREWALL_FORWARD не нужно добавлять.

Читать тут

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments