Назад | Перейти на главную страницу

openvswitch с несколькими vlan

У меня проблема, которую я пытаюсь понять. В настоящее время мы используем vmware + vsphere и переходим на kvm.

Итак, мы хотим настроить аналогичный тип с использованием openvswitch. Итак, наша установка будет похожа на

kvm host ip: 10.130.1.11

Тогда у нас есть вланы вроде

lb: 10.130.2.0/24
web: 10.130.3.0/24

Итак, мы хотим, чтобы на kvm-хосте были как lb, так и веб-виртуальные машины. Я не хочу давать мостовому интерфейсу IP для каждого vlan, который мы подключаем к хосту. Мне нужна настройка, подобная тому, что делает vmware, где их коммутатор просто перенаправляет трафик на виртуальную машину, а виртуальная машина маркирует свой собственный трафик.

Любые указатели или подсказки были бы замечательными .. спасибо!

Есть несколько способов добиться вашей настройки, но я собираюсь добавить один из рекомендуемых. Используйте openvswitch

Openvswitch - это многоуровневый виртуальный коммутатор, предназначенный для автоматизации сети (с исходного сайта).

http://openvswitch.org/download/ (здесь вы загружаете пакет)

Я сослался на руководства по установке и настройке openvswitch ниже.

http://blog.scottlowe.org/2012/08/17/installing-kvm-and-open-vswitch-on-ubuntu/

или

https://n40lab.wordpress.com/2015/06/28/centos-7-installing-openvswitch-2-3-2-lts/

Если у хоста виртуальной машины есть свои интерфейсы в режиме магистрали, вы можете сделать следующее.

Вы можете настроить один мост OV (конечно, у него будет IP и нетегированный / собственный vlan).

Затем вы можете настроить сеть VIRSH. Что-то вроде этого

<network>
<name>ovs-network2</name>
<forward mode='bridge'/>
<bridge name='br0'/>
<virtualport type='openvswitch'/>
<portgroup name='vlan-a'>
    <vlan>
      <tag id='1'/> 
    </vlan>
   </portgroup>
   <portgroup name='vlan-b' default='yes'>
   </portgroup>
 </network>

В моем примере выше vlan-a предназначен для тегированного трафика, а vlan-b - нетегированный.

После того, как вы определите / запустите сеть virsh, вы можете изменить настройки XML для вашей виртуальной машины в следующем порядке

<interface type='network'>
  <mac address='blah blah'/>
  <source network='ovs-network2' portgroup='vlan-a'/>
</inteface>

У вас могут быть и другие настройки, такие как virtio, addresstype

Приведенный выше пример может помочь вам избежать множественных IP-адресов для каждого помеченного моста vlan. Вот несколько отличных ссылок, на которые стоит обратить внимание.

http://blog.scottlowe.org/2012/11/07/using-vlans-with-ovs-and-libvirt/

А вот еще одна статья, в которой аналогичная настройка

https://www.netflask.net/transparent-vlan-tagging-libvirt-ovs/

Надеюсь, это поможет! :)

Вы здесь используете libvirt? Если да, то в документации есть пример этого: http://libvirt.org/formatnetwork.html#elementVlanTag