KVM Network Bridge para atribuir IP estático

4

Eu instalei o servidor Ubuntu 14.04. e atribuiu um IP estático a ele ... em seguida, instalou o KVM e o Virtual machine manager ... em seguida, criou uma máquina virtual de teste e funcionou bem também com o endereço IP local sobre o NAT.

Eu tenho dois cartões de rede e apenas um está conectado à internet.

O que eu quero é configurar o bridge em2 para máquinas guest. Então, esse endereço IP estático funciona também para máquinas convidadas. Agora, se eu associar o ip estático à máquina convidada, não há conectividade.

Os detalhes do meu ifconfig são:

ifconfig -a

em1       Link encap:Ethernet  HWaddr 0c:c4:7a:4d:96:aa  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  
          Memory:f7100000-f717ffff  

em2       Link encap:Ethernet  HWaddr 0c:c4:7a:4d:96:ab  
          inet addr:68.168.105.130  Bcast:68.168.105.255  Mask:255.255.255.0  
          inet6 addr: fe80::ec4:7aff:fe4d:96ab/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:3717 errors:0 dropped:10 overruns:0 frame:0  
          TX packets:373 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:269655 (269.6 KB)  TX bytes:239608 (239.6 KB)  
          Interrupt:20 Memory:f7200000-f7220000  

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0  
          inet6 addr: ::1/128 Scope:Host  
          UP LOOPBACK RUNNING  MTU:65536  Metric:1  
          RX packets:123 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:123 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:8881 (8.8 KB)  TX bytes:8881 (8.8 KB)  

virbr0    Link encap:Ethernet  HWaddr 52:54:00:23:1c:65  
          inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  

virbr0-nic Link encap:Ethernet  HWaddr 52:54:00:23:1c:65  
          BROADCAST MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:500  
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) 

e os detalhes de / etc / network / interfaces são:

auto lo  
iface lo inet loopback  


auto em2  
iface em2 inet static  
        address 68.168.105.130  
       netmask 255.255.255.0  
       network 68.168.105.0  
       broadcast 68.168.105.255  
       gateway 68.168.105.1  
       # dns-* options are implemented by the resolvconf package, if installed  
        dns-nameservers 8.8.8.8  
        dns-search dedicated.codero.net 
    
por mustking 18.06.2015 / 20:02

1 resposta

5

Etapa 1: crie a ponte

Você provavelmente já tem bridge-utils instalado, mas caso não tenha:

sudo apt-get install bridge-utils

No host e como root, edite /etc/network/interfaces :

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
address 68.168.105.130
netmask 255.255.255.0
network 68.168.105.0
broadcast 68.168.105.255
gateway 68.168.105.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8
dns-search dedicated.codero.net 
bridge_ports em2
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

Agora você pode reinicializar ou:

sudo ifup br0

Referência

Etapa 2: modifique sua definição de VM para usar a ponte

Nota: Provavelmente, existe uma maneira de fazer essa etapa usando virt-manager , mas eu não a uso e não sei como.

Use virsh edit e altere suas linhas de definição de interface para usar bridging em vez do que está sendo usado atualmente. Aqui está um exemplo de uma das minhas VMs. Antes:

<interface type='network'>
  <mac address='52:54:00:0d:ed:95'/>
  <source network='default'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

depois:

<interface type='bridge'>
  <mac address='52:54:00:0d:ed:95'/>
  <source bridge='br0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

Etapa 3: especifique o endereço IP estático na VM guest

Agora, ao executar a VM guest, que pode ter problemas de rede no momento, edite /etc/network/interfaces e adicione a definição estática para o nome da interface. Por exemplo, e adivinhando um pouco para sua configuração:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 68.168.105.101
netmask 255.255.255.0
network 68.168.105.0
broadcast 68.168.105.255
gateway 68.168.105.1
dns-nameservers 8.8.8.8
dns-search dedicated.codero.net 

Notas:

O editor padrão usado por virsh edit é definido pela variável de ambiente $EDITOR ou vi , se não existir. adicione export EDITOR="/bin/nano" ao seu arquivo ~/.bashrc para definir, por exemplo, nano como seu editor padrão.

Você DEVE usar virsh edit do não para editar o arquivo XML diretamente, pois virsh edit fará um monte de verificações ao salvar e sair. De qualquer diretório e, por exemplo, faça:

virsh edit desk_tt
    
por Doug Smythies 19.06.2015 / 02:25