[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