The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Подскажите по сетевому коду iptables"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / Linux)
Изначальное сообщение [ Отслеживать ]

"Подскажите по сетевому коду iptables"  +/
Сообщение от Гусище (ok) on 29-Окт-10, 12:42 
нашел вот такую картинку:
http://ebtables.sourceforge.net/br_fw_ia/PacketFlow.png

Не могу понять на основании чего пакеты уходят в код бриджинга? Мак-адрес? Тогда не могу понять почему создав на одном линуксе бридж между двумя другими машинами я могу фильтровать их пакеты на сетевом уровне. Хотя на основании своих мак-адресов (как я понял) они вообще не должны попадать в сетевой код моей транзитной машины.


Разъясните пожалуйста схему движения пакетов.

Сильно не материте, я слабо разбираюсь и к тому же тормоз, вот как раз хочу исправится. :)

п.с. заподозрил что iptables работает на канальном уровне. )))))

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Подскажите по сетевому коду iptables"  +/
Сообщение от Andrey Mitrofanov on 29-Окт-10, 14:06 
> Не могу понять на основании чего пакеты уходят в код бриджинга? Мак-адрес?
> Тогда не могу понять почему создав на одном линуксе бридж между
> двумя другими машинами я могу фильтровать их пакеты на сетевом уровне.
> Хотя на основании своих мак-адресов (как я понял) они вообще не
> должны попадать в сетевой код моей транзитной машины.

До какой-то версии ядра [linux] (не знаю, какое-то из 2.6 -- .22, .27 или ещё какое) и не попадали. Потом кто-то решил, что это удобно, и теперь -- попадают. *Пользуюсь* -- действительно удобно.

И по поводу "уровней", Ж) говорят:
  * "обычный" TCP/IP _не соответствует 7-уровневой модели OSI;
  * эта самая 7-уровневая модель красива и познавательна, для студентов 1-2-го курса, но слишком "академична", поэтому ею никто в жизни не пользуется.

Брешут, наверное?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Подскажите по сетевому коду iptables"  +/
Сообщение от PavelR (??) on 29-Окт-10, 15:52 
>> Не могу понять на основании чего пакеты уходят в код бриджинга? Мак-адрес?

Они уходят на основании того, что модуль бриджа, загрузившись, встыковывает свои обработчики в последовательность обработки пакетов (processing decision).
Если модуль бриджа считает, что пакет ему нужен - он его обрабатывает (грубо говоря, я в этой части код не изучал).

>> Тогда не могу понять почему создав на одном линуксе бридж между
>> двумя другими машинами я могу фильтровать их пакеты на сетевом уровне.
>> Хотя на основании своих мак-адресов (как я понял) они вообще не
>> должны попадать в сетевой код моей транзитной машины.

Потому что сетевые карты находятся в promisc-режиме, и принимают весь попадающий на них сетевой трафик. Ну а дальше модуль бриджинга может выкинуть пакет на уровень iptables, попутно при этом делается IP-маршрутизация пакета, чтобы для iptables выставить кучку интересных флажков.


Я отрисовывал последовательность вызовов, там всё очень интересно )

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Подскажите по сетевому коду iptables"  +/
Сообщение от Гусище (ok) on 01-Ноя-10, 01:02 
ОК.

Провёл серию тестов с пингами и счётчиками и в общем-то понял картинку, но не до конца. ))))

Возник новый вопрос:

Почему при ответе на чужой пинг пакеты НЕ попадают в цепочку POSTROUTING таблицы nat, а вот при пинге другого ПК - попадают. Не понимаю как так.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Подскажите по сетевому коду iptables"  +/
Сообщение от PavelR (??) on 01-Ноя-10, 10:16 
> ОК.
> Провёл серию тестов с пингами и счётчиками и в общем-то понял картинку,
> но не до конца. ))))
> Возник новый вопрос:
> Почему при ответе на чужой пинг пакеты НЕ попадают в цепочку POSTROUTING
> таблицы nat, а вот при пинге другого ПК - попадают. Не
> понимаю как так.

примерно потому, что нат для них уже делать не надо ) примерно в том духе, что запись в таблице трансляции уже создана.
он там "неявный", этот нат  )

примерно )

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Подскажите по сетевому коду iptables"  +/
Сообщение от Andrey Mitrofanov on 01-Ноя-10, 14:03 
> Почему при ответе на чужой пинг пакеты НЕ попадают в цепочку POSTROUTING
> таблицы nat, а вот при пинге другого ПК - попадают. Не
> понимаю как так.

В таблицу NAT попадает только первый пакет соединения, --state NEW (в тербинах netfilter -- они бывают и в ICMP, и в UDP), по нему принимается решение по трансляции и все следующие пакеты (--state ESTABLISHED и, возможно, RELATED) "обрабатываются" по тому же NAT-у.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Подскажите по сетевому коду iptables"  +/
Сообщение от Гусище (ok) on 06-Ноя-10, 19:45 
т.е. в таблицу ESTABLISHED и RELATED уже не попадают вовсе, а просто проходят мимо неё?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Подскажите по сетевому коду iptables"  +/
Сообщение от Andrey Mitrofanov on 08-Ноя-10, 10:58 
> т.е. в таблицу ESTABLISHED и RELATED уже не попадают вовсе, а просто
> проходят мимо неё?

В -t nat -- да, через -t filter ходит всё. И не "просто мимо", а как я там выше написал -- по тому же ~решению о трансляции.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Подскажите по сетевому коду iptables"  +/
Сообщение от Гусище (ok) on 08-Ноя-10, 12:57 
Понятно, спасибо.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру