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

ipfw natd incoming

Добавлено: 2006-12-20 23:48:04
Notaky
И снова дорого времени суток.
как пернаправить на natd входяшие пакеты с установленных уже сессий? Тоесть ....чтобы то что пришло само по себе тихо отбрасывалось....а то что пришло ответом на уже отправленые пакеты проходило.
Для примера:
если указать в первых правилах

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

check-state
allow tcp from any to me http in recv ${ext}
----Х-------
divert natd ip from any to any to any out xmit ${ext}
allow ip from me to any out xmit ${ext} keep-state
allow ip from any to any via ${int}
спрашивается куда влепить

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

divert ip from any to me in recv ${ext}
или правило похожее по смыслу,
чтобы решить проблемы указаную выше...
если влепить в в позицию Х, попадет ли чтото на него?
так как я понимаю, при приходе пакета ответа сработает ЧЕК-СТЕЙТ и правило уйдет с фаервола....(еще один вопрос) что же будет дальше если оно попадет на порт который открыл нат???(имеется в виду что нат мапит порты на внешнем интерфейсе и делает, так сказать, ассоциацию с портом на машине в локалки(ИМХО, точно незнаю)), тоесть пакет попадет автоматически на него? и далее с измененными заголовками попрется на второй проход фаервола, так ли это? и еще одно(возможно самое главное) ...если нат ненайдет ассоциации (открытого внешнего порта) что он сделает?(просто отбросит или же отправит чтото в ответ?)

Добавлено: 2006-12-21 8:39:26
Alex Keda
забей на чек-статы делай без них...

Добавлено: 2006-12-21 19:18:00
Notaky
да как бы уже без них давно было....с ними мне более нравиться...и смотреть на него проще и понятней...БЛИН ...что никто неможет подсказать???

Добавлено: 2006-12-22 11:35:37
dikens3
# Входящий траффик с интернет на шлюз
# Пропускаем траффик, с уже установленным соединением
${fwcmd} add pass all from any to me in via ${ifout} established

# Разрешаем соединение по этим портам для своих IP-Адресов
${fwcmd} add pass tcp from ${allowgoodhosts} to me 22 in via ${ifout} limit dst-port 10

# Разрешаем входящие UDP. DNS пакеты имеет право принимать только DJBDNS (Traceroute порядка 10 запросов сразу использует, если нужно сделать больше)
${fwcmd} add pass udp from any 53 to me in via ${ifout} uid Gdnscache limit src-port 500

# log
${fwcmd} add deny log all from any to me in via ${ifout}


# Исходящий траффик в интернет с шлюза
#
# Прибиваем ненужный траффик
${fwcmd} add deny log all from me to table\(1\) out via ${ifout}

# Прибиваем ненужные порты наружу
${fwcmd} add deny all from me to any 137-139,445 out via ${ifout}

# Наружу серверу всё остальное разрешено
${fwcmd} add pass all from me to any out via ${ifout}
Что приходит ответом - established
keep-state (check state) жрут траффик. Процентов 30 точно. (Пришлось отказаться)

Добавлено: 2006-12-22 16:46:31
Notaky
keep-state (check state) жрут траффик. Процентов 30 точно. (Пришлось отказаться)
Как он может жрать трафик то?

в твоем примере я ната невижу..
вопрос стоял в том ...
что даже на established ловятся пакеты и...
делее что должно то быть?
поидеи так как пасс у тебя то они заканчивают свое прохождение по фаерволу и до ната недоходят!
или чтото я всеже непонимаю?

Добавлено: 2006-12-25 18:33:34
dikens3
В моём случае используется natd.
Я показал как использовать правила, чтобы обезопасить шлюз.
По такому же принципу делается для пользователей.
В таблице 1 у меня:

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

# ipfw table 1 l
0.0.0.0/8 0
10.0.0.0/8 0
169.254.0.0/16 0
172.16.0.0/12 0
192.0.2.0/24 0
192.168.0.0/16 0
224.0.0.0/4 0
240.0.0.0/4 0

Добавлено: 2006-12-25 20:19:56
Notaky
Как говорилось в известном фильме- "Я дико извеняюсь!"
Но всеже или я ОЧЕНЬ плохо излагаю свои вопросы,
или никто их нечитает.
Я спрашивал....каким образом, пакет попавший на чек стейт, может оказаться на натд?
посмотрите пожалуйсто выше там это и спрашивалось.

