LINUX.ORG.RU
решено ФорумAdmin

Route Policy: не вижу проблему

 


0

1

Добрый вечер,
хочу подключить туннель от g4b, готовый ихний скрипт использовать не хочется, слишком он замудреный и лезет в iptables
вроде задача не сложная, и по-моему я все сделал правильно

auto tun2
iface tun2 inet static
    address 10.17.4.50
    netmask 255.255.255.252
    pointopoint 10.17.4.49
    mtu 1350
    pre-up /sbin/ip tunnel add tun2 mode gre remote xxx.xxx.xxx.xxx local yyy.yyy.yyy.yyy dev eth0
    post-up /sbin/ip ro add default via 10.17.4.49  dev tun2 src 10.17.4.50 table 201 mtu 1350 advmss 1310
    post-up /sbin/ip ru add from 10.17.4.49 lookup 201 priority 1000
    post-up /sbin/ip ru add fwmark 10 lookup 201 priority 1100
    pre-down /sbin/ip ru del from 10.17.4.49 lookup 201 priority 1000
    pre-down /sbin/ip ru del fwmark 10 lookup 201 priority 1100
    pre-down /sbin/ip ro del 10.17.4.49
    post-down /sbin/ip tunnel del tun2


*естественно вместо xxx и yyy - адреса серверов.

В общем-то туннель то работает, но ответ куда-то не туда идет:

root@gw:~# tcpdump -ni tun2 -vvv
tcpdump: listening on tun2, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
14:47:58.144912 IP (tos 0x0, ttl 115, id 18575, offset 0, flags [DF], proto TCP (6), length 52)
    zzz.zzz.zzz.zzz.63341 > 10.17.4.50.22: Flags [S], cksum 0xcdfe (correct), seq 3821168557, win 8192, options [mss 1432,nop,wscale 8,nop,nop,sackOK], length 0


Ответ виден только на другом интерфейсе:
tcpdump -n host 10.17.4.50 -vvv
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:47:58.144954 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 52)
    10.17.4.50.22 > zzz.zzz.zzz.zzz.63341: Flags [S.], cksum 0x3e60 (incorrect -> 0x2de2), seq 3351610906, ack 3821168558, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0



root@gw:~# ip ru sh
0:      from all lookup local
10:     from all lookup main
1000:   from 10.17.4.49 lookup 201
1100:   from all fwmark 0xa lookup 201
32767:  from all lookup default

root@gw:~# ip ro sh table main
10.0.0.0/24 dev eth1  proto kernel  scope link  src 10.0.0.1
10.17.4.49 dev tun2  proto kernel  scope link  src 10.17.4.50

root@gw:~# ip ro sh table 201
default via 10.17.4.49 dev tun2  src 10.17.4.50  mtu 1350 advmss 1310

Default gateway прописан в таблице default.


1000: from 10.17.4.49 lookup 201

IMHO тут должен быть локальный адрес туннеля, а не удаленный.

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