42 votes

Pas d'internet après la mise à niveau de 16.04 à 18.04

Après la mise à niveau, j'ai remarqué que je n'ai pas d'accès Internet. Les réglages du réseau filaire et du wifi semblaient corrects, mais ça ne fonctionnait pas. Après la connexion, le système se mettait toujours en mode avion. J'ai partagé la connexion via USB et Bluetooth avec mon téléphone portable mais cela n'a pas fonctionné non plus.

41voto

Zoltán Süle Points 1039

Mise à jour 2: le rapport de bug a été refusé car je n'ai pas pu le reproduire sur le système déjà mis à jour et je n'ai pas pu fournir de données pour les développeurs.

Mise à jour 1: J'ai signalé le bug sur launchpad. Vous pouvez vous abonner si vous êtes concerné : https://bugs.launchpad.net/ubuntu/+bug/1816530

l'ORIGINE de la solution

si le /etc/resolv.conf est vide mais que vous pouvez pinger 8.8.8.8

$ echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

si le /etc/resolvconf/resolv.conf.d/head est vide, alors vous devez répéter la commande ci-dessus après chaque redémarrage sauf si vous faites ceci :

$ echo "nameserver 8.8.8.8" | sudo tee -a /etc/resolvconf/resolv.conf.d/head > /dev/null

ensuite vous devez redémarrer le resolvconf et le réseau

$ sudo systemctl enable resolvconf
$ sudo systemctl start resolvconf
$ sudo /etc/init.d/networking restart

11voto

user190080 Points 11

Je suis d'accord avec d'autres personnes ici que la réponse sélectionnée n'est probablement pas la meilleure façon de résoudre le problème :

Lorsqu'un fichier contient un commentaire au début qui dit

"NE PAS MODIFIER CE FICHIER"

alors il y a probablement une très bonne raison de, eh bien, ... ne pas éditer ce fichier! ;-)

Et voici pourquoi, ainsi qu'une suggestion pour une meilleure solution (à mon avis) :

a. le fichier /etc/resolv.conf, que vous avez modifié, sera écrasé au démarrage, donc votre modification ne restera pas en place.

b. l'adresse IP (127.0.0.53) qui était initialement présente (avant que vous ne la modifiiez) est en fait l'adresse d'un résolveur DNS stub. Il est là ! Vous pouvez le pinguer ! il s'exécute localement sur votre machine. Qu'est-ce qu'un résolveur stub ? Il prend vos requêtes DNS et regarde dans son cache pour une résolution ! S'il ne trouve rien, il demandera à un véritable serveur DNS (et mettra alors le résultat en cache). Donc, si vous écrasez l'adresse du résolveur stub, vous allez manquer cette fonction de mise en cache importante du résolveur stub !

Le problème avec cette nouvelle méthode de résolution dans Ubuntu 18.04, c'est que l'adresse du serveur DNS 'réel' n'a jamais été définie. Donc, si le résolveur stub ne trouve pas votre domaine demandé dans son cache, il ne sait pas quel serveur DNS interroger. (D'où le fait que vos accès Internet basés sur le nom de domaine ne fonctionnent plus). Tout ce que vous avez à faire, c'est configurer le serveur DNS 'réel' que ce résolveur stub doit utiliser. Et vous le faites en éditant (en tant qu'administrateur !) /etc/systemd/resolved.conf

Ajoutez simplement quelque chose comme

DNS=8.8.8.8

dans ce fichier.

Ensuite redémarrez le réseau, ou plutôt, redémarrez, pour vérifier que vous avez maintenant une solution persistante à travers les redémarrages.

(Ce que je n'ai pas encore compris, c'est pourquoi DHCP ne définit pas correctement le serveur DNS correct !)

6voto

Whatnow Points 61

La réponse acceptée a résolu mon problème. Cependant, comme tout le monde l'a dit, cela ne fonctionne que jusqu'à ce que vous redémarriez, ce que je fais quotidiennement avec ma machine. Saisir 5 à 6 lignes dans le terminal à chaque démarrage du système n'est pas quelque chose qui m'amuserait.

Après avoir fouillé sur Internet, j'ai trouvé une solution pour résoudre définitivement le problème. J'ai redémarré 3 fois par la suite juste pour être sûr que la connexion Internet est là et je n'ai rien à faire.

Solution:

Démarrez le terminal et tapez:

$ ifconfig

Maintenant, vous devez identifier quelle est votre interface Ethernet. La mienne est répertoriée comme eth1. Ensuite, tapez:

$sudo gedit /etc/network/interfaces

Mon fichier contenait seulement:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Maintenant, ce que vous devez faire est d'ajouter les lignes suivantes ensuite:

auto eth1
iface eth1 inet dhcp

Enfin, $ sudo ifup eth1, redémarrez et c'est fait. N'oubliez pas de remplacer eth1 par le nom de votre interface Ethernet.

Réponse originale

5voto

Ng Sek Long Points 151

tl;dr

D'abord, éditer ce fichier

sudo vim /etc/resolvconf/resolv.conf.d/base

Deuxièmement, ajouter ce qui suit

nameserver 8.8.8.8
nameserver 8.8.4.4

Après cela, redémarrez Ubuntu, vous devriez avoir Internet maintenant.


Expliquer

Certaines des solutions répertoriées ont fonctionné, mais échoueront une fois le redémarrage d'Ubuntu (dans mon cas, VM),

La solution ci-dessus est une forme tl;dr de cette solution ( https://unix.stackexchange.com/a/128223/243480 ) et cela a fonctionné parfaitement.

1voto

user9377103 Points 11

J'avais le même problème sur Ubuntu 18.04 et la réponse ci-dessus n'a pas fonctionné pour moi car je n'avais pas de dossier nommé /etc/resolvconf/resolv.conf.d/. J'ai donc fait ce qui suit :

sudo mkdir -p /etc/resolvconf/resolv.conf.d
sudo touch /etc/resolvconf/resolv.conf.d/head

Ensuite, j'ai ajouté nameserver 8.8.8.8 au fichier /etc/resolvconf/resolv.conf.d/head

Ensuite, un simple redémarrage du réseau a résolu le problème.

sudo /etc/init.d/networking restart

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X