Comment configurer mon DNS statique dans les interfaces?

60

J'utilise Ubuntu 12.04.

Mon /etc/network/interfacesdossier comprend:

# The loopback network interface  
auto lo  
iface lo inet loopback  


# The primary network interface  
auto eth0 
iface eth0 inet static  
address 192.168.1.58  
gateway 192.168.1.1
network 192.168.1.0  
broadcast 192.168.1.255
dns-nameservers 66.212.63.228 66.212.48.10  

J'ai lancé la commande: /etc/init.d/networking restart

Ce qui a répondu avec:

*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
*Reconfiguring network interfaces...  
RTNETLINK answers: File exists  
Failed to bring up eth0  
[ OK ]  

Ensuite, j'ai exécuté ping google.com et j'ai reçu:

ping: unknown host google.com

Je ne sais pas si mes interfaces ont été rafraîchies. Comment configurer correctement mon réseau avec mes adresses DNS statiques?

pointillé
la source
1
Redémarrez votre ordinateur. N'exécutez pas /etc/init.d/networking restart. L'erreur est due à la route par défaut déjà existante. Cette configuration me semble correcte.
Matt H
2
Comme Matt H le dit, /etc/network/interfacesest pointilleux sur des choses déjà existantes. Vous pouvez avoir une configuration parfaite, mais déjà quelque chose là-bas, et il va se plaindre. S'il s'agit de la route par défaut dont il se plaint, vous pouvez la supprimer en exécutant l'opération ip route del defaultafin de placer l'ordinateur dans un état dans lequel vous pouvez en confier la gestion/etc/network/interfaces
Azendale
Le gestionnaire de réseau a revendiqué une autre victime. Supprimez simplement cette ordure.
Chouette

Réponses:

24

Comme l'interrogateur donne le contenu de son contenu, /etc/network/interfacesj'en déduis qu'il utilise ifup pour configurer des interfaces. Mais comme il utilise peut-être NetworkManager, je vais en discuter également.

Si vous utilisez ifup, les paramètres DNS sont activés /etc/network/interfaces. Pour chaque interface, vous ajoutez des dns-*options adaptées aux serveurs de noms disponibles sur cette interface. Par exemple, si un serveur de noms à l'adresse 1.2.3.4 est disponible sur l'interface eth0, ajoutez-le dns-nameservers 1.2.3.4à la iface eth0strophe.

Si vous utilisez NetworkManager, les paramètres sont entrés dans l'éditeur de connexion (indicateur de réseau | Modifier les connexions ...) dans l'onglet Paramètres IPv4.

Faire la /etc/init.d/networking restartreconfiguration des interfaces est obsolète. Si vous utilisez ifupalors d'abord ifdownchaque interface réseau active, puis ifupchaque interface. Si vous utilisez NetworkManager, commencez par désactiver le réseau à l'aide de l'indicateur (en haut du bureau); puis ouvrez un terminal et lancez

sudo /etc/init.d/network-manager restart

puis activez la mise en réseau à l'aide de l'indicateur.

Ou vous pouvez simplement redémarrer.

En ce qui concerne le fait que /etc/init.d/networking restartrésultat

RTNETLINK answers: File exists
Failed to bring up eth0  

Cela signifie que si updown pense que eth0c'est déjà fait. Permet ifdown --force eth0de ne ifupdownplus croire que l'interface a déjà été configurée.

En ce qui concerne le message "obsolète", ce message n'est plus imprimé dans Ubuntu 12.10 mais vous devez néanmoins noter que les scripts d'initiés sont "en voie de disparition". Pour redémarrer un service foo, utilisez service foo restartou restart foo. Notez également que si vous souhaitez reconfigurer vos interfaces, il est préférable de les désactiver une par une plutôt que de compter sur le redémarrage de la "mise en réseau".

jdthood
la source
17

Si rien de ce qui précède ne fonctionne, gardez à l'esprit que Ubuntu ajoute un tailfichier au fichier resolv.conf qu'il génère.

Essaye ça:

sudo nano /etc/resolvconf/resolv.conf.d/tail

Ce qui ouvrira un fichier resolv.conf.d vide dans l'éditeur de texte nano. Vous devrez placer l'adresse de votre serveur DNS sur la première ligne de ce fichier et vous rappeler de terminer la ligne par un retour à la ligne (appuyez sur Entrée), comme indiqué ci-dessous:

nameserver 10.20.1.2

La modification du fichier tail au lieu du fichier resolv.conf empêchera la perte de votre modification lors du redémarrage du système.

Vous devrez exécuter sudo resolvconf -upour activer le changement. Vous devriez pouvoir faire un ping sur google.com après cela. Bonne chance!

Sean Huggans
la source
Cela semble bien, mais mon système Ubuntu 14.04 n'a pas utilisé ce fichier de queue. Donc, ce n'est pas une solution dans mon cas. Merci quand même.
James T Snell
11

Version en ligne de commande:

Vous devriez ajouter vos serveurs de noms au /etc/resolvconf/resolv.conf.d/basefichier de cette façon:

