|
|
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
|