The OpenNET Project / Index page

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

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

"iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от SFireMan (??) on 20-Дек-08, 19:21 
имеется:
-A OUTPUT -d 10.0.0.0/8 -j MARK --set-mark 2
-A OUTPUT -d 213.24.37.66/32 -j MARK --set-mark 2
-A OUTPUT -d 193.124.16.66/32 -j MARK --set-mark 2
-A OUTPUT -d 213.24.37.74/32 -j MARK --set-mark 2
все правила добавились без проблем.
через LOG смотрел, пакеты метятся успешно.

ip rule add fwmark 2 table 20
ip route add 192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.1 table 20
ip route add 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.2 table 20
ip route add default via 192.168.1.1 dev eth1 table 20
ip route flush cache

Пакеты не прут через эту таблицу маршрутизации, уже всю башку сломал как заставить это работать, перчитал тучу форумов. где-то пишут что все работает, где-то что такое сделать нельзя.
Где истина?

пробовал удалять маршрут по умолчанию route del default gw 192.168.1.1
тогда вообще пишет network is unreacheble - сеть не достижима, хотя по идее пакеты должны были пометится, и пойти через другую табл. маршрутизации

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

 Оглавление

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


1. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от SFireMan (??) on 20-Дек-08, 19:31 
uname -a
Linux LanSrv 2.6.26-1-686 #1 SMP Wed Nov 26 19:14:11 UTC 2008 i686 GNU/Linux
Debian Lenny

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

2. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от PavelR (??) on 20-Дек-08, 20:09 
>имеется:
>-A OUTPUT -d 10.0.0.0/8 -j MARK --set-mark 2
>-A OUTPUT -d 213.24.37.66/32 -j MARK --set-mark 2
>-A OUTPUT -d 193.124.16.66/32 -j MARK --set-mark 2
>-A OUTPUT -d 213.24.37.74/32 -j MARK --set-mark 2
>все правила добавились без проблем.
>через LOG смотрел, пакеты метятся успешно.

Конечно метятся, но только после того как будет принято решение о маршрутизации пакета.

Рекомендую ознакомиться со схемой прохождения пакетов сквозь iptables и функции маршрутизации ядра.


>[оверквотинг удален]
>
>Пакеты не прут через эту таблицу маршрутизации, уже всю башку сломал как
>заставить это работать, перчитал тучу форумов. где-то пишут что все работает,
>где-то что такое сделать нельзя.
>Где истина?
>
>пробовал удалять маршрут по умолчанию route del default gw 192.168.1.1
>тогда вообще пишет network is unreacheble - сеть не достижима, хотя по
>идее пакеты должны были пометится, и пойти через другую табл. маршрутизации
>

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

3. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от SFireMan (??) on 20-Дек-08, 20:46 
Да ознакомился я уже давно с ней. Как мне решить мою задачу?
Изначально мне требовалось маршрутизировать локальный трафик от 1 приложения через 1 сеть, от других через другую(делал через iptables owner) - пакеты метились но куда надо не шли.
короче задачу нужно решить, если не через iptables и ip route то как?????
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от PavelR (??) on 20-Дек-08, 21:01 
>Да ознакомился я уже давно с ней. Как мне решить мою задачу?

Документацию читайте. Думайте.

>
>Изначально мне требовалось маршрутизировать локальный трафик от 1 приложения через 1 сеть,
>от других через другую(делал через iptables owner) - пакеты метились но
>куда надо не шли.
>короче задачу нужно решить, если не через iptables и ip route то
>как?????

Значит не там метились.

Все правильно. через иптаблес и ip ru/ro.
Решайте, в чем проблема ?

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

6. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от SFireMan (??) on 20-Дек-08, 21:14 
>Значит не там метились.
>
>Все правильно. через иптаблес и ip ru/ro.
>Решайте, в чем проблема ?

А вы думаете существует какое то другое место кроме mangle output где маркированные пакеты повалят косяками через нужную мне табл. маршрутизации?

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

7. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от PavelR (??) on 20-Дек-08, 21:41 
>>Значит не там метились.
>>
>>Все правильно. через иптаблес и ip ru/ro.
>>Решайте, в чем проблема ?
>
>А вы думаете существует какое то другое место кроме mangle output где
>маркированные пакеты повалят косяками через нужную мне табл. маршрутизации?

