Gentoo Archives: gentoo-user-ru

From: "Anton S. Ustyuzhanin" <kit@×××××××××.kz>
To: gentoo-user-ru@l.g.o
Subject: Re: [gentoo-user-ru] 1 комп, 2 соединения с интернетом
Date: Tue, 02 Dec 2008 05:35:53
Message-Id: 4934C91D.7080506@miras.edu.kz
In Reply to: [gentoo-user-ru] 1 комп, 2 соединения с интернетом by "Anton S. Ustyuzhanin"
1 Или я что-то не так делаю?
2
3 Anton S. Ustyuzhanin wrote:
4 > Здравствуйте.
5 >
6 > Помогите понять одну вещь.
7 > Дано: 1 комп, у компа есть два интерфейса:
8 > eth0: addr:192.168.7.7 - шлюз установлен 192.168.7.1
9 > tun0: addr:10.1.0.2 P-t-P:10.1.0.1
10 > на компе рабоает 2 пользователя: kit и babaz. сейчас они оба ходят в
11 > интернет через 192.168.7.1.
12 >
13 > Надо: Сделать так чтобы kit ходил в инет через 10.1.0.1, а babaz через
14 > 192.168.7.1.
15 >
16 > Решение (как я сделал):
17 > 1. Создать табличку маршрутизации for_kit:
18 > /etc/iproute2/rt_table:
19 > --------------------------
20 > #
21 > # reserved values
22 > #
23 > 255 local
24 > 254 main
25 > 253 default
26 > 0 unspec
27 > #
28 > # local
29 > #
30 > 1 for_kit
31 > --------------------------
32 >
33 > 2. С помощью ip route add добавить в for_kit следующие маршруты:
34 > 10.1.0.1 dev tun0 proto kernel scope link src 10.1.0.2
35 > default via 10.1.0.1 dev tun0
36 >
37 > 3. Пометить все пакеты от пользователя kit:
38 > iptables -t mangle -A OUTPUT -m owner --uid-owner kit -j MARK --set-mark 0x1
39 >
40 > 4. Добавить правило маршрутизации:
41 > ip rule add fwmark 0x1 lookup for_kit
42 >
43 > 5. Ожидаемый результат: все должно работать.
44 >
45 > Однако все не работает :)
46 > При снифинге интерфейса tun0 я вижу вот что:
47 > ---------------------------------------------
48 > tshark -i tun0
49 > Capturing on tun0
50 > 0.000000 192.168.7.7 -> 94.100.176.20 TCP 59027 > smtp [SYN] Seq=0
51 > Win=5840 Len=0 MSS=1460 TSV=47371023 TSER=0 WS=7
52 > 2.997266 192.168.7.7 -> 94.100.176.20 TCP 59027 > smtp [SYN] Seq=0
53 > Win=5840 Len=0 MSS=1460 TSV=47371923 TSER=0 WS=7
54 > ---------------------------------------------
55 > Наши пакетики имеют не верный адрес источника. Это конечно же поправимо
56 > правилом:
57 > iptables -t nat -I POSTROUTING 1 -m mark --mark 0x1 -j SNAT --to-source
58 > 10.1.0.2
59 >
60 > После добавления такого правила все начинает рабоатать. Но не понятно
61 > почему же пакетам назначается не правильный адрес источника?
62 >

Replies

Subject Author
Re: [gentoo-user-ru] 1 комп, 2 соединения с интернетом "Anton S. Ustyuzhanin" <kit@×××××××××.kz>