Roteia uma sub-rede para uma VM com libvirt

1

Estou usando o libvirt e atualmente tenho uma configuração de rede baseada em NAT, onde cada host tem um IP estático. A configuração de rede é assim:

<network connections='4'>
  <name>default</name>
  <uuid>d5a1865e-fd35-4b15-994b-8c5f098e0b5a</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:59:68:25'/>
  <ip address='10.0.0.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='10.0.0.2' end='10.0.0.254'/>
      <host mac='52:54:00:18:41:51' name='host0' ip='10.0.0.2'/>
      <host mac='52:54:00:0a:20:20' name='host1' ip='10.0.0.3'/>
      <host mac='52:54:00:f1:05:fd' name='host2' ip='10.0.0.4'/>
      <host mac='52:54:00:de:74:22' name='host3' ip='10.0.0.5'/>
    </dhcp>
  </ip>
</network>

No entanto, gostaria de atribuir uma sub-rede interna a cada VM, onde cada IP dessa sub-rede será roteado para a VM. O único tráfego de e para esses endereços será as VMs.

Isso é possível com a rede libvirt padrão e, se for, é possível fazer isso em cima da rede existente (também não é necessário criar uma nova rede)?

    
por ConnorJC 02.08.2017 / 04:34

1 resposta

0

Isso é possível se você usar uma interface de ponte, porque ela age como um switch não gerenciado. Portanto, você pode usá-lo para vincular quantos IPs quiser dentro da VM.

Exemplo

/etc/network/interfaces (no host):

auto br0
iface br0 inet static
    address 10.0.0.1/24
    netmask 255.0.0.0
    bridge_stp      on
    bridge_maxwait  0

/etc/network/interfaces (nas VMs):

auto eth0
iface eth0 inet static
    address 10.0.0.1/24
    netmask 255.0.0.0

Configuração da VM:

<interface type='bridge'>
  <mac address='xx:xx:xx:xx:xx:xx'/>
  <source bridge='br0'/>
</interface>
    
por ConnorJC 06.08.2017 / 15:02