1. где было написано что таблица - mangle ?
2. в mangle есть еще и PREROUTING

3. Телепатов здесь нет.

4. Считаете себя самым умным - так и читайте документацию, какие проблемы ?

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

8. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от PavelR (??) on 20-Дек-08, 21:44 
>>>Значит не там метились.
>>>
>>>Все правильно. через иптаблес и ip ru/ro.
>>>Решайте, в чем проблема ?
>>
>>А вы думаете существует какое то другое место кроме mangle output где
>>маркированные пакеты повалят косяками через нужную мне табл. маршрутизации?
>
>1. где было написано что таблица - mangle ?
>2. в mangle есть еще и PREROUTING

  насчет PREROUTING погорячился.

  а вот OUTPUT есть не только в mangle.

>
>3. Телепатов здесь нет.
>
>4. Считаете себя самым умным - так и читайте документацию, какие проблемы
>?

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

9. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от Oyyo on 20-Дек-08, 22:32 
>>Значит не там метились.
>>
>>Все правильно. через иптаблес и ip ru/ro.
>>Решайте, в чем проблема ?
>
>А вы думаете существует какое то другое место кроме mangle output где
>маркированные пакеты повалят косяками через нужную мне табл. маршрутизации?

читайте руководство по iptables "Порядок движения транзитных пакетов"
транзитные пакеты не поподают в mangle output

правило
-A OUTPUT -d 10.0.0.0/8 -j MARK --set-mark 2
есть абсурд как и остальные ваши правила

>>через LOG смотрел, пакеты метятся успешно

какие пакеты??? смотри внимательней

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

10. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от SFireMan (??) on 20-Дек-08, 23:30 
>[оверквотинг удален]
>читайте руководство по iptables "Порядок движения транзитных пакетов"
>транзитные пакеты не поподают в mangle output
>
>правило
>-A OUTPUT -d 10.0.0.0/8 -j MARK --set-mark 2
>есть абсурд как и остальные ваши правила
>
>>>через LOG смотрел, пакеты метятся успешно
>
>какие пакеты??? смотри внимательней

ох... а вы тему читали, заголовок?
Пишу ясно: как завернуть !ЛОКАЛЬНЫЙ! трафик, а не транзитный, нахрена мне транзитный???
цель именно локальный трафик, и именно поэтому цепочка mangle output.
трафик там маркируется, все нормально смотрел через iptables -j LOG.
а вот в таблицу маршрутизации нужную не попадет.
Вот и спрашиваю что нужно сделать чтобы меченные через iptables ЛОКАЛЬНЫЕ пакеты, бегали по разным табличкам маршрутизации.
Надеюст теперь понятно разъяснил!
Заранее спасибо за помощь.

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

11. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от Oyyo on 21-Дек-08, 08:50 
>>[оверквотинг удален]
>>читайте руководство по iptables "Порядок движения транзитных пакетов"
>>транзитные пакеты не поподают в mangle output
>Вот и спрашиваю что нужно сделать чтобы меченные через iptables ЛОКАЛЬНЫЕ пакеты,
>бегали по разным табличкам маршрутизации.
>Надеюст теперь понятно разъяснил!
>Заранее спасибо за помощь.

прошу прощения, меня смутили правила iptables

вот здесь непонятка
>ip route add default via 192.168.1.1 dev eth1 table 20
>пробовал удалять маршрут по умолчанию route del default gw 192.168.1.1

чтоб не задавать лишних вопросов плз что делается в таблицах маршрутизации,
вывод команд ip ro ls
и ip ro ls table 20 в студию

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

12. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от PavelR (??) on 21-Дек-08, 11:36 
>[оверквотинг удален]
>
>прошу прощения, меня смутили правила iptables
>
>вот здесь непонятка
>>ip route add default via 192.168.1.1 dev eth1 table 20
>>пробовал удалять маршрут по умолчанию route del default gw 192.168.1.1
>
>чтоб не задавать лишних вопросов плз что делается в таблицах маршрутизации,
>вывод команд ip ro ls
>и ip ro ls table 20 в студию

