Rede sem fio no Virtualbox

13

Acabei de instalar minha primeira instância do Ubuntu Server (12.04) e encontrei imediatamente os seguintes problemas:

  • Em execução apt-get installou updatefalha (veja abaixo)
  • A execução ifconfigproduz endereços IP peculiares, começando com, 10.x.x.xe meu roteador não vê o servidor na página "Dispositivos conectados" (é um Netgear de nível de consumidor)

Quando executo apt-get, recebo mais de 50 dos seguintes erros:

Failed to fetch <some-http-url>. Temporary failure resolving <blah>.ubuntu.com

Eu li esse erro para 12.04 e encontrei algumas postagens semelhantes neste fórum e por falha do servidor que recomendavam entrar /etc/resolv.confe adicionar uma entrada:

nameserver 8.8.8.8

Para minha surpresa, descobri que /etc/resolv.confhavia um link simbólico apontando para outro lugar e tive que excluí-lo primeiro e criar um novo com a entrada indicada acima.

Eu reiniciei o servidor e tentei executar apt-getnovamente, os mesmos resultados.

Como começo a diagnosticar o problema (eu sou um usuário Linux / Ubuntu relativamente novo)?

Detalhes adicionais que podem ajudar:

  • Na verdade, é uma máquina virtual em execução como sistema operacional convidado do VirtualBox
  • O host físico que está executando esta VM é o meu laptop que possui uma conexão sem fio; Gostaria de saber se (de alguma forma) o laptop está recebendo a rede sem fio, mas talvez a VM VBox e / ou o SO do servidor Ubuntu não esteja configurado para conexão sem fio e, portanto, nada esteja "passando"?

Agradecemos antecipadamente por quaisquer ponteiros!

Editar :

Aqui está um instantâneo das configurações de rede da minha VM (apenas o Adaptador 1 tem alguma informação que preenche seus campos, portanto, presumo que minha VM tenha apenas 1 adaptador):

insira a descrição da imagem aqui

Aqui está a saída quando eu corro ifconfigdo terminal:

insira a descrição da imagem aqui

E aqui está a saída quando eu corro routedo terminal:

insira a descrição da imagem aqui

Em execução ping google.com:

insira a descrição da imagem aqui

