|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Wladimir Mutel 2:5020/400 13 Feb 2007 15:01:43 To : All Subject : policy routing optimization -------------------------------------------------------------------------------- Привет, Есть машинка с несколькими eth-интерфейсами, смотрящими в разные приватные подсетки. В дефолтной таблице роутинга есть такие записи для этих интерфейсов : 10.0.0.0/30 dev eth1 proto kernel scope link src 10.0.0.1 192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.2 192.168.58.0/24 dev eth0 proto kernel scope link src 192.168.58.128 Там же есть несколько ppp-интерфейсов, смотрящих на разных провайдеров, с реальными IP. Для них согласно рецепта на lartc.org строим policy routing: ip rule show : 0: from all lookup 255 32764: from x.y.146.102 lookup 3 # ppp1 32765: from x.t.122.79 lookup 1 # ppp0 32766: from all lookup main 32767: from all lookup default ip route show table 1: default dev ppp0 scope link ip route show table 3: default dev ppp1 scope link В том же рецепте говорится, что мы должны продублировать роутинги в приватные подсетки через eth* во все эти таблицы: for t in 1 3 do for e in eth0 eth1 eth2 do ip route add $(ip route show dev $e | awk '{print $1}') \ dev $e table $t done done Такой рецепт работает. Hо это ж получается какой-то комбинаторный взрыв. Общее количество правил - это произведение числа ppp-интерфейсов на число eth* . Hе очень красиво, по-моему. Можно ли сделать как-то иначе ? Я попробовал сделать так : ip rule add prio 30000 to 192.168.0.0/16 lookup default ip rule add prio 30001 to 10.0.0.0/8 lookup default (а отдельные eth-правила из таблиц 1 и 3 вычистить) Получилась талбичка 0: from all lookup 255 30000: from all to 192.168.0.0/16 lookup default 30001: from all to 10.0.0.0/8 lookup default 32764: from 195.24.146.102 lookup 3 32765: from 82.207.122.79 lookup 1 32766: from all lookup main 32767: from all lookup default Hо оно не заработало так, как бы мне хотелось. Кто копался в этой теме и скажет мне, в чём я не прав ? Может правила в ip rules просматриваются в каком-то особенном порядке ? А может быть пакетики, идущие в приватные сетки, как-то не подпадают под правила 30000 и 30001 ? Hужно ли указывать точные маски в правилах ? Спасибо заранее за ваши ответы . --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6577f23852e2.html, оценка из 5, голосов 10
|