не надо никаких выводов команд, мы же телепаты :)))


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

13. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от SFireMan (??) on 21-Дек-08, 12:58 
мечу весь исх. трафик от польз. proxy:
iptables -t mangle -A OUTPUT -m owner --uid-owner proxy -j MARK --set-mark 1

табл. марш. main,
ip ro ls:
192.168.2.0/24 dev dvb0_0  proto kernel  scope link  src 192.168.2.1
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.2
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.1
85.195.190.0/23 dev tap0  proto kernel  scope link  src 85.195.191.34
default via 85.195.191.254 dev tap0

табл. марш. 20,
ip ro ls table 20:
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.2
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.1
default via 192.168.1.1 dev eth1

правила заворота в таблицы,
ip ru ls:
0:      from all lookup local
32765:  from all fwmark 0x1 lookup 20
32766:  from all lookup main
32767:  from all lookup default

Итог, sudo -u proxy ping www.ya.ru
трафик побежал через main...
iptables -t mangle -A OUTPUT -m owner --uid-owner proxy -j LOG
dmesg показывает что пакетики метятся...

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

14. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от SFireMan (??) on 21-Дек-08, 13:24 
Меня озорило!!!
внимательный вгляд в вывод tcpdump'a показал что пакеты всетаки УХОДЯТ с нужного мне шлюза, но идут с IP шлюза из табл MAIN!!!
буду искать решение, полагаю оно заключается в SNAT...
НО ПОЧЕМУ ТАК, плиииз объясните...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от Oyyo on 21-Дек-08, 14:06 
>Меня озорило!!!
>внимательный вгляд в вывод tcpdump'a показал что пакеты всетаки УХОДЯТ с нужного
>мне шлюза, но идут с IP шлюза из табл MAIN!!!
>буду искать решение, полагаю оно заключается в SNAT...
>НО ПОЧЕМУ ТАК, плиииз объясните...

ну каким боком здесь SNAT ??? SNAT это самая последняя инстанция на пути пакета
лучше покопайся в прокси, чего он там присваивает пакетам

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

16. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от Oyyo on 21-Дек-08, 14:10 
>>Меня озорило!!!
>>внимательный вгляд в вывод tcpdump'a показал что пакеты всетаки УХОДЯТ с нужного
>>мне шлюза, но идут с IP шлюза из табл MAIN!!!
>>буду искать решение, полагаю оно заключается в SNAT...
>>НО ПОЧЕМУ ТАК, плиииз объясните...
>
>ну каким боком здесь SNAT ??? SNAT это самая последняя инстанция на
>пути пакета
>лучше покопайся в прокси, чего он там присваивает пакетам

P.S. хотя конечно х.з. что у тебя за правила в нат таблице, по идее на  eth1 долженбыть свой SNAT и отправлять пакеты с своим IP

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

17. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от SFireMan (??) on 21-Дек-08, 14:23 
видишь ли, у мну в нат таблице ничего особенного нет, кроме маскарада
-A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
возможно виноват, был и он, однако tcpdump раскрыл мне глаза, ведь получалось очень некрасиво:
пакеты шли из шюза который мне нужен, но с ip-адресом источника другого шлюза - вот такая вот кулебяка, решилось проблема SNAT'ом, щас буду копать на предмет почему такое происходило, думаю дело в непродуманном мной маскарадинге, не думаю что это баг linux.
P.S. уже больше месяца пробовал эту проблему решить, и таким методом как щас вышло? не выходило никогда, радости полные штаны :)))

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

18. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от Oyyo on 21-Дек-08, 14:51 
>[оверквотинг удален]
>
>-A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
>возможно виноват, был и он, однако tcpdump раскрыл мне глаза, ведь получалось
>очень некрасиво:
>пакеты шли из шюза который мне нужен, но с ip-адресом источника другого
>шлюза - вот такая вот кулебяка, решилось проблема SNAT'ом, щас буду
>копать на предмет почему такое происходило, думаю дело в непродуманном мной
>маскарадинге, не думаю что это баг linux.
>P.S. уже больше месяца пробовал эту проблему решить, и таким методом как
>щас вышло? не выходило никогда, радости полные штаны :)))

