Настройка ipfw на freeBDS 6.2 (как победить ipfw: getsockopt(IP_FW_GET): Protocol not available)

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

vitali04
Сообщения: 9
ОС: Linux Mandriva 2007

Настройка ipfw на freeBDS 6.2

Сообщение vitali04 »

Арендую дедик у агавы. Доступ есть только по ssh. Они поставили стандартную freeBSD 6.2, а дальше я сам должен крутиться. Всё то ничего только вот понадобилось мне все запросы на 80 порт перебрасывать на 85. iptables: Command not found, ф ipfw вроде есть, но постоянно выдаёт ipfw: getsockopt(IP_FW_GET): Protocol not available. Прочитал что это значит ipfw невкомпилен в ядро и его можно подгрузить как модуль добавив строчку ipfw_load="YES" в файл /boot/loader.conf.
После перезагрузки сервер не пинговался и пришлось обращаться в саппорт.

Как можно включить ipfw или iptables? обязательно ли пересобирать ядро? чем это черевато если у меня там уже давно работает сайт, могу ли я потерять все данные?

Был бы комп дома я б уже давно пересобрал ядро, но по ssh страшно
Спасибо сказали:
Аватара пользователя
Shura
Сообщения: 1537
Статус: Оказывается и без KDE есть жизнь
ОС: FreeBSD 8.0-RC2

Re: Настройка ipfw на freeBDS 6.2

Сообщение Shura »

iptables в FreeBSD нет и вроде не ожидается.
Попробуй использовать pf.
Rock'n'roll мертв © БГ
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Настройка ipfw на freeBDS 6.2

Сообщение Poor Fred »

vitali04 писал(а):
19.12.2007 11:12
Прочитал что это значит ipfw невкомпилен в ядро и его можно подгрузить как модуль добавив строчку ipfw_load="YES" в файл /boot/loader.conf.
После перезагрузки сервер не пинговался и пришлось обращаться в саппорт.

Просто по умолчанию правило у брандмауэра "запрещать всё". Настрой ipfw с одним единственным правилом

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

allow all from any to any

и тогда уже загружай модуль.
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1100
ОС: freeBSD

Re: Настройка ipfw на freeBDS 6.2

Сообщение arachnid »

Poor Fred писал(а):
19.12.2007 12:56
vitali04 писал(а):
19.12.2007 11:12
Прочитал что это значит ipfw невкомпилен в ядро и его можно подгрузить как модуль добавив строчку ipfw_load="YES" в файл /boot/loader.conf.
После перезагрузки сервер не пинговался и пришлось обращаться в саппорт.

Просто по умолчанию правило у брандмауэра "запрещать всё". Настрой ipfw с одним единственным правилом

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

allow all from any to any

и тогда уже загружай модуль.

не прокатит - нет модуля - им и не поуправляешь.

в таком случае лучше написать скрипт, который будет грузить модуль и потом говорить, что бы ipfw add allow all from any to any (на первых порах) и запустить этот скрипт в бэкгроунде, что бы когда запуститься можуль ipfw, и тебя отрежет от консоли, команда все таки выполнилась.
а уж потом смотреть и писать то, тчо надо.
для более подробного знакомства с ipfw лучше к докам, там все подробно описанно, плюс можно включить наборы правил по умолчанию - прописывается все /etc/rc.conf

или проще - разрешить загрузку модуля ipfw, в rc.conf прописать параметр файрвола open и перегрузиться
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Настройка ipfw на freeBDS 6.2

Сообщение Poor Fred »

arachnid писал(а):
19.12.2007 13:49
не прокатит - нет модуля - им и не поуправляешь.

А про firewall_script="/path/to/rules" в /etc/rc.conf что-нибудь слышал?
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1100
ОС: freeBSD

Re: Настройка ipfw на freeBDS 6.2

Сообщение arachnid »

Poor Fred писал(а):
19.12.2007 14:32
arachnid писал(а):
19.12.2007 13:49
не прокатит - нет модуля - им и не поуправляешь.

А про firewall_script="/path/to/rules" в /etc/rc.conf что-нибудь слышал?

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

однако же при эксперементе получается, что при подгрузке не идет выполнение того, что пишеться в /etc/rc.conf.

давайте сначала проверять, а потом писать, оки?
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Настройка ipfw на freeBDS 6.2

Сообщение Poor Fred »

arachnid писал(а):
19.12.2007 16:51
давайте сначала проверять, а потом писать, оки?

Ты читал, что в начале было? Человек подгрузил модуль при загрузке. Но получил облом. Ему необходимо теперь чтобы и модуль был загружен и доступ к серверу был. И дальше уже экспериментировать с проброской портов.

2vitali04
Кстати, не забудь еще sysctl.conf поправить на предмет net.inet.ip.fw.enable=1 (см. /etc/rc.d/ipfw).
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1100
ОС: freeBSD

Re: Настройка ipfw на freeBDS 6.2

Сообщение arachnid »

