web-dev-qa-db-fra.com

Modification / définition des paramètres DNS au démarrage

J'ai une situation où je ne donne pas accès à une machine, mais il peut y avoir des circonstances où les paramètres IP doivent être modifiés. J'ai surmonté cela en fournissant une clé USB avec un fichier contenant à la fois des informations statiques et DHCP (renommées selon le cas) et un script qui, au redémarrage, recherche un fichier sur la clé USB et écrase/etc/network/interfaces

Jusqu'ici, tout va bien.

Mais, le fichier /etc/resolv.conf contient les informations DNS (pour autant que je sache) et je ne suis pas sûr de la structure de ce fichier.

Quel serait le meilleur moyen pour moi de structurer un fichier /etc/resolv.conf qui pourrait être écrasé par le fichier/etc/network/interfaces ci-dessus mais par les paramètres DNS?

Par exemple, j'utilise une adresse IP statique et mon /etc/resolv.conf ressemble à ceci:

    nameserver 192.168.1.254 

J'ai vu un fichier de démonstration dans lequel il semble être inclus dans le fichier/etc/network/interfaces comme suit (il ne s'agit que d'une recherche. Ce n'est pas mon fichier):

    iface eth0 inet static
        address 192.168.3.3
        netmask 255.255.255.0
        gateway 192.168.3.1
        dns-search example.com
        dns-nameservers 192.168.3.45 192.168.8.10

Puis-je mettre toutes les informations dans un seul fichier? Si tel est le cas, que se passe-t-il ensuite dans le fichier /etc/resolv.conf?

Pour être honnête, je préférerais que tout se trouve dans un seul fichier, ce qui simplifiera la vie des utilisateurs finals en modifiant un seul fichier.

Si cela peut être fait dans un fichier, quel serait un exemple pour DHCP (en ce qui concerne les paramètres DHCP)

Merci d'avance pour toute aide et suggestions!

3
omega1

Vous ne devriez pas éditer /etc/resolv.conf dans Ubuntu.

Ubuntu utilise le programme resolvconf qui génère /etc/resolv.conf lorsque les informations DNS sont modifiées par les clients DHCP, NetworkManager ou ifup.

Le mieux est d'ajouter

dns-nameservers 192.168.3.45 192.168.8.10

à la strophe appropriée dans votre /etc/network/interfaces. Après avoir effectué ce changement, vous devez normalement ifdown et ifup l'interface pour que les informations soient poussées vers resolvconf et donc vers /etc/resolv.conf, mais il est possible de pousser les informations. sans interruption, comme décrit dans la réponse suivante, qui fournit également des informations générales pouvant vous aider.

Comment faire pour que resolvconf régénère resolv.conf après avoir changé/etc/network/interfaces?

3
Symin