ну конечно...
1. зачем указывать src , ты кого-то выпускаешь с своим собственным IP?
2. так маскарадятся все уходящие пакеты на любом интерфейсе

указываешь интерфейс и маскарад, примерно так:
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
т.е. eth0 делает свой маскарад eth1 свой

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

19. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от SFireMan (??) on 21-Дек-08, 16:36 
>ну конечно...
>1. зачем указывать src , ты кого-то выпускаешь с своим собственным IP?
>
>2. так маскарадятся все уходящие пакеты на любом интерфейсе
>
>указываешь интерфейс и маскарад, примерно так:
>-A POSTROUTING -o eth0 -j MASQUERADE
>-A POSTROUTING -o eth1 -j MASQUERADE
>т.е. eth0 делает свой маскарад eth1 свой

Выпускаю пользователей из локальной сети 192.168.10.0/24.
Но! дело не в маскараде, т.к. при полной очистке NAT таблицы(iptables -t nat -F), трафик все равно прет через шлюз с чужой ip-шкой другого шлюза, помогает только явный SNAT такого трафика на правильный шлюз... Это что баг в Linux? Почему?

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

20. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от PavelR (??) on 21-Дек-08, 18:14 
>[оверквотинг удален]
>>указываешь интерфейс и маскарад, примерно так:
>>-A POSTROUTING -o eth0 -j MASQUERADE
>>-A POSTROUTING -o eth1 -j MASQUERADE
>>т.е. eth0 делает свой маскарад eth1 свой
>
>Выпускаю пользователей из локальной сети 192.168.10.0/24.
>Но! дело не в маскараде, т.к. при полной очистке NAT таблицы(iptables -t
>nat -F), трафик все равно прет через шлюз с чужой ip-шкой
>другого шлюза, помогает только явный SNAT такого трафика на правильный шлюз...
>Это что баг в Linux? Почему?

Выведи и покажи:

iptables -nvL
iptables -t nat -nvL

ip ru sh

ip ro sh для всех таблиц, включая main и default

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

21. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от Oyyo on 21-Дек-08, 19:11 
>[оверквотинг удален]
>>Это что баг в Linux? Почему?
>
>Выведи и покажи:
>
>iptables -nvL
>iptables -t nat -nvL
>
>ip ru sh
>
>ip ro sh для всех таблиц, включая main и default

правильно, явный маскарад спасает, в принципе так и должно быть, для этого и предназначен маскарад
ты роутишь на второй шлюз всё что идёт с прокси, который сам маскарадит пакеты
покопайся в настройках прокси

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

5. "iptables завернуть локальный трафик в таблицу маршрутизации"  
Сообщение от Oyyo on 20-Дек-08, 21:06 
>[оверквотинг удален]
>
>Изначально мне требовалось маршрутизировать локальный трафик от 1 приложения через 1 сеть,
>от других через другую(делал через iptables owner) - пакеты метились но
>куда надо не шли.
>короче задачу нужно решить, если не через iptables и ip route то
>как?????
>-A OUTPUT -d 10.0.0.0/8 -j MARK --set-mark 2
>-A OUTPUT -d 213.24.37.66/32 -j MARK --set-mark 2
>-A OUTPUT -d 193.124.16.66/32 -j MARK --set-mark 2
>-A OUTPUT -d 213.24.37.74/32 -j MARK --set-mark 2

эти правила должны писаться в таблице mangle, надеюсь это так :)
цепочка OUTPUT используется для перенаправления локальных пакетов например от ДНСа или любой другой службы работающей непосредственно на этой машине

для перенаправления проходящего трафика пакеты маркируются
в цепочке PREROUTING таблицы mangle, примерно так для файла /etc/sysconfig/iptables:
*mangle
-A PREROUTING -s 10.0.0.0/8 -j MARK --set-mark 2
-A PREROUTING -s 213.24.37.66/32 -j MARK --set-mark 2
-A PREROUTING -s 193.124.16.66/32 -j MARK --set-mark 2
-A PREROUTING -s 213.24.37.74/32 -j MARK --set-mark 2
COMMIT

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

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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