ipfw без пересборки ядра?

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

ipfw без пересборки ядра?

Непрочитанное сообщение Гость » 2010-12-18 12:00:24

Добрый день!
Хочу поставить файервол ipfw.
Читаю:
Итак. Для включения файрволла придётся пересобрать ядро со следующими опциями:
Возможно ли поставить файервол без пересборки ядра?
Спасибо!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
vadim64
майор
Сообщения: 2098
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: ipfw без пересборки ядра?

Непрочитанное сообщение vadim64 » 2010-12-18 12:23:17

можно

P.S.: грузи модулем. кто то писал что так будет меньше возможность конфигурирования.
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.

Аватара пользователя
Dog
лейтенант
Сообщения: 723
Зарегистрирован: 2006-09-21 10:34:36
Откуда: Kharkiv, Ukraine
Контактная информация:

Re: ipfw без пересборки ядра?

Непрочитанное сообщение Dog » 2010-12-18 12:31:44

Можно. Подключением модуля файрвола:

Код: Выделить всё

kldload ipfw
Если требуется kernel nat, divert или dummynet, то подгружаете соответствующие модули, например для nat'а:

Код: Выделить всё

kldload libalias
kldload ipfw_nat
для диверта:

Код: Выделить всё

kldload ipdivert
для dummynet'а:

Код: Выделить всё

kldload dummynet
Для ната еще можно подгрцзить модули определенных протоколов (чтобы, например, из-за nat'а корректно работал active ftp, pptp и всякое другое разное - см. каталог ls /boot/kernel | grep alias):

Код: Выделить всё

kldload alias_ftp
kldload alias_pptp
Только будьте осторожны с файрволом, после подгрузки модуля он автоматом установится в режим блокирования, так что если будете делать удаленно или просто не хотите, чтобы сразу отрубилась сетка, нужно будет сообразить конструкцию вроде

Код: Выделить всё

kldload ipfw && ipfw add 65530 allow ip from any to any
Да, учтите что это все актуально для FreeBSD последних версий (у меня сейчас 8.2-PRERELEASE, на 8.1 вроде работает, на более ранних - не скажу, возможно какие-то модули просто не существуют, тогда однозначно потребуется пересборка).
Oh my God, they killed init! Bastards!

icb
лейтенант
Сообщения: 741
Зарегистрирован: 2008-07-15 16:11:11

Re: ipfw без пересборки ядра?

Непрочитанное сообщение icb » 2010-12-18 17:15:16

Из соседней ветки
но если вам нужен fwd то он включается только пересборкой ядра

snorlov
подполковник
Сообщения: 3741
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: ipfw без пересборки ядра?

Непрочитанное сообщение snorlov » 2010-12-19 19:06:31

Все, что описал Dog работает начиная с 7-ой версии точно, если вы хотитет загружать данные модули автоматом , а не ручками надо добавить соответствующие строки в /boot/loader.conf

Код: Выделить всё

ipfw_load="YES"

icb
лейтенант
Сообщения: 741
Зарегистрирован: 2008-07-15 16:11:11

Re: ipfw без пересборки ядра?

Непрочитанное сообщение icb » 2010-12-20 16:53:16

Так получается, что не все возможности доступны без пересборки ядра?

Гость
проходил мимо

Re: ipfw без пересборки ядра?

Непрочитанное сообщение Гость » 2010-12-20 17:01:31

да не все
кроме IPFIREWALL_FORWARD
IPDIVERT кстати тоже не доступен
если вы пользуетесь ipfw add divert natd итд

snorlov
подполковник
Сообщения: 3741
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: ipfw без пересборки ядра?

Непрочитанное сообщение snorlov » 2010-12-20 17:21:15

Гость писал(а):да не все
кроме 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

Код: Выделить всё

firewall_enable="yes"
mpd_enable="yes"
ну и наконец uname -a

Код: Выделить всё

 ... 7.2-RELEASE-p8 #0: ... /usr/obj/usr/src/sys/GENERIC i386

Гость
проходил мимо

Re: ipfw без пересборки ядра?

Непрочитанное сообщение Гость » 2010-12-20 17:23:33

я про нат ничего не говорил
а диверта во фре два
один уже на уровне ng_

Аватара пользователя
Dog
лейтенант
Сообщения: 723
Зарегистрирован: 2006-09-21 10:34:36
Откуда: Kharkiv, Ukraine
Контактная информация:

Re: ipfw без пересборки ядра?

Непрочитанное сообщение Dog » 2010-12-23 0:42:40

Гость писал(а):да не все
кроме 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 доступен, когда загружается модулем.
Oh my God, they killed init! Bastards!