nameserver 66.212.63.228 
nameserver 66.212.48.10
pl1nk
la source
Je vais devoir essayer cette méthode dans quelques heures et vous revenir. Savez-vous pourquoi je reçois le message obsolète et que le message eth0 n'a pas été affiché?
Quotidien pointillé
1
Vous pouvez utiliser ceci: $ ifdown eth0 && ifup eth0En savoir plus sur ce problème ici .
Pl1nk
1
@dottedquad qu'est-ce que vous changez le fichier / etc / network / interfaces en ceci: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.58 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.255Faites attention à ceci: auto eth0 iface eth0 inet staticest deux lignes
pl1nk
1
Il est préférable d’ajouter des informations de serveur de noms aux connexions NetworkManager (si vous utilisez NetworkManager) comme décrit par bodhi.zazen, ou aux définitions d’interface dans / etc / network / interfaces (si vous utilisez ifup) plutôt que d’ajouter les informations de manière statique et globale. à /etc/resolvconf/resolv.conf.d/base.
Jdthood
1
@jdthood Il semble que vous ayez vu mes commentaires et la question ainsi que les autres réponses! Quelques commentaires jusqu'à [..] "Vous pouvez utiliser ceci: $ ifdown eth0 && ifup eth0" [..]
Merci,
11

Toutes les réponses relatives à / etc / network / interfaces indiquent de manière incorrecte dns-nameserversplutôt que dns-nameserver- ci-dessous devrait fonctionner:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
dns-search something.network.com

(testé sur Ubuntu 15.04)

babelmonk
la source
8
Prudent. Je viens de confirmer que dns-nameserver(singulier) ne fonctionne pas sur RaspberryPi + Raspian Jesse. J'ai trouvé que je devais utiliser dns-nameservers(pluriel). YMMV et tout ça, j'essaie juste d'aider la prochaine personne ...
evadeflow
2
Consultez votre page de manuel resolvconf (8) pour connaître l’utilisation et les options. Sur Ubuntu 16.04.3 LTS, vous indiquez que vous utilisez une ou plusieurs lignes de serveur de noms DNS avec une seule adresse IP par ligne, ou vous pouvez utiliser des serveurs de noms DNS et une liste d'adresses IP séparées par des espaces.
Jla
dns-nameserverou dns-nameservers? parce que wiki.ubuntu.com/KvmWithBridge dit "serveurs" ...
Thufir
Cela ne fonctionne vraiment pas pour moi. Impossible de voter, pas assez de points pour le moment.
Chouette
Yey, c'est gentil et cohérent alors! Désolé pour la confusion, vérifiez les deux et vérifiez les commentaires ci-dessus car il semble différent Les variantes Ubuntu / Debian / Raspian sont différentes.
Babelmonk
6

La méthode la plus simple pour configurer vos serveurs DNS consiste à utiliser NetworkManager.

Sous IPv4, indiquez vos serveurs DNS.

entrez la description de l'image ici

Panthère
la source
2
J'ai oublié de mentionner que je n'ai pas installé l'unité ou le gnome. Gnome installatio est mon prochain projet.
Quotidien pointu
Cela ne me laissera pas sauver ça. pourquoi cela pourrait-il être?
Josh
4

J'ai pu contourner cela sur une installation de serveur Ubuntu sans tête en ajoutant

nameserver 8.8.8.8

... après les éléments d'interface pertinents dans / etc / network / interfaces:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4

J'espère que cela aidera les utilisateurs ultérieurs!

corq
la source
pour dns-nameserverspouvez-vous séparer les virgules 8.8.8.8, 8.8.4.4?
Thufir
1
@Thufir wiki.debian.org/Configuration du spaces réseau
Philippe Gachoud
4

Note: attention en utilisant sans accès direct sur la machine, cela coupera la connexion ...

j'utilise

sudo ifdown eth0

ensuite

sudo ifup eth0

Il va réinitialiser et libérer tout ...

S'il rencontre des erreurs liées à la configuration, vous pouvez utiliser:

sudo ifdown eth0 --force
utilisateur294233
la source
3

Cela a fonctionné pour moi

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

et ajouter:

nameserver <add your router ip>

Courir:

sudo resolvconf -u

J'utilise l'installation de base du serveur Ubuntu.

Bongo
la source
2

Il manque une spécification de sous-réseau dans le fichier d'interfaces.

Ajoutez un masque 255.255.255.0de réseau en /etc/network/interfacesdessous de la ligne du réseau.

Brian
la source
1

Pour une raison quelconque, la dns-nameserversdéclaration ne fait rien dans mon cas. Et les autres réponses ne sont pas dans le livre, car elles contournent dnsmasqce qui est utilisé dans Ubuntu.

Pour le faire correctement, éditez /etc/dnsmasq.conf

Ajoutez vos serveurs de noms au bas du fichier:

server=8.8.8.8
server=8.8.4.4

Redémarrez dnsmasq pour utiliser les nouveaux paramètres: sudo service dnsmasq restart

Crédit: https://unix.stackexchange.com/a/163506/187949

DustWolf
la source
1

J'ai eu ce problème. Je pensais que je devenais fou. Chaque fois que j'ai édité /etc/resolv.conf, il a supprimé ma configuration. Il s'avère que certains lunatic a distribué Debian avec Network-Manager, ce qui écrase tous les paramètres de mon réseau.

Voici comment je l'ai corrigé:

1) sudo apt-get purge network-manager

Cela supprime ce nouvel outil épouvantable qui empêche toutes les configurations de fonctionner correctement.

2) Editez le /etc/network/interfacesfichier:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1

3) Éditez /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

4) redémarrez.

Félicitations, vous avez maintenant des configurations saines qui fonctionnent à nouveau.

Hibou
la source
0

Vous pouvez également configurer cette interface dans un autre fichier, car vous avez plus de passerelles.

Les détails sont ici .

antivirtel
la source