URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 72673
[ Назад ]

Исходное сообщение
"ip route - порядок прохождения и приоритеты ..."

Отправлено __Serg__ , 05-Мрт-07 23:03 
Вопрос в следующем:
Хочу чтобы траффик с шлюза (192.168.7.254) уходил на сеть 195.248.160.0/19 через таблицу T1 ну и далее через 195.248.184.xxx в инет.
Для клиентских машин (192.168.200.0/24) это получилось сделать:
32759:  from 192.168.200.0/24 to 195.248.160.0/19 lookup T1
(для клиентов из сети 192.168.7.0/24 должно идти через 192.168.7.1, как оно и идет)
195.248.160.0   192.168.7.1     255.255.224.0   UG    0      0        0 eth0

но года пакеты уходят с шлюза то они почему-то роутятся согластно обычной таблици маршрутизации на 192.168.7.1.
Пробовал вписать:
ip rule add from 192.168.7.254 to 195.248.160.0/19 table T1 prio 1
маршурт добавился, очистил кеш, но роут попрежнему идет на 192.168.7.1 :(
В общем как задать более высокий приоритет для 192.168.7.254
чтобы 192.168.7.254 -> 195.248.184.xxx
а 192.168.7.0/24 -> 192.168.7.1

Вот вывод команд (лишенее не касающееся нужных интерфейсов убрал)
# ip rule ls
0:      from all lookup local
1:      from 192.168.7.254 to 195.248.160.0/19 lookup T1
32759:  from 192.168.200.0/24 to 195.248.160.0/19 lookup T1
32763:  from 195.248.184.xxx lookup T1
32766:  from all lookup main
32767:  from all lookup default

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
195.248.176.164 0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.7.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
195.248.160.0   192.168.7.1     255.255.224.0   UG    0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         195.248.176.164 0.0.0.0         UG    0      0        0 ppp0


Содержание

Сообщения в этом обсуждении
"ip route - порядок прохождения и приоритеты ..."
Отправлено homelan , 06-Мрт-07 12:59 
>Пробовал вписать:
>ip rule add from 192.168.7.254 to 195.248.160.0/19 table T1 prio 1
>маршурт добавился, очистил кеш, но роут попрежнему идет на 192.168.7.1 :(
>В общем как задать более высокий приоритет для 192.168.7.254
>чтобы 192.168.7.254 -> 195.248.184.xxx
>а 192.168.7.0/24 -> 192.168.7.1

Сумбурно ты как-то все описал, без поллитры не разобраться :D
Или ты в чем-то ошибся, или что-то недописал. Схему что ли нарисуй, что куда и через какой интерфейс бегает по дефолту, и что откуда и куда ты в итоге хочешь перенаправить. А то ничего непонятно. Что за сеть 195.248.184.xxx ? Где она? Как в нее попасть?


"ip route - порядок прохождения и приоритеты ..."
Отправлено __Serg__ , 06-Мрт-07 13:19 
>>Пробовал вписать:
>>ip rule add from 192.168.7.254 to 195.248.160.0/19 table T1 prio 1
>>маршурт добавился, очистил кеш, но роут попрежнему идет на 192.168.7.1 :(
>>В общем как задать более высокий приоритет для 192.168.7.254
>>чтобы 192.168.7.254 -> 195.248.184.xxx
>>а 192.168.7.0/24 -> 192.168.7.1
>
>Сумбурно ты как-то все описал, без поллитры не разобраться :D
>Или ты в чем-то ошибся, или что-то недописал. Схему что ли нарисуй,
>что куда и через какой интерфейс бегает по дефолту, и что
>откуда и куда ты в итоге хочешь перенаправить. А то ничего
>непонятно. Что за сеть 195.248.184.xxx ? Где она? Как в нее
>попасть?

еще раз упрощенно:
есть шлюз с ип внутренние (192.168.7.254, 192.168.200.1 (vpn)), внешний на нем 195.248.184.xxx/32
так вот есть сетка (195.248.160.0/19) которая должна роуится по такой схеме:

1) from 192.168.7.0/24 to 95.248.160.0/19 gw 192.168.7.1
2) from 192.168.7.254/32 to 195.248.160.0/19 gw 195.248.184.xxx
3) from 192.168.200.0/24 to 195.248.160.0/19 gw 195.248.184.xxx
так вот пунткы 1 и 3 у меня работают а пункт 2 - нет, роут идет на 192.168.7.1 :(


"ip route - порядок прохождения и приоритеты ..."
Отправлено homelan , 06-Мрт-07 14:24 
>так вот есть сетка (195.248.160.0/19) которая должна роуится по такой схеме:
>
>1) from 192.168.7.0/24 to 195.248.160.0/19 gw 192.168.7.1
>2) from 192.168.7.254/32 to 195.248.160.0/19 gw 195.248.184.xxx
>3) from 192.168.200.0/24 to 195.248.160.0/19 gw 195.248.184.xxx
>так вот пунткы 1 и 3 у меня работают а пункт 2
>- нет, роут идет на 192.168.7.1 :(


Ага. Теперь более-менее понятно. Значит, так. Как я понял, шлюз у тебя это как раз та самая машина, чью таблицу маршрутизации ты написал? И ты хочешь, чтобы именно она ходила в сеть 195.248.160.0/19 не так, как вся остальная сетка? Так?

При обращении в сеть обычно (если иное не предусмотрено настройками ПО) использует в качестве source address так называемый INADDR_ANY (или попросту 0.0.0.0), т.е. - определяется наиболее подходящий source address из тех, что имеются. Так вот, поскольку в твоей машине не один интерфейс, то надо посмотреть, какой именно адрес используется в качестве source, когда ты отправляешь пакет со шлюза в сеть 195.248.160.0/19. И потом, именно ЕГО прописать в правила. Попробуй, допустим, ничего не меняя, дать команду traceroute <нужный_адрес> -s 192.168.7.254 и посмотри, как оно пойдет.


"ip route - порядок прохождения и приоритеты ..."
Отправлено __Serg__ , 06-Мрт-07 23:47 
>>так вот есть сетка (195.248.160.0/19) которая должна роуится по такой схеме:
>>
>>1) from 192.168.7.0/24 to 195.248.160.0/19 gw 192.168.7.1
>>2) from 192.168.7.254/32 to 195.248.160.0/19 gw 195.248.184.xxx
>>3) from 192.168.200.0/24 to 195.248.160.0/19 gw 195.248.184.xxx
>>так вот пунткы 1 и 3 у меня работают а пункт 2
>>- нет, роут идет на 192.168.7.1 :(
>
>
>Ага. Теперь более-менее понятно. Значит, так. Как я понял, шлюз у тебя
>это как раз та самая машина, чью таблицу маршрутизации ты написал?
>И ты хочешь, чтобы именно она ходила в сеть 195.248.160.0/19 не
>так, как вся остальная сетка? Так?
Да, именно так.

>
>При обращении в сеть обычно (если иное не предусмотрено настройками ПО) использует в качестве source address так называемый INADDR_ANY (или попросту 0.0.0.0), т.е. - определяется наиболее подходящий source address из тех, что имеются. Так вот, поскольку в твоей машине не один интерфейс, то надо посмотреть, какой именно адрес используется в качестве source, когда ты отправляешь пакет со шлюза в сеть 195.248.160.0/19. И потом, именно ЕГО прописать в правила. Попробуй, допустим, ничего не меняя, дать команду traceroute <нужный_адрес> -s 192.168.7.254 и посмотри, как оно пойдет.

я так и делал.
вообще там все еще малехо усложнено динамической балансировкой между несколькими провайдарами ...
пакеты с самого шлюза уходят от 192.168.7.254 (если не натить то видно tcpdump'om)
сейчас докрутил до того что пакеты уходят в 95% именно так как мне надо но несколько раз в трассерте встречал маршрут через другово провайдера ... хз может случайность (хотя кешь сбрасывал) в общем пока я удовлетворен (ковырял методом тыка и незнаю что будет после ребута ... но надеюсь в скрипты все повписывал :) спасибо за помощь.



"ip route - порядок прохождения и приоритеты ..."
Отправлено energy66 , 16-Мрт-07 00:07 
ты пользуйся чем-то одним или ip route или route! Соответственно если ты хочешь пользоваться ip route то route нужно отключать т.к. он по default'у.
Почитай тут
http://anykey.wordpress.com/2006/08/04/paper-routing-network.../