Вопрос в следующем:
Хочу чтобы траффик с шлюза (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 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 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 :(
>так вот есть сетка (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 и посмотри, как оно пойдет.
>>так вот есть сетка (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 или route! Соответственно если ты хочешь пользоваться ip route то route нужно отключать т.к. он по default'у.
Почитай тут
http://anykey.wordpress.com/2006/08/04/paper-routing-network.../