FREEBSD 9.0. Сломался IPFW. Перестал загружать правила даже дефолтных конфигов типа OPEN или SIMPLE. То есть, ipfw show или ipfw -a list не выдают вообще ничего.Ядро собрано с опциями:
#my options begin
options PERFMON
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
#options IPFIREWALL_FORWARD_EXTENDED
options IPFILTER
options IPFILTER_LOG
options IPDIVERT
options IPSTEALTH
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT#my options end
Кусок rc.conf:
firewall_enable="YES"
firewall_type="OPEN"
firewall_logging="YES"
gateway_enable="YES"
natd_enable="YES"
natd_interface="re1"Если нужно, могу выложить и длиннющую портянку rc.firewall, но это дефолтный конфиг, в котором я ничего не менял, а только добавил свой TYPE. Но грузим мы сейчас OPEN.
Вот так выглядит перезапуск IPFW:
/etc/rc.d/ipfw restart
net.inet.ip.fw.enable: 1 -> 0
net.inet6.ip6.fw.enable: 1 -> 0
Stopping natd.
Waiting for PIDS: 3277.
Firewall rules loaded.
Firewall logging enabled.
Starting natd.И тишина. Ни одного правила не загружено.
Где грабли могут быть?
лучше не трогать родные файлы системы, это плохая практика
напишите свои правила, поместите их в свой, отдельный файл и загружайтефайл должен соответствовать правильному синтаксису
и загружать правила можно двумя способами - соответственно и синтаксисы своего файла с правилами будут различны
> лучше не трогать родные файлы системы, это плохая практика
> напишите свои правила, поместите их в свой, отдельный файл и загружайте
> файл должен соответствовать правильному синтаксису
> и загружать правила можно двумя способами - соответственно и синтаксисы своего файла
> с правилами будут различныпервоисточник ==> https://www.freebsd.org/doc/ru/books/handbook/firewalls-ipfw...
> лучше не трогать родные файлы системы, это плохая практика
> напишите свои правила, поместите их в свой, отдельный файл и загружайте
> файл должен соответствовать правильному синтаксису
> и загружать правила можно двумя способами - соответственно и синтаксисы своего файла
> с правилами будут различныДа черт с ними со своими правилами. У меня даже родные системные не грузятся.
> Да черт с ними со своими правилами. У меня даже родные системные не грузятся.так как вы "грузите свои правила" никто не делает
если, как вам кажется, вы перепробовали все варианты и у вас всё равно ничего не получается,
если вы уже в конец совсем отчаялись, то прочтите же наконец эту грёбанную инструкцию!!читайте библию, т.е. хэндбук, ссылку вам привели, там есть ответы на все ваши вопросы
> так как вы "грузите свои правила" никто не делает
> если, как вам кажется, вы перепробовали все варианты и у вас всё
> равно ничего не получается,
> если вы уже в конец совсем отчаялись, то прочтите же наконец эту
> грёбанную инструкцию!!
> читайте библию, т.е. хэндбук, ссылку вам привели, там есть ответы на все
> ваши вопросыда не гружу я свои правила. Я пытаюсь добиться, чтоб IPFW хотя бы дефолтные правила грузил. Может никто и не делает так, но у меня ipfw "так грузил правила" лет пять и сдох на ровном месте. А хендбук я читал и тогда и сейчас. Ну сделал я простенький скрипт, запустил - ничего не изменилось - скрипт срабатывает, правила не загружаются. Да и, по-моему, отличия в этих двух вариантах такие же как в винде файлики двойным щелчком запускать или через меню "открыть".
пробуем загрузить правила
sh /etc/rc.firewall
sh /etc/rc.firewall client
sh /etc/rc.firewall simple
sh /etc/rc.firewall workstation
> пробуем загрузить правила
> sh /etc/rc.firewall
> sh /etc/rc.firewall client
> sh /etc/rc.firewall simple
> sh /etc/rc.firewall workstationНе а, не прогружаются. Но в любом случае, как я только что написал, мне уже не актуально. Но спасибо.
> Вот так выглядит перезапуск IPFW:
> /etc/rc.d/ipfw restartэтот файл в студию или pastebin'ить
>> Вот так выглядит перезапуск IPFW:
>> /etc/rc.d/ipfw restart
> этот файл в студию или pastebin'итьЭто ж родной системный:
cat /etc/rc.d/ipfw
#!/bin/sh
#
# $FreeBSD: release/9.0.0/etc/rc.d/ipfw 220153 2011-03-30 01:19:00Z emaste $
## PROVIDE: ipfw
# REQUIRE: ppp
# KEYWORD: nojail. /etc/rc.subr
. /etc/network.subrname="ipfw"
rcvar="firewall_enable"
start_cmd="ipfw_start"
start_precmd="ipfw_prestart"
start_postcmd="ipfw_poststart"
stop_cmd="ipfw_stop"
required_modules="ipfw"set_rcvar_obsolete ipv6_firewall_enable
ipfw_prestart()
{
if checkyesno dummynet_enable; then
required_modules="$required_modules dummynet"
fiif checkyesno firewall_nat_enable; then
if ! checkyesno natd_enable; then
required_modules="$required_modules ipfw_nat"
fi
fi
}ipfw_start()
{
local _firewall_type_firewall_type=$1
# set the firewall rules script if none was specified
[ -z "${firewall_script}" ] && firewall_script=/etc/rc.firewallif [ -r "${firewall_script}" ]; then
/bin/sh "${firewall_script}" "${_firewall_type}"
echo 'Firewall rules loaded.'
elif [ "`ipfw list 65535`" = "65535 deny ip from any to any" ]; then
echo 'Warning: kernel has firewall functionality, but' \
' firewall rules are not enabled.'
echo ' All ip services are disabled.'
fi# Firewall logging
#
if checkyesno firewall_logging; then
echo 'Firewall logging enabled.'
sysctl net.inet.ip.fw.verbose=1 >/dev/null
fi
}ipfw_poststart()
{
local _coscript# Start firewall coscripts
#
for _coscript in ${firewall_coscripts} ; do
if [ -f "${_coscript}" ]; then
${_coscript} quietstart
fi
done# Enable the firewall
#
if ! ${SYSCTL} net.inet.ip.fw.enable=1 1>/dev/null 2>&1; then
warn "failed to enable IPv4 firewall"
fi
if afexists inet6; then
if ! ${SYSCTL} net.inet6.ip6.fw.enable=1 1>/dev/null 2>&1
then
warn "failed to enable IPv6 firewall"
fi
fi
}ipfw_stop()
{
local _coscript# Disable the firewall
#
${SYSCTL} net.inet.ip.fw.enable=0
if afexists inet6; then
${SYSCTL} net.inet6.ip6.fw.enable=0
fi# Stop firewall coscripts
#
for _coscript in `reverse_list ${firewall_coscripts}` ; do
if [ -f "${_coscript}" ]; then
${_coscript} quietstop
fi
done
}load_rc_config $name
firewall_coscripts="/etc/rc.d/natd ${firewall_coscripts}"run_rc_command $*
> Это ж родной системный:Знаю
>[оверквотинг удален]
> [ -z "${firewall_script}" ]
> && firewall_script=/etc/rc.firewall
> if [ -r "${firewall_script}"
> ]; then
>
> /bin/sh "${firewall_script}" "${_firewall_type}"
>
> echo 'Firewall rules loaded.'
> elif [ "`ipfw list
> 65535`" = "65535 deny ip from any to any" ]; thenи исходя из лога:
>Firewall rules loaded.
>Firewall logging enabled.
>Starting natd.и исходя из:
>Ваще ничего. Если ему сказать даже ipfw add 500 reject all from any to me, то он это как >будто проглатывает, но ipfw -a list опять же ничего не показывает и reject не работает.
kldstat отображает модуль ipfw.ko?
большой вероятностью: ipfw файл у вас заменен на левое что-то или алиасом указано на нечто
> kldstat отображает модуль ipfw.ko?
> большой вероятностью: ipfw файл у вас заменен на левое что-то или алиасом
> указано на нечтоВот как-то так:
/etc/>kldstat
Id Refs Address Size Name
1 5 0xc0400000 eee1f8 kernel
2 1 0xc60f7000 2000 accf_http.ko
3 1 0xc60f9000 2000 accf_data.ko
/etc/>kldload ipfw.ko
kldload: can't load ipfw.ko: File exists
> То есть, ipfw show или ipfw -a list не выдают вообще ничего.
> options IPFIREWALL_DEFAULT_TO_ACCEPTШо прям таки ipfw -a list ваще ничего не кажет?
даже
65535 0 0 allow ip from any to any
>> То есть, ipfw show или ipfw -a list не выдают вообще ничего.
>> options IPFIREWALL_DEFAULT_TO_ACCEPT
> Шо прям таки ipfw -a list ваще ничего не кажет?
> даже
> 65535 0
> 0 allow ip from
> any to anyВаще ничего. Если ему сказать даже ipfw add 500 reject all from any to me, то он это как будто проглатывает, но ipfw -a list опять же ничего не показывает и reject не работает.
/etc/rc.conf покажи
проверь, что там есть строчка:
firewall_enable="YES"проверь в соответствии с чем нибудь типа:
https://www.freebsd.org/doc/ru/books/handbook/firewalls-ipfw...Последняя фряха у меня была 6 %) под рукой нет, но кое что еще помню.
> /etc/rc.conf покажи
> проверь, что там есть строчка:
> firewall_enable="YES"
> проверь в соответствии с чем нибудь типа:
> https://www.freebsd.org/doc/ru/books/handbook/firewalls-ipfw...
> Последняя фряха у меня была 6 %) под рукой нет, но кое
> что еще помню.кусок rc.conf выше выкладывал.
>> /etc/rc.conf покажи
>> проверь, что там есть строчка:
>> firewall_enable="YES"
>> проверь в соответствии с чем нибудь типа:
>> https://www.freebsd.org/doc/ru/books/handbook/firewalls-ipfw...
>> Последняя фряха у меня была 6 %) под рукой нет, но кое
>> что еще помню.
> кусок rc.conf выше выкладывал.Загрузите ядро generic, у меня такое ощущение, что у вас просто ipfw не грузится...
>>> /etc/rc.conf покажи
>>> проверь, что там есть строчка:
>>> firewall_enable="YES"
>>> проверь в соответствии с чем нибудь типа:
>>> https://www.freebsd.org/doc/ru/books/handbook/firewalls-ipfw...
>>> Последняя фряха у меня была 6 %) под рукой нет, но кое
>>> что еще помню.
>> кусок rc.conf выше выкладывал.
> Загрузите ядро generic, у меня такое ощущение, что у вас просто
> ipfw не грузится...Как вариант, но меня это мало спасет, если и заработает. Как мне без дивертов-то?
> FREEBSD 9.0. Сломался IPFW. Перестал загружать правила даже дефолтных конфигов типа OPENВ общем, вопрос остался открытым, но уже не актуальным. За эти сутки я неспешно поставил с нуля 11-ю фрю с тем же IPFW и прочими прибамбасами, благо их не так много было нужно. Пересборка ядра больше времени заняла.
> В общем, вопрос остался открытым, но уже не актуальным. За эти сутки
> я неспешно поставил с нуля 11-ю фрю с тем же IPFW
> и прочими прибамбасами, благо их не так много было нужно. Пересборка
> ядра больше времени заняла.Пересобирать то ядро зачем? Все отсутствующее в generic можно грузить модулями...
> Пересобирать то ядро зачем? Все отсутствующее в generic можно грузить модулями...А как выгрузить из ядра все лишнее, что туда запихано статиком?
>> Пересобирать то ядро зачем? Все отсутствующее в generic можно грузить модулями...
> А как выгрузить из ядра все лишнее, что туда запихано статиком?А что там статиком то запихано, уже давно, начиная с 7-ки, все, чего нет в loader.conf и rc.conf выгружается, да есть попытка загружать драйверы, но если нет их инициализации, то бишь устройства, то его и выгружают автоматом...
> А что там статиком то запихано, уже давно, начиная с 7-ки,
> все, чего нет в loader.conf и rc.conf выгружается, да есть попытка
> загружать драйверы, но если нет их инициализации, то бишь устройства, то
> его и выгружают автоматом...фейспалм.тхт