Добрых суток всем.
Имеется:
- хост debian sid 2001:x:x:1::3
- kvm
- две сети real 2001:x:x:1::/64 и virtual 2001:x:x:2::/64
- на хосте два интерфейса br0 (смотрит в real, здесь же eth0 хоста) и virbr0 (смотрит в virtual)
- для real шлюз по умолчанию - вафельный роутер 2001:x:x:1::1, в этой сети клиенты
- в virtual - сервера, для неё шлюз по умолчанию является хост 2001:x:x:2::1
Возникла такая проблема, не устанавливается tcp соединение между сетями в br0 и virbr0. При этом icmpv6 ходят в одну сторону (из br0 в virbr0).
Как я понял причина в топологии, пакет идущий от клиента в br0 к серверу в virbr0 идёт через шлюз по умолчанию (вафельный роутер) (поскольку о virbr0 клиент ничего не знает).
2001:x:x:1::10 (клиент) > 2001:x:x:1::1 > 2001:x:x:1::3 > 2001:x:x:2::1 > 2001:x:x:2::20 (сервер)
2001:x:x:2::20 (сервер) > 2001:x:x:2::1 > 2001:x:x:1::3 > 2001:x:x:10 (клиент)
Костыль:
ip -6 route add 2001:x:x:1::/64 via 2001:x:x:1::1 table 100
ip -6 rule add from 2001:x:x:2::/64 table 100
В чём может быть причина такого поведения (не самой маршрутизации, а не возможности установить соединение).
_НО_ при той же топологии IPv4 работает _нормально_
Заранее спасибо.