Добавлено: 2006-12-25 22:21:02
chani
а не пора ли на переходить на pf ?
ps: на крпартиве, посему пьян и могу нести чуш ....

Добавлено: 2006-12-26 0:09:00
Alex Keda
Почему сразу чушь. обоснуй.
Его много кто советует, тока обосновать немогут - чего я такого получу чего у меня нет в IPFW и без чего я немогу жить....

Добавлено: 2006-12-26 11:05:52
dikens3
Notaky писал(а):Как говорилось в известном фильме- "Я дико извеняюсь!"
Но всеже или я ОЧЕНЬ плохо излагаю свои вопросы,
или никто их нечитает.
Я спрашивал....каким образом, пакет попавший на чек стейт, может оказаться на натд?
посмотрите пожалуйсто выше там это и спрашивалось.
Пробуй опытным путём.

Добавлено: 2006-12-26 19:05:18
Notaky
да как бы тазик боевой....и опыты немогу я на нем никак поставить...а создать ситуацию наподобии этой на другой машине..гемора очень много, вобщем неспрашивал..уже фиг знает где ... просто какбы ...это как я понимаю основа...без понимания которой нормально делать неполучится....вот и думал что один я (ну и пару знакомых) просто незнаем этой основы...а остальные более просвещены :?

Добавлено: 2006-12-26 19:07:52
Notaky
chani писал(а):а не пора ли на переходить на pf ?
ps: на крпартиве, посему пьян и могу нести чуш ....
pf - хороший фаервол...но это только вопрос религии чем пользоватся,
какбы насчет него я тоже непослухам наслышан...но зачем мне менять шило на мыло на даной машине(машина неслабенькая, и то что нат невнутриядерный какбы ей до одного места)?

Добавлено: 2006-12-27 1:30:27
chani
У меня на нескольких серверах ipfw, на нескольких pf
На шлюзе pf, потому что я могу с него через pfctl отдавать статистику по сессиям в cacti
И на выходе иметь красивый граффик как юзеры в инет ломились :-) Понятно что напрямую отношения к прямой функции фаера не имеет но как сделать на ipfw такое не знаю. И еще, товарищь работает в конторе провайдерской, говорит что на реально больших нагругках только такая связка пашет. И том уже тонкая материя типа правильных сетевух, у которых наиболее правильные дрова, пуллинг и тд

Добавлено: 2006-12-27 11:23:01
dikens3
У меня ipacctd скидывает трафик каждую минуту, делай с ним что хошь после этого.

Добавлено: 2006-12-27 15:47:13
Notaky
В общем с snmp тоже неплохо показывается трафик, если можеш покажи что ты имел в виду с графиками ломившихся узверей. Он у меня и так показывает.

Добавлено: 2007-01-10 9:51:50
Kolesnikov
Без вдавания в подробности,

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

divert 8668 ip from any to any in via fxp0
divert 8668 ip from any to any out via fxp0
pass ip from me to any
pass tcp from any to me estableshed
ТЕбе хоть куда, а до тебя только установленные сессии.

Добавлено: 2007-01-10 12:55:32
Notaky
Вобщем можно как хочеш писать, это все понятно.
Вопрос в том чем мой конфиг такой плохой?
Да разница между динамическими правилами и просто правилом для ТСП сессий с установленными флагами RST или ACK всетаки есть.
Как никак в established есть тоже свой минус....можно увидеть какие сервисы у тебя работают.

Добавлено: 2007-01-11 9:19:36
Kolesnikov
Notaky писал(а): Как никак в established есть тоже свой минус....можно увидеть какие сервисы у тебя работают.
Правила фаервола на сессии никак не влияют. Если они установлены, то значит они проходят через keep-state правила тоже, и видны одинаково. При чем здесь правила?
И кто тебя будет сниферить? Хабы канули в прошлое, а провайдеру ты задаром не нужен.

Добавлено: 2007-01-11 11:25:04
dikens3
Kolesnikov писал(а): Правила фаервола на сессии никак не влияют. Если они установлены, то значит они проходят через keep-state правила тоже, и видны одинаково.
Какие сессии ты имеешь ввиду? Что ты понимаешь под словом сессия?
established != keep-state

keep-state запоминает кому отправлен пакет и правилом check-state он проверяет все динамически созданные правила.

