web-dev-qa-db-fra.com

Comment empêcher le processus de déploiement d'accéder au serveur DNS?

J'ai remarqué que lors du déploiement d'une machine virtuelle tout en utilisant une préconfiguration, le nom d'hôte spécifié dans la préconfiguration est ignoré et celui du serveur DNS est utilisé à la place.

Description détaillée

La machine Ubuntu Server est déployée à l'aide de:

virt-install \
    --name custom-name \
    --initrd-inject /some-path/preseed.cfg \
    --extra-args "preseed/file=preseed.cfg" \
    ...

Le fichier prédéfini contient, entre autres, les lignes suivantes (notez le custom-name valeur sur la deuxième ligne):

...
d-i netcfg/disable_dhcp boolean true
...
d-i netcfg/get_hostname string custom-name
d-i netcfg/get_domain string pelicandd.com
d-i netcfg/get_ipaddress string 192.168.1.35
...

D'un autre côté, le serveur DNS contient à la fois l'enregistrement A:

demo    IN A       192.168.1.35

ainsi que l'enregistrement PTR:

35      IN  PTR     demo.example.com.

Une fois la machine créée, il apparaît que /etc/hostname contient:

demo

et cela /etc/hosts contient:

127.0.0.1       localhost
192.168.1.35    demo.example.com     demo

Question

Je ne suis pas particulièrement satisfait du fait que le processus de déploiement accède au serveur DNS pour obtenir les informations. Non seulement cela prend du temps, mais dans certaines circonstances, le serveur DNS peut être arrêté (comme dans le cas où c'est le serveur DNS lui-même qui est déployé).

Que dois-je spécifier dans la préconfiguration pour empêcher l'installateur d'accéder au DNS pour récupérer des informations qui sont déjà disponibles dans la préconfiguration?

2
Arseni Mourzenko

RTFM a aidé. De exemple prédéfini de Debian :

# Any hostname and domain names assigned from dhcp take precedence over
# values set here. However, setting the values still prevents the questions
# from being shown, even if values come from dhcp.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain

# If you want to force a hostname, regardless of what either the DHCP
# server returns or what the reverse DNS entry for the IP is, uncomment
# and adjust the following line.
#d-i netcfg/hostname string somehost

Ce qui signifie que netcfg/get_hostname n'est pas pertinent: son seul but est d'empêcher l'installateur de poser la question en premier lieu.

En effet, lorsque je fixe la valeur de netcfg/hostname, tous les deux /etc/hostname et /etc/hosts contient les valeurs spécifiées dans la préconfiguration, en ignorant l'enregistrement DNS PTR.

2
Arseni Mourzenko