Результаты пока не радуют.1. При наведении моста с использованием tap0 (VPN, 10.0.0.1) и tap1-2-3 для KVM, клиент VPN перестаёт пинговать 10.0.0.1 и вообще хоть как-то ощущать присутствие этого адреса в локалке. Хотя в хостовой системе видятся с помощью ifconfig -a и tap0 (10.0.0.1) и br0 (10.0.0.1) 2. vde_switch использовать не получилось: созданные tap1-2-3 в switch добавляются без проблем, а вот VPN'овский tap0 говорит, что он busy. Чем он бизи непонятно. А само решение было бы чрезвычайно красивым, кстати! 3. Кроме создания tap0(VPN, 10.0.0.1) и просто создания tap1-2-3 нужно вообще что-то еще делать перед их добавлением? В сети куча советов, только не написано, что и для чего делается, непонятно, что получают в конце. Может, надо форвардинг включать в ядре или ещё что-то?
На самом деле я вспомнил ещё вариант, который может быть удобнее и вообще лучше. Всё как было (настраиваем openvpn на tap0, у каждой VM свой tap), но потом запускаем vde_switch -tap tap0 -tap tap1 -tap tap2 ..., а он уже занимается чем положено, без brctl и br0. (Всё-таки хорошая метафора - великая вещь. Зная, что такое железный свитч, работать с vde_switch очень удобно).