ipfw nat tablearg, tcpdump односторонний

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

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

ipfw nat tablearg, tcpdump односторонний

Непрочитанное сообщение sandrey » 2009-02-16 11:35:01

Две дурные проблемы на FreeBSD 7 c kernel nat + ipfw

Первая. Есть несколько сетевых интерфейсов (карточек) с разными IPшниками. Пишутся команды типа

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

ipfw nat 73 config ip bu.bu.bu.73 redirect_port...
ipfw nat 225 config ip ga.ga.ga.225 redirect_port...
ipfw table 1 add la.la.la.la 73
ipfw table 1 add nu.nu.nu.nu 225
ipfw add 700 nat tablearg ip from table(1) to any
После последней команды фря подтверждает ее, однако оригинально:
00700 nat 0 ip from table(1) to any
Куда делось слово tablearg - неясно. Что наиболее грустно - фря потом и работает с этим правилом так, как она его приняла, т.е. не меняя все пакеты, поскольку nat 0 у меня нет. Что особенно интересно - ipfw add 900 fwd tablearg ip from table(2) to any, принимается фрей с подтверждением 00900 fwd tablearg ip from table(2) to any, и, что особенно удивительно, работает, как и ожидалось после чтения доки. Решение изобрел тупое - заменил одну строчку (последнюю в приведенном коде) на 2 - ipfw add 700 nat 73 ip from table(1, 73) to any и ipfw add 700 nat 225 ip from table(1,225) to any - работает. В реальной системе с моими 5 внешними выделенками и 4мя локальными интерфейсами количество правил возросло потрясающе. Буду рад любым идеям на этот счет.

Вторая проблема еще дурнее. После fwd пакет перестает видится tcpdump'ом. Т.е. на интерфейсе, за которым по маске сети только шлюз и который не "дефаултный" пакет даже чисто теоретически может попасть только с помощью fwd (если он не предназначен именно этому чужому шлюзу, конечно). Так у меня и происходит. Однако, если на таком интерфейсе запуститть tcpdump -i blabla1 - я вижу только входящие пакеты. Все иходящие не видно tcpdump'ом, если они не предназначены именно шлюзу "с той стороны" - например, ARP или ICMP пакеты на шлюз - эти видно. Причем если даже пакеты непосредственно для чужого шлюза принудительно "запихать" с помощью fwd на этот же самый чужой шлюз - они доходят до него (он отвечает на них), но tcpdump их перестает видеть. Собссно вопрос: "Если я жить не могу без tcpdump'a, а жить хочется - что делать ?".

Хостинговая компания 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/

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: ipfw nat tablearg, tcpdump односторонний

Непрочитанное сообщение hizel » 2009-02-16 11:42:27

начнем с того что например в 7.0-RELEASE tablearg к nat не применимо :(
man ipfw писал(а): The tablearg feature provides the ability to use a value, looked up in
the table, as the argument for a rule action, action parameter or rule
option. This can significantly reduce number of rules in some configura-
tions. The tablearg argument can be used with the following actions:
pipe, queue, divert, tee, netgraph, ngtee, fwd action parameters: tag,
untag, rule options: limit, tagged.
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

sandrey
проходил мимо

Re: ipfw nat tablearg, tcpdump односторонний

Непрочитанное сообщение sandrey » 2009-03-11 15:24:16

Действительно нету - ман читать надо на своей системе, а не описуху из Инета - спасибо. Тогда второй вопрос - а с какой версии фри у ната появляется tablearg ? До какаой версии следует двигаться как минимум ?
Вторая проблема осталась нетронутой - форварденные пакеты я не вижу tcpdump'ом - хоть лопни. Не знаю что делать. В принципе контора пашет и без этого, но когда возникают траблы то они накладываются на невозможность увидеть исходящие пакеты по большинству интерфейсов - решение достигать становится сложнее. Может есть идеи ?

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: ipfw nat tablearg, tcpdump односторонний

Непрочитанное сообщение hizel » 2009-03-11 16:03:55

в 7.1-RC1 tablearg для nat применим, значит вам на 7.1-RELEASE дорожка ;)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.