Poor Fred писал(а):
19.12.2007 17:03
arachnid писал(а):
19.12.2007 16:51
давайте сначала проверять, а потом писать, оки?

Ты читал, что в начале было? Человек подгрузил модуль при загрузке. Но получил облом. Ему необходимо теперь чтобы и модуль был загружен и доступ к серверу был. И дальше уже экспериментировать с проброской портов.

2vitali04
Кстати, не забудь еще sysctl.conf поправить на предмет net.inet.ip.fw.enable=1 (см. /etc/rc.d/ipfw).

блин, при чем тут то, что было изначально?
твой совет - пропиши правило, а потом грузи? твой! там было сказано ч.н. про перезагрузку? нет. так и какие притензии ко мне, если в совете нет конкретики, а на замечание о том, что будет при использовании совета идет обвинение в незнании?

и sysctl прописывать не требуется, и строки такой в указанном скрипте в версии 6.2 тоже нет...
такова суровая реальность
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Настройка ipfw на freeBDS 6.2

Сообщение Poor Fred »

arachnid писал(а):
19.12.2007 17:13
и sysctl прописывать не требуется, и строки такой в указанном скрипте в версии 6.2 тоже нет...
такова суровая реальность

Ну значит я отстал от жизни:

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

FreeBSD 6.3-PRERELEASE (PoorFred) #1: Fri Dec 14 19:22:31 KRAT 2007

Или world (вот дурак!) при сборке с 6.1 -> 6.2 не обновил скрипт. У меня все по старинке:

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

ipfw_precmd()
{
        if ! ${SYSCTL} net.inet.ip.fw.enable > /dev/null 2>&1; then
...
...
}
ipfw_start()
{
...
...
        # Enable the firewall
        #
        ${SYSCTL_W} net.inet.ip.fw.enable=1
}


arachnid писал(а):
19.12.2007 16:51
но в свое оправданье - пусть месье попытатся прописать ч.н. в конфиг, а потом прогрузит модуль. если у месье получиться, то я признаю себя ламером и посыплю голову пеплом.

Ну давай, расскажи, какой тут подвох. У меня ipfw вкомпилен, а пересобирать ядро для эксперимента я не собираюсь.


P.S. А, ну понял. Я не сказал запустить сам скрипт. Пойду поплАчу.
Убить всех человеков!
Спасибо сказали:
vitali04
Сообщения: 9
ОС: Linux Mandriva 2007

Re: Настройка ipfw на freeBDS 6.2

Сообщение vitali04 »

Всем спасибо. Всё работает. Сначала удалось подгрузить модуль не пересобирая ядро, но фаервол ругался на fwd видимо модуль скомпилен без FIREWALL_FORWARD.
Потом решился пересобрать ядро по ssh и всё теперь нормально работает.

Спасибо за советы. От них я получил много полезной информации.
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1100
ОС: freeBSD

Re: Настройка ipfw на freeBDS 6.2

Сообщение arachnid »

Poor Fred писал(а):
19.12.2007 17:26
arachnid писал(а):
19.12.2007 17:13
и sysctl прописывать не требуется, и строки такой в указанном скрипте в версии 6.2 тоже нет...
такова суровая реальность

Ну значит я отстал от жизни:

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

FreeBSD 6.3-PRERELEASE (PoorFred) #1: Fri Dec 14 19:22:31 KRAT 2007

Или world (вот дурак!) при сборке с 6.1 -> 6.2 не обновил скрипт. У меня все по старинке:

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

ipfw_precmd()
{
        if ! ${SYSCTL} net.inet.ip.fw.enable > /dev/null 2>&1; then
...
...
}
ipfw_start()
{
...
...
        # Enable the firewall
        #
        ${SYSCTL_W} net.inet.ip.fw.enable=1
}


arachnid писал(а):
19.12.2007 16:51
но в свое оправданье - пусть месье попытатся прописать ч.н. в конфиг, а потом прогрузит модуль. если у месье получиться, то я признаю себя ламером и посыплю голову пеплом.

Ну давай, расскажи, какой тут подвох. У меня ipfw вкомпилен, а пересобирать ядро для эксперимента я не собираюсь.


P.S. А, ну понял. Я не сказал запустить сам скрипт. Пойду поплАчу.

так, по поводу строки - есть, невнимателен. не думал, что стартовые скрипты так сильно меняются при переходе на 7ку

про подвох - если просто подгрузить модуль fw, то загрузиться он с правилом запрета на все, никак не пытаясь отреагировать на то, что прописанно в rc.conf

по поводу переменной - завтра дойду до серверой и на 6ке с утра проверю, необходимо ли выставлять ее, или это сделает скрипт (как в 7)

ps. что касаемо действий по умолчанию ("не сказал, что скрипт надо запустить") - к сожалению, большинство спрашивающих не знает, что там надо запускать и что там вообще находить, и при каком условии эти скрипты будут отрабатывать. так что лучше разжевывать
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали: