Страница 1 из 1

ipfw не работает после включения

Добавлено: 2012-06-09 10:43:51
paran0id
FreeBSD 9.0 в качестве шлюза, две сетевухи, ipfw. После загрузки/перезагрузки не выпускает клиентов в интернет - требуется перезапуск ipfw. В чём может быть дело?

Re: ipfw не работает после включения

Добавлено: 2012-06-09 12:17:09
snorlov
paran0id писал(а):FreeBSD 9.0 в качестве шлюза, две сетевухи, ipfw. После загрузки/перезагрузки не выпускает клиентов в интернет - требуется перезапуск ipfw. В чём может быть дело?
Коннект в интернет наверное осуществляется поднятием ppp или mpd или еще чем-то похожим, в результате имеем, что на момент старта ipfw нет интерфейса, смотрящего в инет. Используйте скрипты типа up/down, соответствующего демона для перезапуска ipfw и золотой ключик ваш...

Re: ipfw не работает после включения

Добавлено: 2012-06-09 13:39:50
paran0id
Оба интерфейса - обыкновенная локалка, вроде должны быстро подниматься...

В /etc/rc.d/ipfw стоит # REQUIRE: ppp

Можно ли таким же образом заставить его дожидаться поднятия интерфейса rl0, или вообще всех сетевых интерфейсов?

Re: ipfw не работает после включения

Добавлено: 2012-06-09 14:06:30
FreeBSP
я из-за этого отказался от ipfw в пользу pf
последний умеет устанавливать правила, даже если не существует интерфейса
а с ipfw мне видится только решение прописывать загрузку нужных правил в up-down скриптах ppp программы

Re: ipfw не работает после включения

Добавлено: 2012-06-09 14:07:17
snorlov
rc.conf покажи...

Re: ipfw не работает после включения

Добавлено: 2012-06-09 14:17:34
paran0id

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

# cat /etc/rc.conf
hostname="GATE2"
defaultrouter="провайдерский_шлюз"
ifconfig_rl0="inet адрес netmask 255.255.255.248"
ifconfig_nfe0="inet 192.168.1.1 netmask 255.255.255.0"

sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
powerd_enable="YES"

apache22_enable="YES"
mysql_enable="YES"
squid_enable="YES"
sams_enable="YES"
#pureftpd_enable="YES"
proftpd_enable="YES"
ipcad_enable="YES"


firewall_enable="YES"
firewall_type="OPEN"
firewall_script="/etc/ipfw.conf"
# firewall_logging="yes"

gateway_enable="yes"
natd_enable="yes"
natd_interface="rl0"
natd_flags="-f /etc/natd.conf"

Re: ipfw не работает после включения

Добавлено: 2012-06-09 14:25:48
snorlov
Тогда вообще непонятно, что происходит... Ты посмотри, какие правила у тебя грузятся при перезагрузке машины

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

ipfw -a list
и какие имеются, если ipfw перегрузить... Ядро свое или generic?
Да и как перегружаешь ipfw...

Re: ipfw не работает после включения

Добавлено: 2012-06-09 15:17:30
paran0id
Ядро generic, перезапускаю командой /etc/rc.d/ipwf restart

В dmesg вижу

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

ipfw2 (+ipv6) initialized, divert loadable, nat loadable, rule-based forwarding disabled, default to deny, logging disabled
rl0: link state changed to UP
nfe0: link state changed to UP
Т.е. сначала ipfw, а потом уже интерфейсы поднимаются (вообще это правильно, насколько я понял).
На конфиг не ругается, все правила работают как надо.

Еще вопросы:
- как проверить, запущен ли ipfw, если /etc/rc.d/ipfw status он не умеет, и в процессах не отображается?
- как ему log level выставить, чтобы подробнее в лог писал?

Re: ipfw не работает после включения

Добавлено: 2012-06-09 17:07:41
snorlov
Правила, которые через

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

ipfw -a list
после перезагрузки компа, и когда ты перестартуешь комп одинаковы? Если да, то проблема в другом. Раз грешишь на ipfw , то можно пока на этапе отладки выкинуть из rc.conf на этапе отладки squid и все связанное с ним, включая ipcad.

Re: ipfw не работает после включения

Добавлено: 2012-06-09 20:42:05
FreeBSP
ммм
посмотри messages во время загрузки правил для неподнятого интерфейса
он ругнется что нет интерфейса и не применит правило

как мне видится схема
сначала грузятся правила для физических интерфейсов, разрешающие подъем по ним ppp сессии
потом поднимаются ppp интерфейсы
срузу после подъема ppp интерфейса в рулсет добавляются правила для него
- как проверить, запущен ли ipfw, если /etc/rc.d/ipfw status он не умеет, и в процессах не отображается?
если модуль загружен, значит ipfw работает

Re: ipfw не работает после включения

Добавлено: 2012-06-14 8:53:39
paran0id
Я сравнил вывод ipfw -a list сразу после загрузки и после перезапуска ipfw.
Сразу после загрузки нет правил divert, а после перезапуска появляется

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

00900  99 23527 divert 8668 ip from 192.168.1.0/24 to any out via rl0
01000  93 18393 divert 8668 ip from any to внешний_ip in via rl0

Re: ipfw не работает после включения

Добавлено: 2012-06-14 13:48:52
snorlov
Так ли вам критичен natd как демон, попробуйте ядерный nat... Кстати, а может у вас в natd.conf чего не хватает...

Re: ipfw не работает после включения

Добавлено: 2012-06-14 14:41:31
paran0id

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

# cat /etc/natd.conf
log no
log_denied yes
same_ports yes
use_sockets yes
unregistered_only yes
interface rl0
deny_incoming no
natd критичен потому, что на другой машине он работает, а на этой нет, хотя настройки аналогичны. Хочу понять, в чём проблема.

Re: ipfw не работает после включения

Добавлено: 2012-06-14 14:58:44
snorlov
А вы попробуйте не грузить natd, или добавить в rc.conf что-то типа

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

ipfw_nat_enable="no"
. Я хочу сказать, что у вас и ядернвй нат грузиться и демон нат тоже грузится...А там где работает какая версия стоит? кстати disable_one_pass какое значение имеет....

Re: ipfw не работает после включения

Добавлено: 2012-06-14 15:16:29
paran0id
Где работает - FreeBSD 8.2-RELEASE, net.inet.ip.fw.one_pass: 1

Где глючит - net.inet.ip.fw.one_pass: 1

Re: ipfw не работает после включения

Добавлено: 2012-06-17 20:09:12
sergicus
был у меня похожий случай - дело оказалось что в конфиге ядра я забыл указать опцию options IPDIVERT

Re: ipfw не работает после включения

Добавлено: 2012-06-18 9:42:13
paran0id
sergicus, спасибо, пересоберу при случае. Пока подставил костыль в виде автоматического перезапуска после загрузки...

Re: ipfw не работает после включения

Добавлено: 2013-02-15 12:16:18
sibdoma
Какой итог? После пересборки ядра заработало?

Re: ipfw не работает после включения

Добавлено: 2013-02-15 13:02:45
paran0id
да

Re: ipfw не работает после включения

Добавлено: 2013-02-15 13:14:36
sibdoma
О, спасибо. С такой же проблемой столкнулся. Надумал на ipfw nat переходить