Как запретить процессу развертывания доступ к DNS-серверу?

Я заметил, что при развертывании виртуальной машины при использовании preseed имя хоста, указанное в preseed, игнорируется и вместо него используется имя с DNS-сервера.

Подробное описание

Компьютер с Ubuntu Server развертывается с использованием:

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

Файл preseed содержит, среди прочего, следующие строки (обратите внимание на custom-name значение во второй строке):

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

С другой стороны, DNS-сервер содержит запись A:

demo    IN A       192.168.1.35

а также запись PTR:

35      IN  PTR     demo.example.com.

Как только машина создана, кажется, что /etc/hostname содержит:

demo

и это /etc/hosts содержит:

127.0.0.1       localhost
192.168.1.35    demo.example.com     demo

Вопрос

Меня не особенно радует тот факт, что процесс развертывания обращается к DNS-серверу для получения информации. Мало того, что это занимает время, но в некоторых случаях DNS-сервер может быть недоступен (например, в случае развертывания самого DNS-сервера).

Что я должен указать в предварительном документе, чтобы запретить установщику доступ к DNS для получения информации, которая уже доступна в предварительном документе?

1 ответ

RTFM помог. Из предыдущего примера 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

Который означает, что netcfg/get_hostname не имеет значения: его единственная цель - не дать установщику задать вопрос в первую очередь.

Действительно, когда я устанавливаю значение netcfg/hostname, и то и другое /etc/hostname а также /etc/hosts содержат значения, указанные в preseed, игнорируя запись DNS PTR.

Другие вопросы по тегам