Gentoo Archives: gentoo-user-ru

From: Nikita Kipriyanov <merlin@×××××.ru>
To: gentoo-user-ru@l.g.o
Subject: Re: [gentoo-user-ru] Squid и два аплинка
Date: Fri, 22 Oct 2010 06:54:49
Message-Id: 4CC13504.6070102@rterm.ru
In Reply to: Re: [gentoo-user-ru] Squid и два аплинка by Sergey Kobzar
1 21.10.2010 18:25, Sergey Kobzar пишет:
2 > On 10/21/10 14:42, Nikita Kipriyanov wrote:
3 >
4 >> Пример:
5 >>
6 >> postup() {
7 >> if [ "$IFACE" = "ppp0" ]; then /etc/conf.d/ns_update.tcl; fi
8 >> return 0
9 >> }
10 >>
11 >> postup() вызывается на поднятии каждого интерфейса. Если это ppp0, то
12 >> вызывается скриптик ns_update.tcl, который определяет полученный адрес и
13 >> общается с dns-сервером; в данном случае так реализовано динамическое
14 >> обновление DNS.
15 >
16 > Спасибо - понял.
17 >
18 > У меня не работает PBR:
19 >
20 > Добавил postup() и postdown() в /etc/conf.d/net из
21 > /etc/conf.d/net.example. Также добавил в /etc/conf.d/net:
22 >
23 > config_eth2=( "10.10.252.1 netmask 255.255.255.252" )
24 > routes_eth2=( "default via 10.10.252.2 table ukrtel" )
25 > rules_eth2=( "from 10.10.252.1 table ukrtel" )
26 >
27 > # ip rule list
28 > 0: from all lookup local
29 > 32765: from 10.10.252.1 iif eth2 lookup ukrtel
30 > 32766: from all lookup main
31 > 32767: from all lookup default
32 >
33 > # ip route list table ukrtel
34 > default via 10.10.252.2 dev eth2 metric 1
35 >
36 > 'mtr -a 10.10.252.1' даже до 10.10.252.2 не доходит.
37 >
38 > Что не так?
39 >
40 Согласно правилу RPDB, которое вы привели, ЕСЛИ ((адрес источника стоит
41 10.10.252.1) И (пакет попал в систему через интерфейс eth2)), ТО он
42 будет маршрутизироваться по таблице ukrtel. Если там маршрут не будет
43 найден, то дальше будет использованы другие таблицы (по порядку номеров,
44 которые вы им задали в /etc/iproute2/rt_tables).
45
46 В данном случае, как вы уже сами поняли, условие не выполнится никогда,
47 т.е. правило не выполнится, а в других таблицах подходящих маршрутов нет.
48
49 Linux умеет выбирать таблицу маршрутизации исходя из разных свойств
50 пакета: источник, приёмник, интерфейс, флаги режима обслуживания, метка
51 netfilter. Приведённые в примерах обработчики переменных rules_...
52 автоматически к каждому правилу добавляют iif $IFACE, т.е. "данное
53 правило маршрутиации применять к пакетам только вошедшим через данный
54 интерфейс". (В противном случае смысла делать для каждого интерфейса
55 свою переменную rules_... нет -- правила больше никак не зависят от
56 интерфейса.)
57
58 В общем, вам либо поменять функции и убрать это добавление iif $IFACE,
59 либо добавлять правила другим способом.
60
61 --
62 Никита Киприянов, ООО "Р-Терминал"
63
64 Тел.: +7 (4732) 271657, 404243, 747120
65 E-mail: merlin@×××××.ru
66 Jabber ID: merlin@×××××.ru

Attachments

File name MIME type
merlin.vcf text/x-vcard

Replies

Subject Author
Re: [gentoo-user-ru] Squid и два аплинка Nikita Kipriyanov <merlin@×××××.ru>
Re: [gentoo-user-ru] Squid и два аплинка Sergey Kobzar <sergey.kobzar@××××.ru>