The OpenNET Project / Index page

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

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

"Порядок прохождения пакетов через iptables и iproute"  +/
Сообщение от sl1der (ok) on 04-Сен-07, 10:09 
Здравствуйте, у меня следующий вопрос.
Даны следующие исходные данные (все согласно многочисленным мануалам, форумам и т.д.)
1) 2 канала (шлюза) в инет (ppp0 и ppp1)
2) локальная сеть (eth1)
3) ppp0 шлюз по умолчанию
4) маркирую пакеты (p2p-траффика и pop,smtp)
..._iptables...
#p2p
$IPTABLES -t mangle -A PREROUTING -j CONNMARK --restore-mark
$IPTABLES -t mangle -A PREROUTING -m mark ! --mark 0 -j ACCEPT
$IPTABLES -t mangle -A PREROUTING -m ipp2p --ipp2p -j MARK --set-mark 0x1
$IPTABLES -t mangle -A PREROUTING -m mark --mark 0x1 -j CONNMARK --save-mark
#mail
$IPTABLES -t mangle -A PREROUTING -p tcp -m multiport --dports 25,110 -j MARK --set-mark 0x2
5) делаю переброс их с ppp0 на ppp1
..._iproute...
$RULE add fwmark 0x1 priority 99 table ppp1 #p2p
$RULE add fwmark 0x2 priority 100 table ppp1 #mail

$RULE add from $INET_IP_2 priority 101 table ppp1
$RULE add from $INET_IP priority 102 table ppp0

$ROUTE add default via $INET_GW dev $INET_DEV src $INET_IP table ppp0
$ROUTE add default via $INET_GW_2 dev $INET_DEV_2 src $INET_IP_2 table ppp1

$ROUTE flush cache

6)Поднят NAT в iptables
$IPTABLES -t nat -A POSTROUTING -o $INET_DEV -j SNAT --to-source $INET_IP
$IPTABLES -t nat -A POSTROUTING -o $INET_DEV_2 -j SNAT --to-source $INET_IP_2

ПРОБЛЕМА: Пакеты почты проходят без проблем на второй канал, а p2p не хотят, хотя в таблицу пакеты попадают и, САМОЕ ИНТЕРЕСНОЕ, программа mtorrent перестает качать вообще.

Объясните пожалуйста порядок прохождения пакета и его возврата в случае использования клиентом в локальной сети (за NAT) p2p сетей (bittorrent например).
Я понимаю так в моем случае сначала цепочка (mangle)PREROUTING(маркируем пакеты)->FORWARD(фильтруем разрешенные пакеты, остальные отбрасываем)->(iproute направляет пакеты в шлюз в зависимости от маркировки)->(nat)POSTROUTING (маскируем пакеты)
НО: может после маркировки пакет попадает в локальный процесс и идет соотвествено по другим цепочкам (по моему чушь, но всякое бывает :))

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Порядок прохождения пакетов через iptables и iproute"  +/
Сообщение от sn (??) on 04-Сен-07, 10:46 
>Я понимаю так в моем случае сначала цепочка (mangle)PREROUTING(маркируем пакеты)->FORWARD(фильтруем разрешенные пакеты, остальные отбрасываем)->(iproute направляет пакеты в шлюз в зависимости от маркировки)->(nat)POSTROUTING (маскируем пакеты)

после роутинга либо форвард либо инпут.

>НО: может после маркировки пакет попадает в локальный процесс и идет соотвествено
>по другим цепочкам (по моему чушь, но всякое бывает :))

может.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Порядок прохождения пакетов через iptables и iproute"  +/
Сообщение от sl1der (ok) on 04-Сен-07, 11:18 
>>Я понимаю так в моем случае сначала цепочка (mangle)PREROUTING(маркируем пакеты)->FORWARD(фильтруем разрешенные пакеты, остальные отбрасываем)->(iproute направляет пакеты в шлюз в зависимости от маркировки)->(nat)POSTROUTING (маскируем пакеты)
>
>после роутинга либо форвард либо инпут.

Это в общем случае форвард или инпут. Я спрашиваю конктретно, что в моем случае?
Я так понимаю тут транзитные пакеты, но меня смущает маркировка.
Как взаимодействуют iproute и iptable в случае использования NAT и маркировки?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Порядок прохождения пакетов через iptables и iproute"  +/
Сообщение от tux2002 email on 07-Сен-07, 11:22 
Руководствуюсь такой вот кривой картинкой :) запарился

                           network
                             |
                           mangle
                           PREROUTING
                             |
                             nat
                          PREROUTING
                             |
                            Routing
          ----------------- decision------------------
          |                                                  |
        mangle                                     mangle
        INPUT                                      FORWARD
          |                                                  |
        filter                                      filter
        INPUT                                       FORWARD
          |                                                  |
       Local process                                 |            
          |                                               |
        Routing                                        |
        decision                                       |
          |                                          |
        mangle                                       |
        OUTPUT                                           |
          |                                          |
         nat                                         |
        OUTPUT                                       |
          |                                          |
         filter                                      |
        OUTPUT                                       |
          |                                          |
          --------------------------------------------
                             |
                           mangle
                         POSTROUTING
                             |
                            nat
                         POSTROUTING
                             |
                            network

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Порядок прохождения пакетов через iptables и iproute"  +/
Сообщение от tux2002 email on 07-Сен-07, 11:32 
http://iptables-tutorial.frozentux.net/
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Порядок прохождения пакетов через iptables и iproute"  +/
Сообщение от sl1der (ok) on 23-Окт-07, 10:56 
Спасибо за ответы, это я прекрасно знаю. Возможно вопрос неправильно сформулирован.
Я имел ввиду именно прохождение bittorent трафика.
Прочитайте пожалуйста внимательно первый пост.

Суть в том, что порты 25 и 110, icmp прекрасно метяться и направляются по разным маршрутам. А p2p траффик метиться, но на этом все и заканчивается.

В теории все должно работать.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Порядок прохождения пакетов через iptables и iproute"  +/
Сообщение от kassy_k email(??) on 10-Янв-11, 00:23 
> В теории все должно работать.

Вижу, что тема довольно старая, но столкнулся с очень похожей проблемой:

https://www.opennet.ru/openforum/vsluhforumID1/90672.html#

Вижу только, что пакет маркируется, во внешний мир через НАТ уходит и даже из внешнего мира возвращается ответ. Не могу понять,что происходит после того, как ответный пакет во внешний интерфейс уперся.

Если кто решил проблему не откажите в помощи.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

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

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




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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