Re: nat не натит сеть, которая недоступна напрямую
On Wed, May 29, 2013 at 01:41:11PM +0400, Mikhail A Antonov wrote:
> 29.05.2013 10:50, Eugene Berdnikov пишет:
> >
> > Проверьте tcpdump'ом с обеих сторон и трассировкой правил iptables,
> > может быть, там всё-таки есть ошибка конфигурации.
>
> iptables приводил в первом письме.
Я сказал "трассировку": iptables -t raw <selector> -j TRACE.
> tcpdump тоже смотрел:
> root@klon-gw:~# tcpdump -pni any -vvv host 213.79.76.3
Здесь непонятно, через какие интерфейсы ходят пакеты. Вы думаете, что
знаете их точно, но постороннему человеку нужны доказательства.
К тому же с бриджами всё непросто, там можно отдельно слушать brX,
а можно те интерфейсы, которые к бриджу подключены, и получать
разные результаты.
> на GW - пакет пришёл, пакет ушёл
> на HN - пакет пришёл на физику, ушёл в бридж, вернулся в vnet, прошёл
> через hn на выход на другую физику
> Всё работает, кроме ната.
Да, похоже на баг. Но таки проверьте, что что все интерфейсы и цепочки
проходятся в нужной последовательности.
> >> Если я нарвался на ядерный баг - куда мне писать?
> > В netdev@vger.kernel.org. Но если нет готовности собирать у себя ядро
> > из свежего git'а и делать бисекты, а также пробовать патчи от тамошних
> > хакеров, то лучше туда не соваться, а искать обходной путь... IMHO.
> Эта конфигурация легко собирается на любой машине, на которой сможет
> работать kvm. Не думаю что тамошним хакерам будет удобно играть в
> испорченный телефон. Быстрее, проще и удобнее у себя такое же сделать.
Наивный человек, :) никто не будет городить такое страшилище с kvm,
а собирать ядро придётся Вам, если вообще кого-то эта тема заинтересует.
Причём заинтересовать может лишь если ситуация воспроизводится на самом
свежем ядре из git'а, которое сейчас под рукой у девелоперов.
Нужен простой и понятный тесткейс: два интерфейса, одно правило, ничего
лишнего. Не пишите "! -d 172.16.2.44/32" в правиле SNAT, оно там излишне
потому что пакет с локальным dst_ip в POSTROUTING не попадёт. Но эта
мелочь режет глаз, а с чайниками в netdev никто разговаривать не хочет.
--
Eugene Berdnikov
Reply to: