nixp.ru v3.0

23 октября 2017,
понедельник,
05:39:39 MSK

DevOps с компанией «Флант»
glykin написал 7 декабря 2007 года в 08:55 (2000 просмотров) Ведет себя неопределенно; открыл 1 тему в форуме, оставил 2 комментария на сайте.

Добрый день

Система FreeBSD 6.1

есть вопос

пересобрал ядро с опциями IPFILTER и IPFILTER_LOG

собралось и установилось без ошибок

в rc.conf прописал:

ipfilter_enable=«YES»

ipfilter_rules=«/etc/ipf.rules»

ipnat_enable=«YES»

ipnat_rules=«/etc/ipnat.rules»

в sysctl.conf прописал:

net.inet.ip.forwarding=1

после этого пишу след:

ipnat -Cf -f /etc/ipnat.rules

0 entries flushed from NAT list

fopen(-f) failed: No such file or directory

в чем траблы? и как с этим бороться?

Anarchist

1. С учётом особенностей сборки ядра в FreeBSD пересборка ядра — лишний шаг.

2. Вывод

# ls -l /etc/ipnat.rules

и

cat /etc/ipnat.rules

В студию!


ls -l ipnat.rules
-rwxr-xr-x  1 root  wheel  331 Dec  5 19:10 ipnat.rules

Первое правило:

rdr tun0 from xxx.xxx.xxx.109/32 to xxx.xxx.xxx.190 port = 23 -> 192.168.91.2 port 23

А насчет пересборки ядра… у меня на еще двух серверах IPFILTER и IPNAT заработал только после того как я ядро пересобрал именно с опциями IPFILTER и IPFILTER_LOG.

да кстати совсем забыл… т.к. незнаю как еще можно побороть эту ситуевину я дал права

chmod 777 ipnat.rules


все равно не помогло :(

Anarchist
glykin
А насчет пересборки ядра… у меня на еще двух серверах IPFILTER и IPNAT заработал только после того как я ядро пересобрал именно с опциями IPFILTER и IPFILTER_LOG.

Ну дык правильно:

Либо ты компиллируешь функции статически в составе ядра, либо загружаешь модули (вот Шуруп закончит редактирование статьи, пришлю я ему дополнения относительно сборки ядра в FreeBSD, тогда там и будет ответ на твой вопрос).

Второго ты, насколько я понял, не делал. Следовательно без первого варианта ничего не заработает.

Кстати, здесь интересен тот факт, что в Linux iptables работает как модуль. ЕМНИП только (ну или в статическом режиме заставить его работать — задача нетривиальная).

И помни, что с *BSD работают (разрабатывают, портируют приложения, пишут документацию) зачастую люди мягко говоря сомнительной квалификации.

Handbook — ни фига не является ни истиной в последней инстанции, ни хотя бы претендующим на полноту источником.

glykin
да кстати совсем забыл… т.к. незнаю как еще можно побороть эту ситуевину я дал права

chmod 777 ipnat.rules

все равно не помогло :(

???

Я бы тебе категорически рекомендовал понять суть и назначение прав.

Думается мне, для файла правил необходимо и достаточно что-нибудь типа 640.

А то и 600. Как максимум — 644.

# ipnat -Cf -f /etc/ipnat.rules [code]
на куя?
Я почему-то всегда думал, что здесь нужно сделать:
 [code]# /etc/rc.d/ipnat start
[/code]
и, возможно: [code]# /etc/rc.d/ipfilter start[/code]
А [quote]в sysctl.conf прописал:
net.inet.ip.forwarding=1 [/quote]
недостаточно/неполно/неправильно (противоречит идеологии)
Curu3MyHg
Anarchist
Кстати, здесь интересен тот факт, что в Linux iptables работает как модуль. ЕМНИП только (ну или в статическом режиме заставить его работать — задача нетривиальная).

Сдаётся мне, тут ты неправ.

Anarchist
Curu3MyHg
Сдаётся мне, тут ты неправ.

С одной стороны (предусматривается возможность сборки и как модуля, и статически, а откровенно нерабочие конфигурации невозможны) — ты прав.

Но с другой: при статической линковке ряда компонентов мне так и не удалось добиться работоспособности iptables.

Так что, не всё так просто.

Curu3MyHg
Anarchist
С одной стороны (предусматривается возможность сборки и как модуля, и статически, а откровенно нерабочие конфигурации невозможны) — ты прав.

Но с другой: при статической линковке ряда компонентов мне так и не удалось добиться работоспособности iptables.

Так что, не всё так просто.

Давай подробности.

Что именно не заработало.

Раньше я вообще собирал iptables полностью статично, всё работало.

Сейчас (последний год), в силу некоторых обстоятельств и требуемой гибкости под большими нагрузками, собираю модулями.

Ни разу не сталкивался с тем, чтобы что-то не работало.

Curu3MyHg

Виноват. Наврал. Только что вспомнил, были какие-то глюки на 2.6.16, кажется.. Некоторые модули отказывались работать, правила не хавались.. Точно помню, что -m state не канало..

Как решил — не помню.

1.

в случае с данным сервером пользовался этим:

http://www.opennet.ru/base/net/ipnat_freebsd.txt.html и не только этим… сейчас уж всего и не вспомню и естественно не польностью тупо переносил все написаное в свою систему.Хендбуку не верю на столько чтобы считать его единственно правильным решением!

2.

в случае с другими двумя серваками пользовался готовыми вайлами конфига и файлами правил, немного их изменив (раньше там стояла 5.4)

3.

суть прав понимаю и я кажется понятно написал: если бы не такая ситуация то я бы и не дал таких прав!

4.

теперь от меня вопрос:



/etc/rc.d/ipnat start

НА КУЯ??? он мне демоном нужен????

5.

Цитата:в sysctl.conf прописал:

net.inet.ip.forwarding=1

недостаточно/неполно/неправильно (противоречит идеологии)

Объясни.

6.Главное

разошлись :) вы хоть попробовали дать ответ/совет на первоначальный вопрос?

Anarchist
glykin
3.

суть прав понимаю и я кажется понятно написал: если бы не такая ситуация то я бы и не дал таких прав!

Да ну?

Исполнение?!. На фига!?! И запись для всех!!!???!!!

Я конечно понимаю, что это — следствие тяжёлого виндовозного прошлого (и настоящего)…

glykin
4.

теперь от меня вопрос:

НА КУЯ??? он мне демоном нужен????

Я конечно понимаю, что для типического *BSD-админа выполнить командочку:

# ls /etc/rc.d/ | grep nat
ipnat*
natd*

и ответить на вопрос: если ipnat «стартует демона», то что делает natd — непосильный труд…

glykin
5.

Объясни.

А ты почитай скриптик.

Со времён 4.Х в идеологии запуска сервисов много что изменилось.

[quote author=glykin link=board=soft;num=1197006917;start=0#8 date=12/07/07 в 18:00:29]6.Главное

разошлись :) вы хоть попробовали дать ответ/совет на первоначальный вопрос?

[/code]

Дык без понимания толку от него будет немного.

sendmoreinfo
glykin
ipnat -Cf -f /etc/ipnat.rules

0 entries flushed from NAT list

fopen(-f) failed: No such file or directory

в чем траблы? и как с этим бороться?

опечатка. скорее всего, должно быть

ipnat -CF -f /etc/ipnat.rules

sendmoreinfo
glykin
4.

теперь от меня вопрос:

НА КУЯ??? он мне демоном нужен????

Кто сказал, что скрипты в rc.d всегда запускают демонов?