KVM - Crie uma máquina virtual com 2 interfaces de pontes

3

Alguém por favor me avise para criar uma VM usando o KVM com 2 interfaces em ponte. Eu tenho um servidor que tem Eth0 e Eth1 configurado e se conecta a duas redes separadas, gostaria de criar uma VM dentro desse blade físico para que a VM seja conectada a ambas as redes para que possamos controlar o tráfego de rede mesmo no nível da VM . Agora, só podemos obter a VM para se conectar ao br0, mas como eu configuraria um br1? Aprecie a ajuda!

No meu arquivo xml do qemu, tenho o seguinte:

       

    
por Shailan 04.02.2015 / 23:00

1 resposta

4

O seguinte funcionou para mim:

sudo virt-install -n virt64_01 -r 8192 \
--disk path=/media/newhd/virt64_01.img,bus=virtio,size=50 \
-c ubuntu-14.04.1-server-amd64.iso \
--network bridge=br0,model=virtio,mac=52:54:00:b2:cb:b0 \
--network bridge=br1,model=virtio \
--video=vmvga --graphics vnc,listen=0.0.0.0 --noautoconsole -v --vcpus=4

Nota: Eu especifico o endereço MAC para o BR0 porque eu já tenho esse nome de VM no meu servidor principal dhcp e DNS, e eu quero evitar mais trabalho para mim. Para o BR1, não me importei durante a instalação, ele é configurado mais tarde.

E para referência, aqui está o arquivo / etc / network / interfaces no meu computador host do servidor Ubutuntu 14.04:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Local network interface
auto br1
iface br1 inet static
 address 192.168.222.1
 network 192.168.222.0
 netmask 255.255.255.0
 broadcast 192.168.222.255
 bridge_ports eth1
 bridge_fd 9
 bridge_hello 2
 bridge_maxage 12
 bridge_stp off

# The primary network interface and bridge
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

Agora, após a conclusão da instalação, adicionei manualmente o guest eth1 ao arquivo guest / etc / network / interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# Local network interface
auto eth1
iface eth1 inet static
 address 192.168.222.5
 network 192.168.222.0
 netmask 255.255.255.0
 broadcast 192.168.222.255

Observe que NÃO é um gateway especificado para eth1. Se um gateway for especificado, ele fará com que a interface principal e a tabela de roteamento sejam preenchidas de acordo. (No meu caso, e para esta resposta, o gateway era falso e as coisas pararam de funcionar quando foi especificado. Inicialmente as coisas também estavam bem no servidor host com um gateway falso especificado, mas eventualmente ele também mudou para usar br1 como uma interface primária e as coisas pararam de funcionar, então eu as editei completamente. A alternativa, se necessário, é gerenciar explicitamente a tabela de roteamento.)

E aqui está a seção relevante do arquivo xml de definição (ou seja, você pode usar o virsh edit para não precisar reinstalar sua VM):

<interface type='bridge'>
  <mac address='52:54:00:b2:cb:b0'/>
  <source bridge='br0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='bridge'>
  <mac address='52:54:00:d7:31:77'/>
  <source bridge='br1'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>

Editar:

Os arquivos host e guest / etc / network / interfaces para o caso br0 estático são:

Anfitrião:

doug@s15:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Local network interface
auto br1
iface br1 inet static
  address 192.168.222.1
  network 192.168.222.0
  netmask 255.255.255.0
  broadcast 192.168.222.255
  bridge_ports eth1
  bridge_fd 9
  bridge_hello 2
  bridge_maxage 12
  bridge_stp off

# The primary network interface and bridge
auto br0
#iface br0 inet dhcp
iface br0 inet static
  address 192.168.111.112
  network 192.168.111.0
  netmask 255.255.255.0
  gateway 192.168.111.1
  broadcast 192.168.111.255
  dns-search smythies.com
  dns-nameservers 192.168.111.1
  bridge_ports eth0
  bridge_fd 9
  bridge_hello 2
  bridge_maxage 12
  bridge_stp off

Missão:

doug@virt64-01:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Local network interface
auto eth1
iface eth1 inet static
  address 192.168.222.5
  network 192.168.222.0
  netmask 255.255.255.0
  broadcast 192.168.222.255

# The primary network interface
auto eth0
# iface eth0 inet dhcp
iface eth0 inet static
  address 192.168.111.213
  network 192.168.111.0
  netmask 255.255.255.0
  broadcast 192.168.111.255
  gateway 192.168.111.1
  dns-search smythies.com
  dns-nameservers 192.168.111.1

E a tabela de roteamento no host (como um cheque):

doug@s15:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.111.1   0.0.0.0         UG    0      0        0 br0
192.168.111.0   0.0.0.0         255.255.255.0   U     0      0        0 br0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.222.0   0.0.0.0         255.255.255.0   U     0      0        0 br1
    
por Doug Smythies 05.02.2015 / 00:51