[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: nat не натит сеть, которая недоступна напрямую



29.05.2013 10:50, Eugene Berdnikov пишет:
>
>  Проверьте tcpdump'ом с обеих сторон и трассировкой правил iptables,
>  может быть, там всё-таки есть ошибка конфигурации.

iptables приводил в первом письме.

tcpdump тоже смотрел:
root@klon-gw:~# tcpdump -pni any -vvv host 213.79.76.3
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture
size 65535 bytes
23:58:36.450112 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 14733, seq 1, length 64
23:58:36.450161 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 14733, seq 1, length 64

root@klon-hn0:~# tcpdump -pni any -vvv host 213.79.76.3
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture
size 65535 bytes
23:58:38.907749 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 14733, seq 1, length 64
23:58:38.907772 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 14733, seq 1, length 64
23:58:38.907958 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 14733, seq 1, length 64
23:58:38.907958 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 14733, seq 1, length 64
23:58:38.907967 IP (tos 0x0, ttl 62, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 14733, seq 1, length 64
на GW - пакет пришёл, пакет ушёл
на HN - пакет пришёл на физику, ушёл в бридж, вернулся в vnet, прошёл
через hn на выход на другую физику
Всё работает, кроме ната.

На br1 на HN повесил 172.17.1.1, потушив GW:
root@klon-hn0:~# tcpdump -pni any -vvv host 213.79.76.3
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture
size 65535 bytes
00:23:06.865122 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 16360, seq 1, length 64
00:23:06.865147 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.16.2.44 > 213.79.76.3: ICMP echo request, id 16360, seq 1, length 64
00:23:06.870937 IP (tos 0x0, ttl 56, id 24230, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.16.2.44: ICMP echo reply, id 16360, seq 1, length 64
00:23:06.870953 IP (tos 0x0, ttl 55, id 24230, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.17.1.2: ICMP echo reply, id 16360, seq 1, length 64
00:23:06.870956 IP (tos 0x0, ttl 55, id 24230, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.17.1.2: ICMP echo reply, id 16360, seq 1, length 64
Пакет проходит как надо.


А вот что будет если включить нат на GW:
root@klon-gw:~# tcpdump -pni any -vvv host 213.79.76.3
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture
size 65535 bytes
00:41:28.400688 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 17548, seq 1, length 64
00:41:28.400717 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.0.2 > 213.79.76.3: ICMP echo request, id 17548, seq 1, length 64
00:41:28.407494 IP (tos 0x0, ttl 55, id 24226, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.17.0.2: ICMP echo reply, id 17548, seq 1, length 64
00:41:28.407504 IP (tos 0x0, ttl 54, id 24226, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.17.1.2: ICMP echo reply, id 17548, seq 1, length 64

tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture
size 65535 bytes
00:41:30.272168 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 17548, seq 1, length 64
00:41:30.272189 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.1.2 > 213.79.76.3: ICMP echo request, id 17548, seq 1, length 64
00:41:30.272635 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.0.2 > 213.79.76.3: ICMP echo request, id 17548, seq 1, length 64
00:41:30.272635 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.17.0.2 > 213.79.76.3: ICMP echo request, id 17548, seq 1, length 64
00:41:30.272648 IP (tos 0x0, ttl 62, id 0, offset 0, flags [DF], proto
ICMP (1), length 84)
    172.16.2.44 > 213.79.76.3: ICMP echo request, id 17548, seq 1, length 64
00:41:30.278967 IP (tos 0x0, ttl 56, id 24226, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.16.2.44: ICMP echo reply, id 17548, seq 1, length 64
00:41:30.278988 IP (tos 0x0, ttl 55, id 24226, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.17.0.2: ICMP echo reply, id 17548, seq 1, length 64
00:41:30.278992 IP (tos 0x0, ttl 55, id 24226, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.17.0.2: ICMP echo reply, id 17548, seq 1, length 64
00:41:30.279303 IP (tos 0x0, ttl 54, id 24226, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.17.1.2: ICMP echo reply, id 17548, seq 1, length 64
00:41:30.279308 IP (tos 0x0, ttl 54, id 24226, offset 0, flags [none],
proto ICMP (1), length 84)
    213.79.76.3 > 172.17.1.2: ICMP echo reply, id 17548, seq 1, length 64
Интернет заработал, да вот только дважды натить не хорошо.


>> Если я нарвался на ядерный баг - куда мне писать?
>  В netdev@vger.kernel.org. Но если нет готовности собирать у себя ядро
>  из свежего git'а и делать бисекты, а также пробовать патчи от тамошних
>  хакеров, то лучше туда не соваться, а искать обходной путь... IMHO.
Эта конфигурация легко собирается на любой машине, на которой сможет
работать kvm. Не думаю что тамошним хакерам будет удобно играть в
испорченный телефон. Быстрее, проще и удобнее у себя такое же сделать.
Если им будет удобнее играть в телефон - ок, найду себе машинку и буду
там делать что просят.

-- 
Best regards,
Mikhail
-
WWW: http://www.antmix.ru/
XMPP: antmix@stopicq.ru

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: