Réseau sans fil dans Virtualbox

13

Je viens d'installer ma première instance d'Ubuntu Server (12.04) et j'ai immédiatement rencontré les problèmes suivants:

  • En cours d'exécution apt-get installou updateéchoue (voir ci-dessous)
  • L'exécution ifconfigproduit des adresses IP particulières à partir de 10.x.x.xet mon routeur ne voit pas du tout le serveur dans sa page "Périphériques attachés" (c'est un Netgear de qualité grand public)

Lorsque je cours, apt-getj'obtiens plus de 50 des erreurs suivantes:

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

J'ai lu cette erreur pour 12.04 et j'ai trouvé des messages similaires sur ce forum et sur une erreur de serveur qui recommandaient d'entrer /etc/resolv.confet d'ajouter une entrée:

nameserver 8.8.8.8

À ma grande surprise, j'ai trouvé que /etc/resolv.confc'était un lien symbolique pointant ailleurs et j'ai dû le supprimer d'abord, puis en créer un nouveau avec l'entrée indiquée ci-dessus.

J'ai redémarré le serveur et j'ai essayé de relancer apt-get, mêmes résultats.

Comment puis-je commencer à diagnostiquer le problème (je suis un utilisateur relativement nouveau de Linux / Ubuntu)?

Détails supplémentaires pouvant vous aider:

  • Il s'agit en fait d'une machine virtuelle fonctionnant en tant qu'OS invité VirtualBox
  • L'hôte physique qui exécute cette machine virtuelle est mon ordinateur portable qui dispose d'une connexion sans fil; Je me demande si (en quelque sorte) l'ordinateur portable obtient le réseau sans fil, mais peut-être que la VM VBox et / ou le système d'exploitation du serveur Ubuntu n'est pas configuré pour le sans fil et donc rien ne "passe"?

Merci d'avance pour tout pointeur!

Modifier :

