The OpenNET Project / Index page

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

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

"Пакеты застревают в таблицах iproute2" 
Сообщение от Cayz emailИскать по авторуВ закладки(ok) on 27-Дек-05, 19:15  (MSK)
Два pppoe от одного прова с разными тарифными планами
задача: перенаправить помеченый трафик на ppp1, остальное по дефолту на ppp0.

iptables -t mangle -A PREROUTING -s 192.168.0.2 -j MARK --set-mark 111

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j SNAT --to-source     213.227.238.63
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp1 -j SNAT --to-source 213.227.238.151

echo 150 xxx >> /etc/iproute2/rt_tables

ip rule add fwmark 111 table xxx
ip route add default dev ppp1 table xxx
ip route flush cache

дефолтный маршрут в main через ppp0

так вот все пакеты попадающие в таблицу xxx, там где дефолт на ppp1 дальше не двигаются, а если удалить в этой таблице default, то все нормально проваливается в main и идет на ppp0. Менял местами дефолтные маршруты все также... Тот что указан в xxx кудато трафик девает. Причем tcpdump говорит что пакетов на том интерфейсе и небыло
Пробовал загонять в таблицу пакеты по другим критериям (источник, направление) результат тот же - не проходит через дефолт в xxx.

Debian Sarge kernel 2.4.27 advanced и policy роутинги включены

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

 Оглавление

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

1. "Пакеты застревают в таблицах iproute2" 
Сообщение от ipmanyak Искать по авторуВ закладки(??) on 28-Дек-05, 07:41  (MSK)
>Два pppoe от одного прова с разными тарифными планами
>задача: перенаправить помеченый трафик на ppp1, остальное по дефолту на ppp0.
>
>iptables -t mangle -A PREROUTING -s 192.168.0.2 -j MARK --set-mark 111
>
>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j SNAT --to-source
>    213.227.238.63
>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp1 -j SNAT --to-source
>213.227.238.151
>
>echo 150 xxx >> /etc/iproute2/rt_tables
>
>ip rule add fwmark 111 table xxx
>ip route add default dev ppp1 table xxx
>ip route flush cache
>
>дефолтный маршрут в main через ppp0
>
>так вот все пакеты попадающие в таблицу xxx, там где дефолт на
>ppp1 дальше не двигаются, а если удалить в этой таблице default,
>то все нормально проваливается в main и идет на ppp0. Менял
>местами дефолтные маршруты все также... Тот что указан в xxx кудато
>трафик девает. Причем tcpdump говорит что пакетов на том интерфейсе и
>небыло
>Пробовал загонять в таблицу пакеты по другим критериям (источник, направление) результат тот
>же - не проходит через дефолт в xxx.
>
>Debian Sarge kernel 2.4.27 advanced и policy роутинги включены

по-моему при наличии двух каналов нужно маршрутизировать по источнику
почитай  статью  http://www.osp.ru/lan/2002/05/042.htm   там есть примеры
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Пакеты застревают в таблицах iproute2" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 28-Дек-05, 10:17  (MSK)
Попробуйте так

ip route add default via 192.168.1.254 dev ppp1 table xxx
ip route add 192.168.1.254 dev ppp1 src 192.168.1.1 table xxx
или вместо последнего
ip route add 192.168.1.254 dev ppp1 proto kernel scope link src 192.168.1.1 table xxx

где
192.168.1.1 - адрес интерфейса ppp1
192.168.1.254 - адрес удаленного хоста для интерфейса ppp1

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

3. "Пакеты застревают в таблицах iproute2" 
Сообщение от Cayz emailИскать по авторуВ закладки(??) on 29-Дек-05, 02:27  (MSK)
>Попробуйте так
>
>ip route add default via 192.168.1.254 dev ppp1 table xxx
>ip route add 192.168.1.254 dev ppp1 src 192.168.1.1 table xxx
>или вместо последнего
>ip route add 192.168.1.254 dev ppp1 proto kernel scope link src 192.168.1.1
>table xxx
>
>где
>192.168.1.1 - адрес интерфейса ppp1
>192.168.1.254 - адрес удаленного хоста для интерфейса ppp1

Попробовал, уже лучше пакеты появились на интерфейсе, даже ответы на пинги  на интерфейс приходят, но дальше (на пингующую машину) не идут.

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

