LINUX.ORG.RU
ФорумAdmin

iproute2 приоритет маршрутов


0

0

Такая ситуация. Я подключен к двум провайдерам P1 и P2. Весь траффик должен идти через P2_GW (gateway). Трафик к сети x.x.0.0/16 должен идти через P1_GW (gateway). Сам я подлючен непосредственно к сети x.x.y.0/24. Значит я должен делать что то вроде

ip route add x.x.y.0/24 dev eth0 src IP1 table main ip route add x.x.0.0/16 via P1_GW table main

ну и естесственно он ругается при выполнении 2-й строчки, мол маршрут для x.x.y.0/24 уже существует в таблице main. Но как сказать ядру что сначала попробуй первый маршрут а если не подходит то второй?

Заранее спасибо

anonymous

может я конечно не так понял... но route add default gw P2_GW && route add -net x.x.0.0/16 gw P1_GW

чем такая схема не подходит ?

PUZO
()

ip rule add to x.x.y.0/24 table 24
ip route add x.x.y.0/24 dev eth0 src IP1 table 24

ip rule add to x.x.0.0/16 table 16
ip route add x.x.0.0/16 via P1_GW dev eth_P1 table 16

ip route add default via P2_GW dev eth_P2 table main

ip route flush cache


> чем такая схема не подходит ?
Тем, что eth0 смотрит в x.x.y.0/24, значит при его поднятии в таблицу main автоматом добавится маршрут на эту сеть. Соответственно дальнейшее добавление маршрута "-net x.x.0.0/16", как пишет автор вопроса, не сработает.

spirit ★★★★★
()
Ответ на: комментарий от PUZO

чтобы добавить маршрут route add -net x.x.0.0/16 gw P1_GW, необходим маршрут к шлюзу это делается строчкой ip route add x.x.y.0/24 dev eth0 src IP1 table main. Проблема заключается в том что если добавить два этих правила то возникает неоднозначность маршрута к хостам сети x.x.y.0/24. Как быть ядру, посылать пакеты непосредственно хостам из этой сети или посылать через P1_GW? Поэтому оно не разрешает добавить второй маршрут.

anonymous
()
Ответ на: комментарий от anonymous

упс... ошибка вышла. Никаких вышеописанных проблем нет. Трабла была в списке сетей предоставляемом провайдером P1. Всем спасибо.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.