То, что вы настроили, логически нормально.
Эти гости смогут видеть друг друга, потому что они используют собственный vlan:
kh1guest1, kh1guest2, kh2guest1, kh3guest1
Эти гости смогут видеть друг друга, потому что они находятся в vlan 10:
kh2guest2, kh3guest2
Вашему администратору коммутатора может потребоваться настроить ваши коммутаторы как «магистральные порты», чтобы иметь возможность передавать тег vlan, который вы добавляете. Сообщите им, что вы настроили, и ваши требования для наличия тега vlan.
Если вы находитесь в большой управляемой сети, вам может потребоваться запросить номер vlan, который будет выделен вам, потому что что-то еще уже есть vlan10.
Думайте о теге vlan как о «оболочке» вокруг кадра Ethernet. Вам просто нужно определить одно место для добавления / удаления обертки. Все следующие значения действительны, интерфейс жирным шрифтом показывает, где выполняется тегирование:
Если вы хотите связать физические интерфейсы на хосте, вы не можете добавить интерфейсы с тегами vlan в связь. Таким образом, они будут действительными:
И это неправильно:
Простое правило состоит в том, что соединение должно быть либо без тегов на обоих концах (на стороне хоста и на стороне гостя), либо на обоих концах.
Гости обычно не нуждаются в поддержке тегов. На данный момент игнорируйте тот факт, что вы находитесь в виртуализированной среде. Как бы был настроен каждый «гость», если бы это был физический компьютер? Затем реализуйте то же самое в KVM.
То, что вы, вероятно, захотите на kvmhost2 и kvmhost3, - это два моста, br0 и br1. br1 может иметь в качестве участника eth0.10. Затем kh2guest2 и kh3guest3 могут подключить свой eth0 к br1 соответствующего хоста.
Лучше всего сделать следующее:
Таким образом, весь трафик к виртуальным машинам и от них будет тегироваться. Для немаркированного трафика лучше всего создать еще один мост на немаркированном интерфейсе и подключить к нему еще одну сетевую карту виртуальной машины