J'ai CentOS 7.2 (invité dans VirtualBox, vagrant box centos/7
, pas d'interface graphique).
Je vois qu'il y a un serveur de noms dans le fichier:
$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.0.2.3
Mais comment ajouter ou remplacer par un nouveau?
Je l'ai fait manuellement directement dans le réseau:
$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
PEERDNS=no
DNS1=91.217.197.2
DNS2=8.8.8.8
Et il fonctionne.
Mais existe-t-il un moyen de le faire via nmcli
?
P.S. Aucun nmtui
installé (dans un système sélectionné).
Voici la commande pour modifier une connexion existante.
nmcli con mod <connectionName> ipv4.dns "8.8.8.8 8.8.4.4"
connectionName
peut être trouvé par la commande: nmcli con
. Dans le cas de la question, ce sera "System eth0"
Si vous souhaitez ignorer les serveurs de noms et les domaines de recherche configurés automatiquement, c'est-à-dire les paramètres transmis par DHCP.
nmcli con mod <connectionName> ipv4.ignore-auto-dns yes
Enfin, pour activer les modifications, mettez la connexion vers le bas puis vers le haut:
nmcli con down <connectionName>
nmcli con up <connectionName>
Vérifiez avec cat /etc/resolv.conf
. Vous ne devez pas modifier /etc/resolv.conf
manuellement car il est généré par le service NetworkManager, il est probable qu'il soit remplacé à tout moment.
il y a un bon outil TUI développé par Red Hat nommé nmtui
que vous devriez vraiment essayer. il est pré-installé sur diverses distributions, de nos jours, mais si ce n'est pas le vôtre, essayez:
Sudo yum install networkmanager-tui
il utilise une interface texte basée sur des curses - accessible depuis la ligne de commande. nmcli
n'est particulièrement nécessaire que lors de l'écriture de scripts, et a une plus grande marge d'erreur en raison de la plus grande variété d'entrées possibles.
En plus de définir la propriété ipv4.dns décrite ci-dessus ...
Pour exclure les serveurs DNS fournis par DHCP ... définissez la propriété ipv4.ignore-auto-dns sur yes.
nmcli con mod <connectionName> ipv4.ignore-auto-dns yes
Pour activer les modifications, désactivez puis réactivez la connexion:
nmcli con down <connectionName>
nmcli con up <connectionName>
Vérifiez avec cat /etc/resolv.conf