1 |
Еще одно наблюдение: |
2 |
если добавить маршрут в табличку main: |
3 |
94.100.176.20 via 10.1.0.1 dev tun0, то и kit и babaz будут ходить на |
4 |
94.100.176.20 через tun0, и все прекрасно работает. |
5 |
А вот когда делаешь те действия что я написал в начальном письме - у |
6 |
kit'а пропадает инет вообще. А сниффер вот что показывает: |
7 |
----------------------------------------- |
8 |
tshark -i tun0 |
9 |
Running as user "root" and group "root". This could be dangerous. |
10 |
Capturing on tun0 |
11 |
0.000000 10.1.0.2 -> 94.100.176.20 TCP 48512 > smtp [SYN] Seq=0 |
12 |
Win=5840 Len=0 MSS=1460 TSV=47895326 TSER=0 WS=7 |
13 |
0.091734 94.100.176.20 -> 10.1.0.2 TCP smtp > 48512 [SYN, ACK] |
14 |
Seq=0 Ack=1 Win=32768 Len=0 MSS=1410 WS=4 TSV=2733024143 TSER=47895326 |
15 |
2.999501 10.1.0.2 -> 94.100.176.20 TCP 48512 > smtp [SYN] Seq=0 |
16 |
Win=5840 Len=0 MSS=1460 TSV=47896226 TSER=0 WS=7 |
17 |
3.090609 94.100.176.20 -> 10.1.0.2 TCP smtp > 48512 [SYN, ACK] |
18 |
Seq=0 Ack=1 Win=32768 Len=0 MSS=1410 WS=4 TSV=2733024143 TSER=47896226 |
19 |
6.090273 94.100.176.20 -> 10.1.0.2 TCP smtp > 48512 [SYN, ACK] |
20 |
Seq=0 Ack=1 Win=32768 Len=0 MSS=1410 WS=4 TSV=2733024143 TSER=47896226 |
21 |
8.999501 10.1.0.2 -> 94.100.176.20 TCP 48512 > smtp [SYN] Seq=0 |
22 |
Win=5840 Len=0 MSS=1460 TSV=47898026 TSER=0 WS=7 |
23 |
9.090183 94.100.176.20 -> 10.1.0.2 TCP smtp > 48512 [SYN, ACK] |
24 |
Seq=0 Ack=1 Win=32768 Len=0 MSS=1410 WS=4 TSV=2733024143 TSER=47898026 |
25 |
12.089847 94.100.176.20 -> 10.1.0.2 TCP smtp > 48512 [SYN, ACK] |
26 |
Seq=0 Ack=1 Win=32768 Len=0 MSS=1410 WS=4 TSV=2733024143 TSER=47898026 |
27 |
^C |
28 |
------------------------------------------- |
29 |
Постоянные попытки установить соединение, и игнорирование syn_ack. |
30 |
|
31 |
Anton S. Ustyuzhanin wrote: |
32 |
> Или я что-то не так делаю? |
33 |
> |
34 |
> Anton S. Ustyuzhanin wrote: |
35 |
>> Здравствуйте. |
36 |
>> |
37 |
>> Помогите понять одну вещь. |
38 |
>> Дано: 1 комп, у компа есть два интерфейса: |
39 |
>> eth0: addr:192.168.7.7 - шлюз установлен 192.168.7.1 |
40 |
>> tun0: addr:10.1.0.2 P-t-P:10.1.0.1 |
41 |
>> на компе рабоает 2 пользователя: kit и babaz. сейчас они оба ходят в |
42 |
>> интернет через 192.168.7.1. |
43 |
>> |
44 |
>> Надо: Сделать так чтобы kit ходил в инет через 10.1.0.1, а babaz через |
45 |
>> 192.168.7.1. |
46 |
>> |
47 |
>> Решение (как я сделал): |
48 |
>> 1. Создать табличку маршрутизации for_kit: |
49 |
>> /etc/iproute2/rt_table: |
50 |
>> -------------------------- |
51 |
>> # |
52 |
>> # reserved values |
53 |
>> # |
54 |
>> 255 local |
55 |
>> 254 main |
56 |
>> 253 default |
57 |
>> 0 unspec |
58 |
>> # |
59 |
>> # local |
60 |
>> # |
61 |
>> 1 for_kit |
62 |
>> -------------------------- |
63 |
>> |
64 |
>> 2. С помощью ip route add добавить в for_kit следующие маршруты: |
65 |
>> 10.1.0.1 dev tun0 proto kernel scope link src 10.1.0.2 |
66 |
>> default via 10.1.0.1 dev tun0 |
67 |
>> |
68 |
>> 3. Пометить все пакеты от пользователя kit: |
69 |
>> iptables -t mangle -A OUTPUT -m owner --uid-owner kit -j MARK --set-mark 0x1 |
70 |
>> |
71 |
>> 4. Добавить правило маршрутизации: |
72 |
>> ip rule add fwmark 0x1 lookup for_kit |
73 |
>> |
74 |
>> 5. Ожидаемый результат: все должно работать. |
75 |
>> |
76 |
>> Однако все не работает :) |
77 |
>> При снифинге интерфейса tun0 я вижу вот что: |
78 |
>> --------------------------------------------- |
79 |
>> tshark -i tun0 |
80 |
>> Capturing on tun0 |
81 |
>> 0.000000 192.168.7.7 -> 94.100.176.20 TCP 59027 > smtp [SYN] Seq=0 |
82 |
>> Win=5840 Len=0 MSS=1460 TSV=47371023 TSER=0 WS=7 |
83 |
>> 2.997266 192.168.7.7 -> 94.100.176.20 TCP 59027 > smtp [SYN] Seq=0 |
84 |
>> Win=5840 Len=0 MSS=1460 TSV=47371923 TSER=0 WS=7 |
85 |
>> --------------------------------------------- |
86 |
>> Наши пакетики имеют не верный адрес источника. Это конечно же поправимо |
87 |
>> правилом: |
88 |
>> iptables -t nat -I POSTROUTING 1 -m mark --mark 0x1 -j SNAT --to-source |
89 |
>> 10.1.0.2 |
90 |
>> |
91 |
>> После добавления такого правила все начинает рабоатать. Но не понятно |
92 |
>> почему же пакетам назначается не правильный адрес источника? |
93 |
>> |
94 |
> |
95 |
> |