Como faço para que os convidados do Xen domU tenham acesso à Internet?

3

Como faço para que os convidados do Xen domU tenham acesso à Internet? Quais ferramentas posso usar para diagnosticar o problema? Existem arquivos de log que eu possa examinar?

(Eu sou novo linux e redes e VMs. Por favor, me expeça se eu chegar a terminologia errada. Também não tenho certeza que / quanta informação para fornecer.)

Eu instalei um hipervisor Xen em um Oracle VirtualBox. O (Debian) dom0 (hostname = debianxend0) tem acesso à internet, ou seja, eu posso usar o apt-get para baixar pacotes e fazer ping em www.google.com works.

Usando o xen-create-image eu instalei um domU (hostname = tutorial-pv-guest).

Os convidados do domU podem fazer ping e ssh dom0, mas não o exterior, ou seja, o ping www.google.com falha. dom0 pode pingar e ssh domU

dom0 / etc / network / interfaces

 auto lo
 iface lo inet loopback

 auto xenbr0
 iface xenbr0 inet dhcp
  bridge_ports eth0
  bridge_stp on
  bridge_waitport 0
  bridge_fd 0

dom0 ifconfig -a

eth0      Link encap:Ethernet  HWaddr 08:00:27:76:ba:6f  
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:3445 errors:0 dropped:0 overruns:0 frame:0
      TX packets:675 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:936784 (914.8 KiB)  TX bytes:63581 (62.0 KiB)

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:16436  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)

vif2.0    Link encap:Ethernet  HWaddr fe:ff:ff:ff:ff:ff  
      inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:20 errors:0 dropped:0 overruns:0 frame:0
      TX packets:398 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:32 
      RX bytes:1376 (1.3 KiB)  TX bytes:55771 (54.4 KiB)

xenbr0    Link encap:Ethernet  HWaddr 08:00:27:76:ba:6f  
      inet addr:192.168.178.57  Bcast:192.168.178.255  Mask:255.255.255.0
      inet6 addr: fe80::a00:27ff:fe76:ba6f/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:1680 errors:0 dropped:0 overruns:0 frame:0
      TX packets:222 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:230914 (225.5 KiB)  TX bytes:38211 (37.3 KiB)

dom0 brctl show

bridge name         bridge id       STP enabled interfaces
xenbr0      8000.08002776ba6f   yes     eth0
                                vif2.0

domU / etc / network / interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

domU ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:16:3e:8b:54:20  
      inet addr:192.168.178.232  Bcast:192.168.178.255  Mask:255.255.255.0
      inet6 addr: fe80::216:3eff:fe8b:5420/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:995 errors:0 dropped:0 overruns:0 frame:0
      TX packets:207 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:104718 (102.2 KiB)  TX bytes:27230 (26.5 KiB)
      Interrupt:30 

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:16436  Metric:1
      RX packets:6 errors:0 dropped:0 overruns:0 frame:0
      TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:554 (554.0 B)  TX bytes:554 (554.0 B)
  • dom0 tem uma ponte com um endereço IP atribuído pelo DHCP (eu moro em uma residência, eles fornecem uma WLAN que fornece os endereços IP).
  • dom0 tem um vif2.0 para domU
  • domU tem uma eth0 com um endereço IP

E abaixo está o xen cfg para domU

bootloader = '/usr/lib/xen-4.1/bin/pygrub'
vcpus       = '2'
memory      = '512'
root        = '/dev/xvda2 ro'
disk        = [
              'phy:/dev/vg0/tutorial-pv-guest-disk,xvda2,w',
              'phy:/dev/vg0/tutorial-pv-guest-swap,xvda1,w',
          ]
name        = 'tutorial-pv-guest'
dhcp        = 'dhcp'
vif         = [ 'mac=00:16:3E:8B:54:20,bridge=xenbr0' ]
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
    
por robor78 05.04.2014 / 10:49

1 resposta

2

O problema está na autenticação do endereço MAC. O WiFi só permite pacotes a partir de endereços MAC autenticados, e é por isso que você não pode interligar uma conexão com e sem fio tão facilmente. Se não é por causa de um problema sem fio, é por causa de alguma outra forma de barreira MAC configurada por quem está gerenciando a rede (e é por isso que eles pediram o seu endereço MAC).

Uma estratégia pode ser simplesmente alterar o endereço MAC dos adaptadores virtuais dos seus convidados para o físico de seus adaptadores. Disclaimer: Eu não tentei isso antes, diga-me se funciona:)

Se isso não funcionar, você precisará criar outra rede local e usar o NAT para transmitir o tráfego de um único endereço IP / MAC (como no comentário).

Existem guias para "interligar" conexões com fio por meio de conexão sem fio, e essas soluções devem funcionar para você, mesmo que você não esteja realmente conectado à rede sem fio. Muito provavelmente se refere ao método NAT.

    
por 07.05.2014 / 23:35