Voici un instantané des paramètres réseau de ma machine virtuelle (seul l'adaptateur 1 possède des informations dans ses champs, donc je suppose que ma machine virtuelle n'a qu'un seul adaptateur):

entrez la description de l'image ici

Voici la sortie lorsque je cours ifconfigdepuis le terminal:

entrez la description de l'image ici

Et voici la sortie lorsque je cours routedepuis le terminal:

entrez la description de l'image ici

Courir ping google.com:

entrez la description de l'image ici

zharvey
la source
1
Pourriez-vous ajouter la sortie de dig <blah>.archive.ubuntu.com, dig @ 8.8.8.8 <blah> .archive.ubuntu.com` et dig @8.8.8.8 archive.ubuntu.com. Quel est le contenu de <blah> de toute façon? Pouvez-vous envoyer une requête ping à <blah> .archive.ubuntu.com depuis l'hôte de votre machine virtuelle?
John S Gruber
1
Le HWAddrest probablement OK à afficher, car chaque machine virtuelle obtient sa propre adresse MAC unique.
Henrik
1
Et l' fe80::..adresse est une liaison IPv6 locale sur laquelle je ne peux pas vous contacter. Et le dans le ping est le serveur sur lequel vous envoyez un ping, pas votre passerelle, donc il ne donne rien.
Henrik

Réponses:

22

Pour faire une réponse courte: c'est un problème de réseau.

La façon dont je vois le scénario est la suivante:

entrez la description de l'image ici

Maintenant, pour voir correctement où est le problème, dans ce cas, nous devons d'abord vérifier des réseaux externes aux réseaux internes.

  1. Assurez-vous que le routeur dispose d'Internet. Vous pouvez utiliser le même hôte ou un autre appareil connecté pour vérifier cela.

  2. Assurez-vous que l' hôte dispose d'Internet via le routeur ou toute autre source. Pour vérifier il suffit d' envoyer un ping à google.com par exemple comme ceci: ping google.com.

Si les points 1 et 2 sont bons (votre routeur fonctionne très bien et dispose d'Internet et votre hôte dispose d'Internet), nous procédons à l'invité et à la boîte virtuelle. Il peut être bon de lire comment la prise en charge sans fil est gérée dans VirtualBox en lisant la carte Wifi sur l'ubuntu d'une virtualbox

Nous devons d'abord connaître les informations suivantes:

  • Il n'y a pas de connexion sans fil dans l'environnement Virtualbox. Toutes les connexions "virtuelles" font référence à des connexions câblées / câblées. Ainsi, lorsque vous activez une carte réseau dans votre invité virtuel, il s'agit d'une connexion filaire virtuelle que vous créez et non d'une connexion sans fil virtuelle .

  • La connexion virtuelle de l'hôte à l'invité est indépendante du type de connexion à laquelle votre hôte est connecté (physiquement connecté). Si l'hôte est connecté via une connexion filaire ou sans fil, cela n'a pas d'importance ou n'affecte pas la connexion virtuelle établie de l'hôte à l'invité car les connexions filaires et sans fil sont utilisées de la même manière à l'intérieur de l'invité. Quelque chose de similaire à l'image suivante:

    entrez la description de l'image ici

  • Si votre hôte n'a pas accès à Internet, votre invité ne l'aura pas. Il en va de même si si votre hôte a accès à Internet et que votre connexion de l'hôte à l'invité permet de partager Internet, l'invité aura probablement aussi Internet (comportement par défaut avec Virtualbox).

  • J'utiliserai Virtualbox 4.1.20 qui semble différente de celle que vous utilisez (peut-être la même, je ne sais pas). Je vais ajouter l'image réseau juste pour aider et montrer les différences:

    entrez la description de l'image ici

  • J'utiliserai Ubuntu 12.04 en tant qu'hôte et en tant qu'invité (cela fonctionne de la même manière en 12.10 ou 13.04). Dans les cas où Windows est l'hôte, vous devez vous assurer que le pare-feu ne bloque pas un port particulier que l'invité utilisera.

  • Je suppose que l'hôte n'utilise pas de proxy, juste connecté directement au routeur via une connexion sans fil / filaire.

  • La sortie de l'invité est la suivante avec ifconfig et route:

    entrez la description de l'image ici

Passons maintenant aux points que vous souhaitez résoudre:

  1. Configurer le réseau pour le serveur VM Ubuntu
  2. Obtenez VM pour se connecter à Internet
  3. Obtenez un routeur pour voir la machine virtuelle

Permettez-moi d'abord de mentionner que le point 3 sera impossible à moins que la supposition de Virtualbox ne prenne en charge la redirection de port. Votre routeur ne verra que les transferts effectués depuis votre invité comme s'il s'agissait de transferts effectués depuis l'hôte réel. Donc, sans transfert (ce qui est quelque peu pris en charge sur la dernière version), le routeur ne verra jamais la machine virtuelle, uniquement l'hôte.

Il y a bien sûr des façons de contourner cela, comme dire à l'hôte de transmettre des trucs à l'invité via le moteur de la boîte virtuelle. Ou configurer (plus facilement je pense) l'invité pour le transfert de port. Par exemple ceci:

entrez la description de l'image ici

Donc, avec cela à l'esprit, nous faisons ce qui suit dans l'invité:

  1. Testez si l'invité a accès à Internet avec l' ping google.comapproche commune .

    Si le ping fonctionne, nous savons qu'une connexion Internet existe. Le problème est peut-être la résolution du site de destination.

  2. Essayez ce qui suit:

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

  3. Vérifiez que /etc/network/interfacec'est correct. Mon exemple serait:

    entrez la description de l'image ici

  4. Modifiez le type d'adaptateur dans les options réseau de la fenêtre de configuration de Virtualbox.

  5. Testez si le client Ubuntu Desktop ou un autre système d'exploitation fonctionne correctement. (Pour l'instant, je n'ai que l'image iso du bureau de 12.10 et 12.04).

Luis Alvarado
la source
Wow, merci @Luis Alvarado pour une réponse aussi complète (+1). Quelques suivis pour chacune de vos 5 suggestions: (1) ping google.comsur la machine virtuelle invitée semble en fait fonctionner normalement, alors quels autres tests pourrais-je effectuer pour confirmer que j'obtiens réellement Internet? (2) Je n'ai qu'un /etc/init.d/networking(pas network) service et lorsque j'essaye de le redémarrer, je reçois un avertissement indiquant qu'il est obsolète. (3) Mon etc/network/interfacedossier ressemble exactement au vôtre. (4) Quel type d'adaptateur dois-je essayer et quels paramètres ultérieurs? (5) À déterminer ...
zharvey
Je pense que la première chose dont j'ai besoin de confirmation est le point n ° 1: ce fait qui pingsemblait démarrer et se comporter comme s'il fonctionnait bien. Je mettrai à jour ma question d'origine avec une capture d'écran de la sortie, veuillez me faire savoir s'il s'agit d'une sortie ping "normale" et indiquant une connexion inet réussie.
zharvey
Désolé, il semble que la prime me soit tombée en dessous du seuil minimum de 15 votes positifs, il semble donc que je ne puisse pas voter positivement, sinon je le ferais: - /
zharvey
Salut. Permettez-moi de faire court pour le commentaire: 1. Si votre ping fonctionne, la machine virtuelle a une connexion correcte à l'hôte. 2. Ne vous inquiétez pas pour le fichier / etc / network, si votre interface est correctement configurée comme vous l'avez mentionné et que le ping fonctionne, cela n'a pas d'importance. 3. Ne vous inquiétez pas de l'adaptateur car ce n'est que si les autres ne fonctionnent pas. Ce que j'inclurais serait le système d'exploitation que vous utilisez en tant qu'hôte et si cet hôte possède une sorte de pare-feu. Pouvez-vous également virtualiser une image ISO du bureau Ubuntu et voir si le live cd dispose d'une connexion Internet?
Luis Alvarado
Aujourd'hui, j'ai enfin réussi à télécharger le serveur Ubuntu 12.04.1 et j'ai fait un test avec. Il s'est connecté correctement. Je suis donc plus orienté vers votre hôte créant le problème ou une mauvaise configuration lorsque vous installez le serveur. Je penche davantage vers l'hôte qui nie quelque chose car pour ce que j'ai pu lire, vous avez une certaine expérience avec les ordinateurs et le serveur Ubuntu est assez facile à utiliser.
Luis Alvarado
3

Il s'agit très certainement d'un problème de réseau. Pour confirmer cela, essayez d'abord d'envoyer une requête ping aux adresses IP à l'intérieur de votre réseau local:

ping 10.1.1.1

(qui est susceptible d'être l'IP de votre routeur)

puis cingler les adresses IP dans le "monde extérieur"

De plus, même si vous exécutez votre machine virtuelle sur un ordinateur portable qui se connecte via wifi, vous n'avez pas besoin de configurer le wifi sur la machine invitée - VirtualBox émule une carte réseau "câblée", donc votre système d'exploitation invité pense qu'il s'exécute sur une machine qui est connecté au LAN avec un câble.

La configuration de la mise en réseau dans VirtualBox est un sujet large (bien que les configurations typiques fonctionnent normalement prédéfinies), vous devez vous assurer que votre machine virtuelle dispose d'une carte réseau configurée dans les propriétés de la machine virtuelle, etc.

Voir http://www.virtualbox.org/manual/ch06.html pour plus de détails.

La configuration par défaut de VirtualBox (NAT) crée un réseau "privé" entre votre hôte et les machines invitées, la machine hôte transmettant tout le trafic provenant de la machine invité à l'extérieur et renvoyant des réponses à l'invité (de la même manière que votre routeur connecte votre ordinateur portable à L'Internet). L'invité n'a pas d'adresse IP individuelle dans votre réseau local et n'est pas accessible depuis l'extérieur de votre ordinateur portable, mais vous pouvez accéder à Internet à partir de l'invité car les paquets sont traduits dans le réseau local par la machine hôte, puis en Internet par le routeur. Cela explique pourquoi vous ne voyez pas un appareil séparé dans les paramètres de votre routeur

Sergey
la source
Merci pour la réponse impressionnante @Sergey (+1) - mais je suis toujours un peu confus! Vous dites que la machine virtuelle exécutée sur mon ordinateur portable peut accéder à Internet car les paquets sont traduits dans le LAN à partir de la machine hôte. Alors si c'est le cas, pourquoi ça ne apt-getmarche pas ? Si une machine virtuelle peut recevoir une connexion réseau entrante, cela apt-getne devrait pas avoir de problème pour télécharger du contenu à partir d'URL distantes ... oui? Merci encore!
zharvey
Ou est-ce que la machine virtuelle ne peut recevoir que des paquets de l'intérieur du LAN privé (entre le système d'exploitation hôte et tous ses invités)?
zharvey
1
@zharvey: Je faisais référence à un hôte / invité avec un réseau NAT correctement configuré (ce qui est généralement le cas lorsque vous créez une machine virtuelle avec les paramètres par défaut) - je soupçonne que votre machine virtuelle peut être mal configurée d'une manière ou d'une autre. Veuillez entrer dans les paramètres de votre machine virtuelle et vérifiez que vous disposez d'une carte réseau, que le câble Ethernet virtuel est "branché", que le type de réseau est défini sur NAT. Ajoutez peut-être des captures d'écran à votre question. Ensuite, démarrez votre machine virtuelle et exécutez ifconfig- routey les commandes et affichez également les résultats.
Sergey
Merci encore @Sergey (+1 encore) - veuillez voir les captures d'écran ci-jointes et faites-moi savoir si quelque chose vous saute aux yeux! Merci encore!
zharvey
1

Voici ce que je remarque de votre question:

  1. Le message est: "Échec de la récupération. Échec temporaire de la résolution de <blah> .ubuntu.com"
  2. Vous pouvez très bien accéder à google.com.

Je dirais qu'il y a un problème avec le service de nom de domaine pour résoudre cette adresse, pas sur votre ordinateur. Il n'y a rien de spécial à faire une recherche de domaine par opposition à un ping. Votre réseau doit fonctionner, mais il est configuré.

Je vous suggère de changer vos sources logicielles pour utiliser une autre archive Ubuntu, peut-être simplement archive.ubuntu.com.

John S Gruber
la source
En fait, je dois être d'accord. Si l'OP peut envoyer une requête ping à Google et naviguer sur Internet (doit être vérifié), il a une connexion fonctionnelle. Le serveur sélectionné dans les sources semble être le problème, pas la connexion Internet.
fabricator4
1

C'est ce qui a fonctionné pour moi:

essayer de configurer le sans fil n'a pas fonctionné en
ajoutant des détails sur les propriétés du réseau sur la machine virtuelle Ubuntu et en changeant sur Windows, cela n'a pas fonctionné

bien que l'hôte soit sans fil, l'invité (ubuntu VM) agit comme s'il était connecté par câble virtuel, ce qui a résolu le problème:
Fenêtre Ubuntu VM> Périphériques> Réseau> Paramètres réseau ...> cochez la case Câble connecté

rabin utam
la source
1

/etc/resolv.conf est un lien symbolique et le sera après la suppression, car resolvconf le réinitialise toujours.

Si vous souhaitez utiliser Google DNS, ajoutez ces lignes à votre /etc/resolvconf/resolv.conf.d/head:

nameserver 8.8.8.8   
nameserver 8.8.4.4

Si vous souhaitez que votre routeur détecte votre machine virtuelle, vous devez utiliser "l'adaptateur ponté". Dans les adaptateurs réseau, modifiez la case, qui dit "NAT" à "adaptateur ponté". Si vous le définissez comme adaptateur ponté, la machine virtuelle obtient l'IP, etc. du serveur DHCP. Si votre routeur n'en a pas ou si vous n'en avez pas dans votre réseau, Virtualmachine ne peut pas obtenir les paramètres automatiquement et vous devez les spécifier à la main.

Je ne suis pas sûr que cela <blah>.ubuntu.comne résout pas, mais je vous suggère d'essayer un autre miroir.

J'utilise mirrors.ubuntu.com/mirrors.txt, qui contient toujours les miroirs les plus proches possibles. Pour l'utiliser, ajoutez ces lignes à votre /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

Si vous souhaitez également avoir des rétroportages, ajoutez également ces lignes:

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   

Pour moi, http://mirrors.ubuntu.com/mirrors.txt contient:

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/

parce que je suis en Finlande.

Mikaela
la source
Si tout le monde peut éditer et est meilleur avec le démarque que moi, n'hésitez pas à corriger ce désordre, que j'ai causé avec le démarque ci-dessus.
Mikaela
C'est une réponse erronée. (1) Si /etc/resolv.conf était un lien symbolique et que vous supprimez ce lien symbolique, resolvconf ne recréera pas le lien symbolique. (2) Le fichier /etc/resolvconf/resolv.conf.d/head n'est pas le bon endroit pour placer des options de serveur de noms. Les adresses des serveurs de noms doivent aller dans / etc / network / interfaces si vous utilisez ifup ou doivent être entrées dans NetworkManager si vous utilisez NetworkManager. Si vous voulez vraiment, vraiment inclure l'adresse de serveur de noms 8.8.8.8 de façon statique dans resolv.conf, mettez "nameserver 8.8.8.8" dans /etc/resolvconf/resolv.conf.d/base.
jdthood
0

Ce lien contient un didacticiel sur la façon de se connecter aux réseaux sans fil à l'aide de la ligne de commande: http://www.linuxjournal.com/content/wi-fi-command-line .

Cependant, vous souhaiterez peut-être restaurer votre resolv.conffichier.

vert
la source
Est-ce vraiment aussi simple que cela? Ubuntu Server n'est pas livré avec la détection automatique sans fil? Donc, quand il montre l'adresse IP, est-ce juste une valeur par défaut du système ou quelque chose? Une idée comment je pourrais restaurer resolv.conf? Merci (+1)!
zharvey
@zharvey: il est peu probable que cela résout votre problème car vous n'avez PAS besoin de configurer le Wi-Fi sur la machine invitée.
Sergey
0

D'accord. Une petite question! Pouvez-vous utiliser Internet sur votre navigateur? Si oui, essayez ceci: Essayez de changer le serveur en sélectionnant le gestionnaire de mise à jour, les définitions, le téléchargement depuis, puis sélectionnez un serveur plus près de chez vous. puis réessayez de vérifier vos mises à jour.

Je pense que c'est un bug. Veuillez essayer de me dire si cela fonctionne.

Celso
la source
0

J'exécute également le bureau et le serveur ubuntu sur VirtualBox. Et j'avais le même problème que vous. Ma solution de contournement n'était pas de configurer la carte réseau dans VirtaulBox en tant que NAT, mais en tant qu'adaptateur ponté.

J'espère que ça aide !;)

PS: à partir du lien publié par Serghey (manuel VirtualBox):

"Mise en réseau pontée Ceci est pour les besoins de mise en réseau plus avancés tels que les simulations de réseau et l'exécution de serveurs dans un invité. Lorsqu'elle est activée, VirtualBox se connecte à l'une de vos cartes réseau installées et échange directement les paquets réseau, contournant la pile réseau de votre système d'exploitation hôte."

Bulix
la source
0

Ce problème est essentiellement dû à l'allocation des mêmes adresses IP à la fois à l'adaptateur WiFi hôte (par le serveur DHCP du routeur wifi) et à l'interface invité (par le serveur DHCP VirtualBox sous réseau Nat).

De la documentation VirtualBox sur le serveur DHCP intégré Affiner le moteur NAT 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.

En regardant l'adresse IP de l'adaptateur WiFi de votre hôte, vous constaterez que l'adresse qui lui est attribuée provient également de la 10.0.2.0/24plage réseau.

C'est la raison du problème car maintenant le pilote Nat pour VirtualBox est confus par le fait que les adresses d'hôte et d'invité proviennent du même sous-réseau.

Pour résoudre ce problème, vous pouvez modifier le sous-réseau desservi par le serveur DHCP VirtualBox à l'aide de la commande VBoxManage (lorsque la machine virtuelle est hors tension):

Vboxmanage modifyvm VMName --natnet1 "198.162/16"

Et vous êtes prêt à partir (car 198.162.0.0 n'est presque jamais utilisé dans les serveurs DHCP des périphériques réseau SOHO).

Samveen
la source
0

Vous devez installer le "Pack d'extension VirtualBox Oracle VM VirtualBox".

Tout d'abord, exécutez VBoxManage --versionsur votre terminal ubuntu (I'm on Mint). Téléchargez ensuite le pack d'extension qui correspond à votre version de VBox à partir de https://www.virtualbox.org/wiki/Downloads .

Sur VBox, cliquez sur Ctrl+ G('Préférences') et faites défiler jusqu'à l'onglet 'Extension'. Cliquez sur "Ajouter un nouveau package" puis ajoutez le fichier téléchargé et laissez-le s'installer.

Essayez-le!

Magere
la source