Como evitar que o processo de implantação acesse o servidor DNS?

2

Percebi que, ao implantar uma máquina virtual durante o uso de uma pré-configuração, o nome do host especificado na pré-configuração é ignorado e o nome do servidor DNS é usado.

Descrição detalhada

A máquina Ubuntu Server é implantada usando:

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

O arquivo preseed contém, entre outras, as seguintes linhas (observe o valor custom-name na segunda linha):

...
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
...

Por outro lado, o servidor DNS contém o registro A:

demo    IN A       192.168.1.35

bem como o registro PTR:

35      IN  PTR     demo.example.com.

Quando a máquina é criada, parece que /etc/hostname contém:

demo

e que /etc/hosts contém:

127.0.0.1       localhost
192.168.1.35    demo.example.com     demo

Pergunta

Não estou particularmente feliz com o fato de o processo de implantação acessar o servidor DNS para obter as informações. Não só leva tempo, mas em algumas circunstâncias, o servidor DNS pode estar inativo (como no caso em que é o próprio servidor DNS que está sendo implantado).

O que devo especificar no preseed para evitar que o instalador acesse o DNS para recuperar informações que já estão disponíveis na pré-configuração?

    
por Arseni Mourzenko 14.05.2015 / 01:22

1 resposta

2

RTFM ajudou. De o exemplo preseed do 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

O que significa que netcfg/get_hostname é irrelevante: seu único objetivo é impedir que o instalador faça a pergunta em primeiro lugar.

De fato, quando eu definir o valor de netcfg/hostname , tanto /etc/hostname como /etc/hosts contêm os valores especificados na pré-configuração, ignorando o registro PTR do DNS.

    
por Arseni Mourzenko 14.05.2015 / 12:28