Comment forcer NetworkManager à mettre à jour /etc/resolv.conf?


14

Si j'ajoute un nouveau serveur DNS à l'aide de nmcli connection modify eth0 +ipv4.dns 8.8.8.8, je dois quand même mettre à jour /etc/resolv.confpour que le résolveur prenne en compte les modifications, non? Alors, comment puis-je forcer la mise à jour?

La seule manière que je trouvais redémarrait le service réseau: /etc/init.d/network restart. Y a-t-il un moyen moins invasif - une nmclicommande, peut-être?


Avec quoi voulez-vous que le NetworkManager le mette à jour?
Konrad Gajewski

Ajout de quelques clarifications à la question.
Mihai

Étant donné que mon nmcli n'a pas cette commande de modification, je ne peux que deviner :) Essayez: resolvconf -u
Konrad Gajewski

Réponses:


6

basé sur http://www.certdepot.net/rhel7-configure-ipv4-addresses/

nmcli connection up eth0 

courir après les appels de mod, a fonctionné pour moi.

PS, vous pouvez utiliser "nmcli -p connection show eth0" pour voir les paramètres configurés vs actifs


Gardez vos doigts! connectionpeut être abrégé, jusqu'à c.
Michael Hampton

Fait intéressant, l'article d'aide de RH suggère nmcli c reloadce qui n'a pas fonctionné pour modifier les entrées DNS.
Rots

1
  • Afficher le périphérique disponible à configurer: nmcli c s

    Vous aurez besoin du NOM ou de l'UUID de cette liste. Supposons que le nom de la connexion soit eth0.

  • Afficher les paramètres DNS IPv4 actuels de eth0: nmcli c s eth0 | grep ipv4.dns:

  • Définissez les paramètres DNS IPv4 sur les entrées DNS Google 8.8.8.8 et 8.8.4.4: sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4"
  • Enregistrez les modifications apportées aux fichiers système (comme /etc/resolv.conf, etc.) avec: sudo nmcli c up eth0

Prime:

  • Faites tout cela à un serveur distant via ssh: ssh remote-server 'sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4" && sudo nmcli c up eth0'

0

Ajoutez ce qui suit au fichier de configuration d'interface ( /etc/sysconfig/network-scripts/ifcfg-ethX):

PEERDNS=yes
DNS1=1.2.3.4
DNS2=1.2.3.4
NM_CONTROLLED=yes

mettre l'interface en place:

ifup ethX

0

Pour ce faire, vous devrez identifier votre interface réseau (ie eth0)

# nmcli  conn
NAME  UUID                                  TYPE            DEVICE
eth0  74315f7c-1573-4150-9c0e-e06ad28cac95  802-3-ethernet  eth0
#

# nmcli conn edit eth0

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'eth0'

Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> print ipv4.dns-search
ipv4.dns-search: mydomain.linux.com
nmcli>
nmcli> set ipv4.dns-search mylinuxdomain.com,anotherdomain.com
nmcli>
nmcli> save permanent

Redémarrez ensuite votre réseau. J'utilise nmcli pour ce faire: 1. Pour faire tomber

# nmcli conn down eth0

2. Pour évoquer

# nmcli conn up eth0

Vous n'avez pas besoin de couper la connexion. Faites juste un nmcli conn up eth0pour sauver /etc/resolv.conf.
MadMike
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.