4. "Пакеты застревают в таблицах iproute2" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 29-Дек-05, 08:55  (MSK)
Не совсем понял, кто кого пингует. Опишите подробней.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Пакеты застревают в таблицах iproute2" 
Сообщение от Cayz emailИскать по авторуВ закладки(??) on 29-Дек-05, 14:03  (MSK)
>Не совсем понял, кто кого пингует. Опишите подробней.

На роутере есть два ppp* интерфейса с белыми IP и eth0 с адресом локальной сети (192.168.0.6).

ставлю метки на пакеты
#iptables -t mangle -A PREROUTING -s 192.168.0.2 -j MARK --set-mark 110


#ip rule
    0:  from all  lookup local
32765:  from all  fwmark 0x6e  lookup xxx  
32766:  from all  lookup main
32767:  from all  lookup default

#ip route
213.227.224.8  dev ppp0  proto kernel  scope link  src 213.227.238.63
213.227.224.8  dev ppp1  proto kernel  scope link  src 213.227.238.151
192.168.0.1/24  dev eth0  proto kernel  scope link  src 192.168.0.6
default  dev ppp0  scope link

#ip route ls table xxx
213.227.224.8  dev ppp1  proto kernel  scope link  src 213.227.238.151
default  dev ppp1  scope link

Теперь пингую:
Пингую ya.ru со 192.168.0.2 одновременно слушаю tcpdump-ом, запросы на ya.ru уходят с ppp1 с адресом соответствующим адресу этого интерфейса (для него SNAT применен) ответы от ya.ru приходят на ppp1 , но до пингующей машины не доходят.

теперь удаляю файрвольное правило
#iptables -t mangle -D PREROUTING -s 192.168.0.2 -j MARK --set-mark 110

Пингую с той же машины (уже идет через ppp0) ya.ru все нормально все пингуется, ответ доходит до 192.168.0.2.

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

6. "Пакеты застревают в таблицах iproute2" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 29-Дек-05, 14:41  (MSK)
>#ip route
>213.227.224.8  dev ppp0  proto kernel  scope link  src
>213.227.238.63
>213.227.224.8  dev ppp1  proto kernel  scope link  src
>213.227.238.151
>192.168.0.1/24  dev eth0  proto kernel  scope link  src
>192.168.0.6
>default  dev ppp0  scope link
Странно. Таблица обычно выглядит так

213.227.224.8  dev ppp0  proto kernel  scope link  src 213.227.238.63
default via 213.227.224.8 dev ppp0

или Вы "руками" добавляете default gw?

Покажите правила iptables. Посмотрите на других интерфейсах tcpdump на предмет ответного пакета. Попробуйте все-таки маршрутизацию по источнику:
ip rule add from 192.168.0.2 table xxx

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

7. "Пакеты застревают в таблицах iproute2" 
Сообщение от Cayz emailИскать по авторуВ закладки(??) on 29-Дек-05, 15:05  (MSK)
По пробовал добавить rule по источнику
add from 192.168.0.2
и по направлению
add to 63.209.10.216   (www.whatismyip.com)
действительно все работает... странно что с первого раза не получилось, наверное от переутомления....
Выходит, что маршрутизация по меткам пакетов не дружит с SNAT и MASQUERADE?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Пакеты застревают в таблицах iproute2" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 29-Дек-05, 15:27  (MSK)
Млин, забыл, что iptables использует десятичные значения, а iproute2 - шестнадцатеричные. Попробуйте еще раз fwmark, но используйте метку, например, 2.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Пакеты застревают в таблицах iproute2" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 29-Дек-05, 15:55  (MSK)
http://gazette.linux.ru.net/rus/articles/lartc/c1430.html
Некоторые наши читатели отмечают, что как минимум MASQ и SNAT конфликтуют с механизмом маркировки пакетов. Расти Рассел (Rusty Russell) описал эту проблему ( http://lists.samba.org/pipermail/netfilter/2000-November/006089.html). Просто, отключите фильтр проверки обратного адреса (см. главу Параметры настройки сети в ядре http://gazette.linux.ru.net/rus/articles/lartc/c1699.html) и все должно заработать.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Пакеты застревают в таблицах iproute2" 
Сообщение от Cayz emailИскать по авторуВ закладки(ok) on 29-Дек-05, 16:55  (MSK)
Всем спасибо!!

Значит iproute нипричем

Действительно, отключил фильтр проверки обратного адреса для интерфейса на который роутятся пакеты по правилу fwmark и всё работает.
Теперь можно заняться распределением трафика между интерфейсами!
Всех с наступающим 2006 !!!!

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


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

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




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

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