Добавлено: 2007-01-11 11:32:44
dikens3
Notaky писал(а): Как никак в established есть тоже свой минус....можно увидеть какие сервисы у тебя работают.
Можно подробнее об этом?

Я вот твёрдо знаю что у Билла Гейтся огромная куча денег. Ну вижу я это и что? Я от этого нифига богаче не стал.

Добавлено: 2007-01-11 14:09:37
Kolesnikov
dikens3 писал(а): Какие сессии ты имеешь ввиду? Что ты понимаешь под словом сессия?
established != keep-state
Я имею ввиду открытые TCP сессии, например, установленная сессия telnet.
На счет неравенства -- кто ж спорит?
keep-state запоминает кому отправлен пакет и правилом check-state он проверяет все динамически созданные правила.
Полностью согласен.

Добавлено: 2007-01-11 14:37:30
dikens3
Notaky писал(а):Как говорилось в известном фильме- "Я дико извеняюсь!"
Но всеже или я ОЧЕНЬ плохо излагаю свои вопросы,
или никто их нечитает.
Я спрашивал....каким образом, пакет попавший на чек стейт, может оказаться на натд?
посмотрите пожалуйсто выше там это и спрашивалось.
Буду думать по ходу написания.

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

Вариант 1:
1. Пакет приходит с внешнего интерфейса.
Адрес назначения у него IP-Шлюза.
2. Срабатывает ipfw allow ... (или check-state в твоём случае) на входящем интерфейсе.
Всё, работа с этим пакетом закончена.
Но вот в чём вопрос, кому идёт этот пакет? Самому шлюзу или пользователю? Отсюда:

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

Вариант 2:
1. Пакет приходит с внешнего интерфейса.
Адрес назначения у него IP-Шлюза.
2. Срабатывает divert, но правила ipfw allow ... ещё нет
Адрес назначения у него IP-пользователя.
3. Срабатывает ipfw allow ... (или check-state в твоём случае) на входящем интерфейсе.
4. Срабатывает ipfw allow ... на выход с внутреннего интерфейса.
Всё, работа с этим пакетом закончена.
В итоге имеем следующее. divert должен быть раньше check-state.

Добавлено: 2007-01-11 17:15:21
Notaky
вопрос тогда к варианту 2 ....
прошедший нат пакет с измененным пунктом назначения...
проходя check-state поидеи неподпадет не под одно правило,
так как правило создавалось на базе внешнего адреса роутера и какогото хоста в мире.
и в конце прохода будет отброшен если по дефолту фаер закрыт.
Как никак в established есть тоже свой минус....можно увидеть какие сервисы у тебя работают.
Можно подробнее об этом?

Я вот твёрдо знаю что у Билла Гейтся огромная куча денег. Ну вижу я это и что? Я от этого нифига богаче не стал.
насчет поподробней...
если я буду знать что у тебя есть .... с этим можно работать...информания никогда небывает ненужной...просто найти ей применение.
Чтобы конкретней чтото сказать...нужно смотреть на реализацию данного tcp/ip и тестить. [/quote]

Добавлено: 2007-01-11 17:24:19
Notaky
Kolesnikov писал(а):
Notaky писал(а): Как никак в established есть тоже свой минус....можно увидеть какие сервисы у тебя работают.
Правила фаервола на сессии никак не влияют. Если они установлены, то значит они проходят через keep-state правила тоже, и видны одинаково. При чем здесь правила?
И кто тебя будет сниферить? Хабы канули в прошлое, а провайдеру ты задаром не нужен.
вот часть этого поста мне никак непонятна...
кто сказал что я правила с сессиями както соединял..я вот сижу и думаю.... интересно каким чудом пришла мысль о снифинге? и как бы влияло(ет) keep-state на снифинг?
а то что провайдеру попадает....то только ipsec можно изменить ситуацию, независимо отвашего фаервола в остальных случаях ситуация неменяется.

Добавлено: 2007-01-11 18:21:41
Kolesnikov
Notaky писал(а):вот часть этого поста мне никак непонятна...
кто сказал что я правила с сессиями както соединял..я вот сижу и думаю.... интересно каким чудом пришла мысль о снифинге?
А чем у тебя еще могут увидеть установленные(established) :P в данный момент сессии?
А если долбежкой :twisted: по портам, то при чем здесь established?
Notaky писал(а):Как никак в established есть тоже свой минус....можно увидеть какие сервисы у тебя работают.
Вырази свою мысль правильно и тогда демагогии не будет.