Страница 1 из 1
ipfw без пересборки ядра?
Добавлено: 2010-12-18 12:00:24
Гость
Добрый день!
Хочу поставить файервол ipfw.
Читаю:
Итак. Для включения файрволла придётся пересобрать ядро со следующими опциями:
Возможно ли поставить файервол без пересборки ядра?
Спасибо!
Re: ipfw без пересборки ядра?
Добавлено: 2010-12-18 12:23:17
vadim64
можно
P.S.: грузи модулем. кто то писал что так будет меньше возможность конфигурирования.
Re: ipfw без пересборки ядра?
Добавлено: 2010-12-18 12:31:44
Dog
Можно. Подключением модуля файрвола:
Если требуется kernel nat, divert или dummynet, то подгружаете соответствующие модули, например для nat'а:
для диверта:
для dummynet'а:
Для ната еще можно подгрцзить модули определенных протоколов (чтобы, например, из-за nat'а корректно работал active ftp, pptp и всякое другое разное - см. каталог
ls /boot/kernel | grep alias):
Только будьте осторожны с файрволом, после подгрузки модуля он автоматом установится в режим блокирования, так что если будете делать удаленно или просто не хотите, чтобы сразу отрубилась сетка, нужно будет сообразить конструкцию вроде
Код: Выделить всё
kldload ipfw && ipfw add 65530 allow ip from any to any
Да, учтите что это все актуально для FreeBSD последних версий (у меня сейчас 8.2-PRERELEASE, на 8.1 вроде работает, на более ранних - не скажу, возможно какие-то модули просто не существуют, тогда однозначно потребуется пересборка).
Re: ipfw без пересборки ядра?
Добавлено: 2010-12-18 17:15:16
icb
Из соседней ветки
но если вам нужен fwd то он включается только пересборкой ядра
Re: ipfw без пересборки ядра?
Добавлено: 2010-12-19 19:06:31
snorlov
Все, что описал Dog работает начиная с 7-ой версии точно, если вы хотитет загружать данные модули автоматом , а не ручками надо добавить соответствующие строки в /boot/loader.conf
Re: ipfw без пересборки ядра?
Добавлено: 2010-12-20 16:53:16
icb
Так получается, что не все возможности доступны без пересборки ядра?
Re: ipfw без пересборки ядра?
Добавлено: 2010-12-20 17:01:31
Гость
да не все
кроме IPFIREWALL_FORWARD
IPDIVERT кстати тоже не доступен
если вы пользуетесь ipfw add divert natd итд
Re: ipfw без пересборки ядра?
Добавлено: 2010-12-20 17:21:15
snorlov
Гость писал(а):да не все
кроме IPFIREWALL_FORWARD
IPDIVERT кстати тоже не доступен
если вы пользуетесь ipfw add divert natd итд
А почему тогда у меня работает, и divert и nat и mpd, может потому, что в /boot/loader.conf
Код: Выделить всё
geom_journal_load="yes"
libalias_load="yes"
ipfw_load="yes"
ipfw_nat_load="yes"
dummynet_load="yes"
ipdivert_load="yes"
wlan_xauth_load="yes"
netgraph_load="yes"
rc4_load="yes"
ng_ether_load="yes"
ng_tee_load="yes"
ng_socket_load="yes"
ng_mppc_load="yes"
а /etc/rc.conf
ну и наконец uname -a
Код: Выделить всё
... 7.2-RELEASE-p8 #0: ... /usr/obj/usr/src/sys/GENERIC i386
Re: ipfw без пересборки ядра?
Добавлено: 2010-12-20 17:23:33
Гость
я про нат ничего не говорил
а диверта во фре два
один уже на уровне ng_
Re: ipfw без пересборки ядра?
Добавлено: 2010-12-23 0:42:40
Dog
Гость писал(а):да не все
кроме IPFIREWALL_FORWARD
IPDIVERT кстати тоже не доступен
если вы пользуетесь ipfw add divert natd итд
Код: Выделить всё
dog@dog:~> uname -rsm
FreeBSD 8.2-PRERELEASE amd64
Код: Выделить всё
dog@dog:~> man divert
DIVERT(4) FreeBSD Kernel Interfaces Manual DIVERT(4)
NAME
divert — kernel packet diversion mechanism
SYNOPSIS
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int
socket(PF_INET, SOCK_RAW, IPPROTO_DIVERT);
To enable support for divert sockets, place the following lines in the
kernel configuration file:
options IPFIREWALL
options IPDIVERT
Alternatively, to load divert as a module at boot time, add the following
lines into the loader.conf(5) file:
ipfw_load="YES"
ipdivert_load="YES"
...
Вполне себе divert доступен, когда загружается модулем.