LINUX.ORG.RU
ФорумAdmin

iproute, source based routing


0

0


ifconfig eth0 200.33.3.97
ifconfig eth1 192.168.11.1
ifconfig eth1:1 192.168.11.3
ifconfig eth2 192.168.77.2
route add default gw 192.168.77.1


ip rule add from 192.168.11.3/32 to 0.0.0.0/0 table 101 pref 100
ip rule add from 192.168.11.100/32 to 0.0.0.0/0 table 101 pref 100
ip rule add from 192.168.11.0/24 to 0.0.0.0/0 table main pref 105
ip route add table 101 via 200.33.3.97


итого 11.100 (ноутбук) ходит через 200
а вот ping -I 192.168.11.3 www.rbc.ru - всё равно ходит через 77.1

как поправить?

★★★

// libbuben.so loaded

>ip route add table 101 via 200.33.3.97


А есть заменить это на
ip route add default via 200.33.3.97 dev eth0 table 101
?

И потом flush cache, разумеется.

nnz ★★★★
()

Usage: ip rule [ list | add | del | flush ] SELECTOR ACTION
SELECTOR := [ not ] [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK[/MASK] ]
[ dev STRING ] [ pref NUMBER ]
ACTION := [ table TABLE_ID ]
[ prohibit | reject | unreachable ]
[ realms [SRCREALM/]DSTREALM ]
[ goto NUMBER ]
TABLE_ID := [ local | main | default | NUMBER ]


он не чувствителен к порядку аргументов? проверить не могу, пардон.

vsokolov
()
Ответ на: комментарий от vahvarh

>смысл делать add default и тд?

Это было интуитивное предположение.
Просто в большинстве виденных мною манов по ip rule ... table маршрут для каждой таблицы задавался именно как дефолтный шлюз.

nnz ★★★★
()
Ответ на: комментарий от vahvarh

Можно также правило поковырять. Например, вместо from IP попробовать dev eth1:1.

В крайнем случае можно попробовать
iptables -t mangle -I OUTPUT -s 192.168.11.3 -j MARK --set-mark 15
ip rule add fwmark 15 table 101

nnz ★★★★
()
Ответ на: комментарий от nnz

dev не помогало

> iptables -t mangle -I OUTPUT -s 192.168.11.3 -j MARK --set-mark 15

> ip rule add fwmark 15 table 101


а вот это заработало!!!! спасибо!

vahvarh ★★★
() автор топика
Ответ на: комментарий от vahvarh

Всегда работало без fwmark. Какая у вас версия ядра? И полное содержимое "ip rule".

А, кстати, нельзя два rule с одним pref. Второй затирает первый.

А "ip rule add from 192.168.11.0/24 to 0.0.0.0/0 table main pref 105" ИМХО не нужен, в main все и так попадает.

mky ★★★★★
()
Ответ на: комментарий от mky

Еще вопросик.Как правильно читать правила ip rule? Для примера: ip rule add from 11.11.11.11 lookup table T1 (я читаю так: для пакета пришедшего с адреса 11.11.11.11 искать маршрут в таблице T1, или здесь надо так: для пакета отправляемого с адреса 11.11.11.11 искать саршрут в таблице T1). А вообще как, ip rule работают как для исходящих, так и для входящих пакетов?

alexovi4
()
Ответ на: комментарий от alexovi4

Через ip rule проходят все пакеты, когда возникает необходимость их маршрутизировать. То есть пакеты, приходящие с сетевого адаптера, но не предназначенные для данной машины и пакеты, отправляемые с данной машины.

mky ★★★★★
()
Ответ на: комментарий от alexovi4

А правило надо читать так: "Для ip-пакета с src-ip адресом 11.11.11.11 искать маршрут в таблице T1". И не важно, откуда такой пакет возник. Но следует помнить, что первым стоит правило:

0: from all lookup local

поэтому сначала для всех пакетов ищется маршрут в таблице local, и пакеты адресованные на ip-адреса пренадлежащие интерфейсам данной машины не пойдут по остальным правилам (ip rule).

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.