zharvey
fonte
1
Você pode adicionar a saída de dig <blah>.archive.ubuntu.com, dig @ 8.8.8.8 <blah> .archive.ubuntu.com` e dig @8.8.8.8 archive.ubuntu.com. Qual é o conteúdo de <blah> afinal? Você pode executar ping <blah> .archive.ubuntu.com no host da sua máquina virtual?
John S Gruber
1
O HWAddré provavelmente OK para mostrar, uma vez que cada VM recebe o seu próprio endereço MAC único.
Henrik
1
E o fe80::..endereço é um IPv6 local de link no qual não consigo entrar em contato. E o de no ping é o servidor que você está executando o ping, não o seu gateway, para que não seja revelado.
Henrik

Respostas:

22

Para torná-lo uma resposta curta: é um problema de rede.

A maneira como vejo o cenário é assim:

insira a descrição da imagem aqui

Agora, para ver corretamente onde está o problema, neste caso, precisamos primeiro verificar das redes externas para as redes internas.

  1. Verifique se o roteador tem internet. Você pode usar o mesmo host ou outro dispositivo conectado a ele para verificar isso.

  2. Verifique se o host tem Internet via roteador ou qualquer outra fonte. Para verificar simplesmente enviar um ping para google.com, por exemplo, assim: ping google.com.

Se os pontos 1 e 2 forem bons (seu roteador está funcionando muito bem e possui internet e seu host possui internet), prosseguimos com o Guest e o Virtualbox. Pode ser bom ler como o suporte sem fio é tratado no VirtualBox lendo a placa Wifi no ubuntu de um virtualbox

Precisamos conhecer as seguintes informações primeiro:

  • Não há conexão sem fio dentro do ambiente de caixa virtual. Todas as conexões "virtuais" referem-se às conexões a cabo / com fio. Portanto, quando você habilita uma placa de rede no seu convidado virtual, é uma conexão com fio virtual que você está criando e não uma conexão sem fio virtual .

  • A conexão virtual do Host ao Convidado é independente do tipo de conexão à qual o Host está conectado (fisicamente conectado). Se o host estiver conectado por meio de uma conexão com ou sem fio, isso não importa ou afeta a conexão virtual feita do Host ao Convidado, porque as conexões com e sem fio são usadas da mesma maneira dentro do Convidado. Algo semelhante à seguinte imagem:

    insira a descrição da imagem aqui

  • Se o seu host não tiver acesso à Internet, ele não o terá. O mesmo ocorre se o seu host tiver acesso à Internet e sua conexão do Host ao Convidado permitir o compartilhamento da Internet, provavelmente o hóspede também terá Internet (comportamento padrão com o Virtualbox).

  • Eu vou usar o Virtualbox 4.1.20, que parece diferente daquele que você está usando (pode ser o mesmo, eu não sei). Vou adicionar a imagem de rede apenas para ajudar e mostrar as diferenças:

    insira a descrição da imagem aqui

  • Vou usar o Ubuntu 12.04 como host e como convidado (isso funciona da mesma forma em 12.10 ou 13.04). Nos casos em que o Windows é o host, você precisa garantir que o firewall não esteja bloqueando uma porta específica que o convidado usará.

  • Presumo que o Host não esteja usando um proxy, apenas conectado diretamente ao roteador por meio de uma conexão sem fio / com fio.

  • A saída do Guest é a seguinte com ifconfig e route:

    insira a descrição da imagem aqui

Agora, para os pontos que você deseja resolver:

  1. Configurar a rede para o VM Ubuntu Server
  2. Faça com que a VM se conecte à Internet
  3. Faça o roteador ver a VM

Deixe-me mencionar primeiro que o ponto 3 será impossível, a menos que o palpite do Virtualbox suporte o encaminhamento de porta. Seu roteador verá apenas as transferências feitas pelo seu convidado como se fossem transferências feitas pelo host real. Portanto, sem o encaminhamento (que é um pouco suportado na versão mais recente), o roteador nunca verá a VM, apenas o Host.

É claro que existem maneiras de contornar isso, como dizer ao host para encaminhar as coisas ao convidado através do mecanismo de caixa virtual. Ou configurando (mais fácil eu acho) o convidado para encaminhar a porta. Por exemplo, isto:

insira a descrição da imagem aqui

Portanto, com isso em mente, fazemos o seguinte no Convidado:

  1. Teste se o convidado tem acesso à Internet com a ping google.comabordagem comum .

    Se o ping funcionar, sabemos que existe uma conexão à Internet. O problema pode estar resolvendo o site de destino.

  2. Tente o seguinte:

    /etc/init.d/network restart e / ou dhclient

  3. Verifique se /etc/network/interfaceestá correto. Meu exemplo seria:

    insira a descrição da imagem aqui

  4. Mudar o tipo de adaptador nas opções de rede na janela de configuração do Virtualbox.

  5. Teste se o cliente Ubuntu Desktop ou outro sistema operacional funciona corretamente. (No momento, só tenho a imagem ISO da área de trabalho de 12.10 e 12.04).

Luis Alvarado
fonte
Uau, obrigado @Luis Alvarado por uma resposta tão completa (+1). Alguns acompanhamentos para cada uma de suas 5 sugestões: (1) ping google.comna VM convidada, na verdade, parece estar funcionando normalmente; portanto, quais outros testes eu poderia executar para confirmar se estou realmente acessando a Internet? (2) Eu só tenho um serviço /etc/init.d/networking(não network) e, quando tento reiniciá-lo, recebo um aviso de que está obsoleto. (3) Meu etc/network/interfacearquivo é exatamente igual ao seu. (4) Que tipo de adaptador devo tentar e quais configurações subsequentes? (5) A ser determinado ...
zharvey
Acho que a primeira coisa que preciso confirmar é o item 1: esse fato que pingparecia estar começando e se comportando como se estivesse funcionando bem. Atualizarei minha pergunta original com uma captura de tela da saída. Informe-me se essa é uma saída ping "normal" e indicativa de uma conexão inet bem-sucedida.
Zharvey
Desculpe, parece que a oferta da recompensa me deixou abaixo do limite mínimo de votos positivos de 15, então parece que não posso aprovar sua resposta, caso contrário, eu faria: - /
zharvey
Oi. Deixe-me abreviar o comentário: 1. Se o seu ping estiver funcionando, a VM terá uma conexão correta com o Host. 2. Não se preocupe com o / etc / network, se sua interface estiver configurada corretamente como você mencionou e o ping funcionar, isso não importa. 3. Não se preocupe com o adaptador, pois foi apenas se os outros não funcionaram. O que eu incluiria seria o sistema operacional que você está usando como host e se esse host tiver algum tipo de firewall. Você também pode virtualizar uma imagem ISO da área de trabalho do Ubuntu e ver se o CD ao vivo tem conexão com a Internet?
Luis Alvarado
Hoje finalmente consegui baixar o Ubuntu Server 12.04.1 e fiz um teste com ele. Ele se conectou corretamente. Por isso, sou mais orientado ao seu host, criando o problema ou uma configuração incorreta quando você instala o servidor. Estou me inclinando mais para o host negando algo, pois pelo que pude ler de você, você tem alguma experiência com computadores e o Ubuntu Server é bastante fácil de usar.
Luis Alvarado
3

Definitivamente, esse é um problema de rede. Para confirmar isso, tente primeiro executar o ping de IPs na sua rede local:

ping 10.1.1.1

(que provavelmente é o IP do seu roteador)

e depois pingando IPs no "mundo externo"

Além disso, mesmo se você estiver executando sua VM em um laptop conectado via Wi-Fi, não precisará configurar o Wi-Fi na máquina convidada - o VirtualBox emula um adaptador de rede "com fio", para que seu sistema operacional convidado pense que ele roda em uma máquina que está conectado à LAN com um cabo.

A configuração de rede no VirtualBox é um tópico amplo (embora as configurações típicas normalmente funcionem prontamente), você precisa garantir que sua VM tenha um adaptador de rede configurado nas propriedades da VM etc.

Veja http://www.virtualbox.org/manual/ch06.html para mais detalhes.

A configuração padrão do VirtualBox (NAT) cria uma rede "privada" entre o host e as máquinas convidadas, com a máquina host encaminhando todo o tráfego proveniente da máquina convidada para fora e enviando respostas de volta ao convidado (da mesma forma que o roteador conecta o laptop a Internet). O convidado não possui um endereço IP individual na sua LAN e não pode ser acessado de fora do laptop, mas você pode acessar a Internet a partir do convidado, pois os pacotes são traduzidos na LAN pela máquina host e depois na Internet pelo roteador. Isso explica por que você não vê um dispositivo separado nas configurações do seu roteador

Sergey
fonte
Obrigado pela resposta incrível @Sergey (+1) - mas ainda estou um pouco confuso! Você diz que a VM em execução no meu laptop pode acessar a Internet porque os pacotes são traduzidos na LAN a partir da máquina host. Então, se for esse o caso, por que não apt-getfunciona? Se uma VM puder receber uma conexão de rede de entrada, apt-getnão deverá ter problemas para baixar conteúdo de URLs remotos ... sim? Obrigado novamente!
zharvey
Ou é que a VM só pode receber pacotes de dentro da LAN privada (entre o sistema operacional host e todos os seus convidados)?
Zharvey
1
@ zharvey: Eu estava me referindo a um host / convidado com rede NAT configurada corretamente (que geralmente é o caso quando você cria uma VM com as configurações padrão) - suspeito que sua VM possa estar mal configurada de alguma forma. Por favor, vá para as configurações da sua VM e verifique se você possui um adaptador de rede, se o cabo Ethernet virtual está "conectado", se o tipo de rede está definido como NAT. Talvez adicione algumas capturas de tela à sua pergunta. Em seguida, inicie sua VM e execute ifconfige routecomandos lá e também publique os resultados.
Sergey
Mais uma vez obrigado @Sergey (+1 novamente) - veja as capturas de tela em anexo e deixe-me saber se algo acontecer com você! Obrigado novamente!
Zharvey 23/08
1

Aqui está o que noto da sua pergunta:

  1. A mensagem é: "Falha ao buscar. Falha temporária ao resolver <blah> .ubuntu.com"
  2. Você pode acessar o google.com muito bem.

Eu diria que há um problema com o serviço de nome de domínio na resolução desse endereço, não no seu computador. Não há nada de especial em fazer uma pesquisa de domínio, em vez de fazer um ping. Sua rede deve estar funcionando, no entanto, está configurada.

Eu sugiro que você altere suas fontes de software para usar um arquivo Ubuntu diferente, talvez apenas archive.ubuntu.com.

John S Gruber
fonte
Na verdade eu tenho que concordar. Se o OP puder executar ping no google e navegar na internet (precisa ser verificado), ele terá uma conexão funcionando. O servidor selecionado nas fontes parece ser o problema, não a conexão com a Internet.
fabricator4
1

Isto é o que funcionou para mim:

tentar configurar a conexão sem fio não funcionou
adicionando detalhes da propriedade de rede na VM do Ubuntu e alterar o Windows da mesma forma não funcionou

embora o host fosse sem fio, o convidado (ubuntu VM) age como se estivesse conectado por cabo virtual, de modo a resolver o problema:
Janela da VM do Ubuntu> Dispositivos> Rede> Configurações de rede ...> marque a caixa Cabo Conectado

rabin utam
fonte
1

/etc/resolv.conf é symlink e será symlink após a remoção, porque o resolvconf sempre o redefine.

Se você deseja usar o DNS do Google, adicione estas linhas ao seu /etc/resolvconf/resolv.conf.d/head:

nameserver 8.8.8.8   
nameserver 8.8.4.4

Se você deseja que seu roteador detecte sua máquina virtual, use o "Adaptador em ponte". Em adaptadores de rede, altere a caixa, que diz "NAT" para "adaptador em ponte". Se você configurá-lo como adaptador em ponte, a máquina virtual obtém IP etc. do servidor DHCP. Se o seu roteador não tiver um ou você não tiver um na sua rede, o Virtualmachine não poderá obter as configurações automaticamente e você deverá especificá-las manualmente.

Não tenho certeza sobre isso <blah>.ubuntu.com, mas sugiro que tente outro espelho.

Eu uso mirrors.ubuntu.com/mirrors.txt, que sempre contém os espelhos possíveis mais próximos. Para usá-lo, adicione estas linhas ao seu /etc/apt/sources.list:

deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse   
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse   
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse    
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse

Se você deseja ter backports também, adicione também estas linhas:

deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse   

Para mim, http://mirrors.ubuntu.com/mirrors.txt contém:

http://ubuntu.trumpetti.atm.tut.fi/ubuntu/

http://www.nic.funet.fi/pub/mirrors/archive.ubuntu.com/

http://mirrors.nic.funet.fi/ubuntu/

http://archive.ubuntu.com/ubuntu/

porque eu estou na Finlândia.

Mikaela
fonte
Se todos puderem editar e forem melhores com remarcação do que eu, sinta-se à vontade para consertar essa bagunça, que eu causei com a remarcação acima.
Mikaela
Esta é uma resposta defeituosa. (1) Se o /etc/resolv.conf fosse um link simbólico e você excluir esse link simbólico, o resolvconf não recriará o link simbólico. (2) O arquivo /etc/resolvconf/resolv.conf.d/head não é o lugar certo para colocar as opções do servidor de nomes. Os endereços do servidor de nomes devem entrar em / etc / network / interfaces se você estiver usando ifup ou devem ser inseridos no NetworkManager se estiver usando o NetworkManager. Se você realmente deseja incluir estaticamente o endereço do servidor de nomes 8.8.8.8 no resolv.conf, coloque "nameserver 8.8.8.8" em /etc/resolvconf/resolv.conf.d/base.
Jdthood #
0

Este link possui um tutorial sobre como conectar-se a redes sem fio usando a linha de comando: http://www.linuxjournal.com/content/wi-fi-command-line .

No entanto, você pode querer restaurar seu resolv.confarquivo.

verde
fonte
É realmente assim tão simples? O Ubuntu Server não é fornecido com detecção automática sem fio? Então, quando mostra o endereço IP, isso é apenas um padrão do sistema ou algo assim? Alguma idéia de como eu poderia restaurar resolv.conf? Obrigado (+1)!
Zharvey
@ zharvey: é improvável que isso resolva seu problema, pois você NÃO precisa configurar o wi-fi na máquina convidada.
Sergey
0

Está bem. Uma pequena pergunta! Você pode usar a Internet no seu navegador? Se sim, tente o seguinte: Tente alterar o servidor, selecionando o gerenciador de atualizações, as definições, o download de e selecione um servidor mais próximo de você. e tente verificar suas atualizações novamente.

Eu acho que é um bug. Por favor, tente e me diga se funciona.

Celso
fonte
0

Também corro o ubuntu desktop e o servidor no VirtualBox. E eu estava tendo o mesmo problema que você. Minha solução alternativa não foi configurar a placa de rede no VirtaulBox como NAT, mas como adaptador em ponte.

Espero que ajude !;)

PS: no link publicado pela Serghey (manual do VirtualBox):

"Rede conectada em ponte Isto é para necessidades de rede mais avançadas, como simulações de rede e servidores em execução em um convidado. Quando ativada, o VirtualBox se conecta a uma de suas placas de rede instaladas e troca pacotes de rede diretamente, contornando a pilha de rede do sistema operacional do host".

Bulix
fonte
0

Esse problema ocorre basicamente devido à alocação dos mesmos endereços IP ao adaptador WiFi do host (pelo servidor DHCP do roteador wifi) e à interface Guest (pelo servidor DHCP do VirtualBox na rede Nat).

Na documentação do VirtualBox sobre o servidor DHCP integrado Ajustando o mecanismo NAT do VirtualBox :

In NAT mode, the guest network interface is assigned to the IPv4 range 10.0.x.0/24
by default where x corresponds to the instance of the NAT interface +2. So x is 2
when there is only one NAT instance active. In that case the guest is assigned to the 
address 10.0.2.15, the gateway is set to 10.0.2.2 and the name server can be found at
10.0.2.3.

Observando o endereço IP do adaptador WiFi do seu host, você descobrirá que o endereço atribuído a ele também é do 10.0.2.0/24intervalo de rede.

Esse é o motivo do problema, agora que o driver Nat do VirtualBox está confuso pelo fato de os endereços de host e convidado serem da mesma sub-rede.

Para corrigir isso, você pode alterar a sub-rede atendida pelo servidor DHCP do VirtualBox usando o comando VBoxManage (enquanto a VM está desligada):

Vboxmanage modifyvm VMName --natnet1 "198.162/16"

E você está pronto para ir (já que 198.162.0.0 quase nunca é usado em servidores DHCP em dispositivos de rede SOHO).

Samveen
fonte
0

Você precisa instalar o "VirtualBox Oracle VM VirtualBox Extension Pack".

Primeiro, execute o VBoxManage --versionseu terminal no ubuntu (I'm on Mint). Em seguida, baixe o pacote de extensão que se alinha à sua versão do VBox em https://www.virtualbox.org/wiki/Downloads .

No VBox, clique em Ctrl+G ('Preferências') e role para baixo até a guia 'Extensão'. Clique em "Adicionar novo pacote", adicione o arquivo baixado e deixe-o instalar.

Tente!

Magere
fonte