[mdk-re] Ламерский вопросец про iproute

Dmitry V. Popkov =?iso-8859-1?q?dv_=CE=C1_rtcom=2Etver=2Eru?=
Ср Апр 3 22:06:05 MSD 2002


Alexey Morozov wrote:
> Вопрос: может ли кто-нить быстро на пальцах объяснить, как сделать так,
> чтобы подтверждение на полученный пакет уходило через тот же интерфейс,
> по которому данный пакет был получен.

Пару дней назад озадачился примерно тем же: запросы на 
сервер приходят с двух
выделенных линий, соответственно ответы должны уходить 
через тот же интерфейс,
откуда пришли, и это при том, что существует default 
route еще для двух уже внутренних
подсетей.
  Цитируемый дальше полностью ответ Александра Бокового 
на подобный вопрос в рассылку,
  выкопанный из архива, стал основой для решения.
Позже я, конечно, внимательно изучил материалы from 
larc.org :), и распечатал  ip-cref.ps,
  но только для того, чтобы понять, что здесь сказано 
все, что было нужно.

|On Sat, Jan 20, 2001 at 01:21:20AM -0500, Igor Solovyov 
wrote:
|
|> Hi All!
|>
|> Очень срочно (до понедельника) нужно разрешить такую 
проблему:
|>
|> Есть рутер, к нему несколько локалок прицеплено.
|> И имеются два канала в и-нет - один скоростной 
(radio-ethernet),
|> второй медленный (выделенка на 115 кбит/с).
|> Нужно разделить и-нет между локалками. Т.е. часть локалок
|> идут все время через медленный канал, остальные - 
через скоростной.
|>
|> Не пойму как этого можно добиться. Когда был один 
канал, все было
|> просто - прописал default gateway и нет проблем. А 
как сделать
|> для разных сетей разные default gateway в одном рутере?
|> Видимо никак. Может есть иные способы?
|
|
|Есть. Ставите iproute2/iputils. Затем определяете две 
таблицы маршрутизации
|и добавляете правила, определяющие какую из них для 
какой сети использовать.
|
|Вроде такого (номера таблиц я взял "от балды", чтоб не 
пересеклись с тем, что
|там есть по умолчанию):
|
|echo "10	highspeed" >> /etc/iproute2/rt_tables
|echo "11	lowspeed" >> /etc/iproute2/rt_tables
|
|Теперь выставим маршруты в таблицах, для простоты -- 
только по умолчанию:
|sbin/ip route add default via ШЛЮЗ-БЫСТРОГО-КАНАЛА 
table highspeed
|/sbin/ip route add default via ШЛЮЗ-МЕДЛЕННОГО-КАНАЛА 
table lowspeed
|
|Теперь определим, кто куда ходит (повторить столько 
раз, сколько подсетей
|входит в БЫСТРАЯ-СЕТЬ и МЕДЛЕННАЯ-СЕТЬ, каждый раз 
изменяя preference -- это
|значение должно быть уникальным для каждого правила -- 
и, естественно, подсеть):
|/sbin/ip rule add from БЫСТРАЯ-ПОДСЕТЬ/МАСКА preference 
100 table highspeed
|/sbin/ip rule add from МЕДЛЕННАЯ-ПОДСЕТЬ/МАСКА 
preference 200 table lowspeed
|
|Я выбрал 100 и 200 "от балды".
|
|А теперь скажем, что все должно начать работать:
|/sbin/ip route flush cache
|
|Можно также поставить что-нибудь еще в основной (main) 
таблице по умолчанию
|(например, ШЛЮЗ-БЫСТРОГО-КАНАЛА), тогда одним набором 
правил будет меньше.
|Читайте ip-cref.ps из документации на iproute2 для 
больших подробностей.
|-- Sincerely yours, Alexander Bokovoy The Midgard 
Project | www.midgard-project.org | Aurora R&D team 
|Minsk Linux Users Group | www.minsk-lug.net | 
www.aurora-linux.com IPLabs Linux Team | linux.iplabs.ru 
| |Architecte Open Source -- "Trust me. I know what I'm 
doing." -- Sledge Hammer

-- 
     D.V.P.





Подробная информация о списке рассылки community