Comment configurer le résolveur DNS dans Fedora en utilisant le gestionnaire de réseau?

16

Je souhaite essayer le DNS public de Google. Pour cela, je dois changer l'adresse du serveur de noms. Je sais que c'est dans le fichier /etc/resolv.conf, mais chaque fois que je démarre network-manager, il écrase les valeurs de ce fichier avec ce qu'il obtient en utilisant DHCP.

Comment lui dire de ne pas le faire? J'ai regardé l'interface graphique, mais je n'ai trouvé qu'une option pour ajouter plus d'adresses IP.

Ci-dessous le trophée :)

entrez la description de l'image ici

wvxvw
la source

Réponses:

11

Méthode n ° 1

Recherchez le fichier de configuration NetworkManager et ajoutez / modifiez l'entrée suivante (dans CentOS5 c'est dans /etc/NetworkManager/nm-system-settings.confou /etc/NetworkManager/system-connections/) et éditez votre fichier de connexion DSL:

[ipv4]
method=auto
dns=8.8.8.8;4.2.2.2;
ignore-auto-dns=true

Remarque: - si [ipv4]cela ne fonctionne pas, essayez avec[ppp]

Méthode n ° 2

Vous pouvez modifier l'autorisation de /etc/resolv.confsorte qu'elle ne puisse pas être écrite par d'autres services ou que vous puissiez utiliser chattr.

Méthode n ° 3

Créez un script comme mentionné ci-dessous /etc/Networkmanager/dispatcher.d/et n'oubliez pas de le rendre exécutable:

#!/bin/bash
#
# Override /etc/resolv.conf and tell
# NetworkManagerDispatcher to go pluck itself.
#
# scripts in the /etc/NetworkManager/dispatcher.d/ directory
# are called alphabetically and are passed two parameters:
# $1 is the interface name, and $2 is "up" or "down" as the
# case may be.

# Here, no matter what interface or state, override the
# created resolver config with my config.

cp -f /etc/resolv.conf.myDNSoverride /etc/resolv.conf

entrée de /etc/resolv.conf.myDNSoverride

nameserver 8.8.8.8
Rahul Patil
la source
Non :) Il doit être écrasé plus tard, après avoir reçu des informations du FAI. Mais cela m'a donné quelques idées, je vais parcourir le network-scripts, peut-être que c'est là quelque part ...
wvxvw
Si la méthode n ° 3 ne fonctionne pas, vous obtiendrez peut-être plus de succès dans l'édition, /etc/ppp/ip-up.localqui est apparemment appelée une fois que pppd a établi la connexion.
Drav Sloan du
@DravSloan J'apprécie vos ans, cela fonctionne, mais j'ai trouvé un hack sur google que j'ai posté ici .. voyons.
Rahul Patil
Le # 1 a fonctionné pour moi, merci beaucoup!
wvxvw
Sur Debian Jessie au moins, le fichier nm-system-settings.conf n'existe pas, bien qu'il y ait une page de manuel pour cela. L'état de page de manuel indiquant que nm-system-settings est déconseillé avec NetworkManager / NetworkManager.conf comme nouveau paramètre par défaut.
jeremiah
7

Jettes un coup d'oeil à:

$ man NetworkManager.conf

Il semble que si vous ajoutez une ligne avec dns=nonedans la [main]section, NetworkManager ne touche pas /etc/resolv.conf.

