The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"host with 2 gateways and iptables -j MARK"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"host with 2 gateways and iptables -j MARK" 
Сообщение от NetKnight emailИскать по авторуВ закладки(??) on 19-Окт-05, 02:58  (MSK)
Настраиваю по доке "linux advanced ruoting how-to" роутинг через два гейтвея и у меня следующая проблема: Не проходит трафик который рутится на основе марков (fwmark).

Вот что я имею:
eth0 - Gaeway 1 iface
ip0 - ip for eth0
gw0 - gateway ip for eth0
eth1 - Internal iface
ip1 - ip for eth1
eth2 - gateway 2 iface
ip2 - ip for eth2
gw2 - gateway for eth2

Прописываю следующее:
iptables -t mangle -A PREROUTING -p icmp -j MARK --set-mark 6

ip rule add fwmark 6 table T1
ip rule add main
ip rule add default

Правила роутинга в T1 прописаны правильно, т.к. если в критерии правила не ставить fwmark - всё работает. А вот с этой fwmark трейсроут доходит только до гейтвея gw0 или gw2 (Пробовал направлять в оба). Тоесть решение о роутинге принимается правильно и пакеты уходят с сервера через правильный интерфейс, но вот на хардварном гейтвее (куда напрвлены eth0 и eth2) застревают. Последним в маршруте трейсировки любого адреса находится адрес указаного гейтвея и дальше не идёт :(

Почему такое может быть? Какая разница использую я марки или нет? Они же ведь только в кернеле сущевствуют. Почему хост-гейтвей не пропускает маркированые пакеты? Или есть ещё способы направлять маршруты по портам и протоколам?

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

 Оглавление

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

1. "host with 2 gateways and iptables -j MARK" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 19-Окт-05, 08:51  (MSK)
>ip rule add fwmark 6 table T1
Покажите
ip rule list
ip route list table T1
>ip rule add main
>ip rule add default
Это зачем?
Покажите результаты traceroute.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "host with 2 gateways and iptables -j MARK" 
Сообщение от den Искать по авторуВ закладки(??) on 19-Окт-05, 12:11  (MSK)
Я когда-то  пытался аналогичную задачу решить, так и не нашел решения. Самое интересное что при маркировани icmp и завороте трафика в нужный table c дальнейшим snat обнарожилось, что пакеты маркируются правильно , уходят в нужный интерфйс с предварительным snat, echo reply возвращаются на внешний интерфейс но обратного nat не происходит. Читание манов на предмет connection traking тоже ничего не дало. Как заставить ядро производить замену ип на внутринние с последующим их форвардом к клиенту ?

PS: для TCP/UDP траффика все работает без проблем

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

3. "host with 2 gateways and iptables -j MARK" 
Сообщение от NetKnight emailИскать по авторуВ закладки(??) on 19-Окт-05, 16:59  (MSK)
>>ip rule add fwmark 6 table T1
>Покажите
>ip rule list
>ip route list table T1
>>ip rule add main
>>ip rule add default
>Это зачем?

Как зачем? Это направление в главную таблицу роутинга. Обычно они уже есть по дефолту, но я делал flush и по этому заново их прописывал.

>Покажите результаты traceroute.

#ip rule list
0:      from all lookup local
99:     from myhost fwmark 6 lookup T1
998:    from all lookup main
999:    from all lookup default

#ip ruote list table T1
192.168.3.0/24 dev eth2  scope link  src 192.168.3.254
192.168.2.0/24 dev eth1  scope link  src 192.168.2.1
127.0.0.0/8 dev lo  scope link
default via 192.168.3.1 dev eth2

machine myhost#tracert www.sun.com
Tracing route to www.sun.com [209.249.116.195]
over a maximum 30 hops:
1 <1 ms <1 ms * 192.168.2.1
2 <1 ms <1 ms 1 ms 192.168.3.1
3 * * * *
4 * * * *
5 * * * *
....... И так до упора

Для теста fwmark ставится на все пакеты которые идут от myhost.
Если в ip rule заменить
99:     from myhost fwmark 6 lookup T1
на
99:     from myhost lookup T1
всё прекрасно работает.

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

4. "host with 2 gateways and iptables -j MARK" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 19-Окт-05, 17:25  (MSK)
>Как зачем? Это направление в главную таблицу роутинга. Обычно они уже есть
>по дефолту, но я делал flush и по этому заново их
>прописывал.
Делали flush чего? Кэша?
>machine myhost#tracert www.sun.com
>Tracing route to www.sun.com [209.249.116.195]
>over a maximum 30 hops:
>1 <1 ms <1 ms * 192.168.2.1
>2 <1 ms <1 ms 1 ms 192.168.3.1
>3 * * * *
>4 * * * *
>5 * * * *
Проверьте tcpdump-ом на eth2 с каким source ip уходят пакеты.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


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

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




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

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