rickhg12hs
la source
1
Non, n'a pas aidé. Il l'a quand même réécrit. Autant que j'ai pu déduire de ce fichier, les plugins de cette section sont destinés à la mise en cache des enregistrements DNS récupérés. Mais je peux me tromper.
wvxvw
2
Avez-vous redémarré le NetworkManager après avoir modifié le fichier?
rickhg12hs du
J'ai désactivé et activé la mise en réseau via le widget KDE. Je pense que cela devrait le redémarrer. Malheureusement, le redémarrage via service NetworkManager restartne fonctionne pas - je ne sais pas pourquoi: | il ne parvient pas à se connecter après avoir essayé de le redémarrer comme ceci.
wvxvw
Très étrange, cela restartne fonctionnerait pas. Je n'ai connu cela dans aucun des systèmes que j'ai utilisés.
rickhg12hs
3
Ok, donc la mise dns=noneen /etc/NetworkManagersur Fedora 24 ... (il y a aussi l'ancien PEERDNS=nonedans /etc/sysconfig/network-scripts/ifcfg-${IFNAME}(comme décrit ici par exemple ... il est encore utilisé) ... redémarrer toute la case à cocher Guia..
David Tonhofer
3

PPPD senario

Utiliser pponet ppoffsignifie probablement que vous utilisez pppd. Dans ce cas pon, exécutera le script /etc/ppp/ppp_on_boot. Sauf si vous fournissez un argument à pon, il chargera les paramètres de /etc/ppp/peers/provider. Si vous fournissez un argument, il dira par exemple pon interwebzqu'il cherchera /etc/ppp/peers/interwebz. Il y a aussi /etc/ppp/optionsà vérifier aussi.

J'imagine que ce fichier contient le paramètre usepeerdns. Depuis la page de manuel de pppd:

usepeerdns
   Ask the peer for up to 2 DNS server addresses. The addresses supplied by the peer 
   (if any) are passed to the /etc/ppp/ip-up script in the environment variables 
   DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. In 
   addition, pppd will create an /etc/ppp/resolv.conf file containing one or two
   nameserver lines with the address(es) supplied by the peer. 

Commentez cette option, arrêtez pppdavec poff, modifiez votre resolv.conf, puis redémarrez votre pppdavec ponet voyez si cela résout le problème.

eth0 senario

Si vous modifiez votre fichier de paramètres d'interface ( /etc/sysconfig/network-scripts/ifcfg-eth0pour eth0), vous pouvez voir quels paramètres le gestionnaire de réseau utilise.

Si DHCP est exécuté sur cette interface, BOOTPROTO=yesvous pouvez lui dire de ne pas remplacer vos paramètres DNS par PEERDNS=no. Si vous utilisez une adresse statique, vous pouvez définir vos paramètres DNS avec

DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"
Drav Sloan
la source
Merci, proche, mais pas encore. L'interface utilisée est pppet il n'y a pas de ifcfg-pppfichier correspondant : |
wvxvw
Comment votre connexion point à point est-elle créée? Comment était-il configuré?
Drav Sloan
La chose intéressante à ce sujet est que je ne sais pas comment il a été créé. :) Tout ce que je sais, c'est que cela fonctionne poncomme poffpar magie et que le NetworkManager est en quelque sorte capable de l'utiliser. Ma première supposition était que cela devait être le cas pppoeconf, mais il n'est même pas installé ici ...
wvxvw
Mis à jour pour voir si vous pouvez le changer avec les paramètres de pppd.
Drav Sloan
Merci beaucoup pour votre temps, même si finalement j'ai utilisé la réponse de Rahul Patil, c'était très instructif!
wvxvw
2

Vous pouvez le faire dans l'interface graphique de configuration de Network Manager, bien que je sache que cela doit être fait par connexion et ne peut pas être fait globalement, ce qui signifie que vous devez le configurer individuellement pour chaque connexion wifi. (C'est assez ennuyeux, mais cela a aussi un avantage, car de nombreux réseaux wifi bloquent DNS à tout sauf au serveur interne, pour le meilleur ou pour le pire, donc une configuration individuelle est probablement nécessaire pour que les choses fonctionnent.)

Dans tous les cas, dans Fedora 19, allez dans la boîte "Paramètres réseau" que vous obtenez dans la liste déroulante de Network Manager, ou exécutez le panneau de configuration des connexions réseau. (Pourquoi ces deux sont-ils différents? Les changements sont introduits progressivement, je suppose.) Dans tous les cas, vous pouvez ensuite modifier chaque connexion, et dans l'une ou l'autre interface, trouver l'onglet IPv4.

Dans le configurateur de paramètres réseau, changez Automatique de On à Off et saisissez les adresses Google. Ou, dans l'interface graphique des connexions réseau, modifiez la méthode de "Automatique (DHCP)" à "Adresses automatiques (DHCP) uniquement", puis entrez à nouveau le DNS dans la zone.

mattdm
la source
1

J'ai ajouté dns=noneà la section principale de /etc/Networkmanager/NetworkManager.conf, puis redémarré, ce qui a réussi à empêcher NetworkManager d'écraser l'instruction de recherche dans /etc/resolv.conf.

Jos
la source