web-dev-qa-db-ja.com

展開プロセスがDNSサーバーにアクセスしないようにするにはどうすればよいですか?

プレシードを使用して仮想マシンをデプロイすると、プレシードで指定されたホスト名が無視され、代わりにDNSサーバーのホスト名が使用されることに気付きました。

詳細な説明

Ubuntu Serverマシンは以下を使用してデプロイされます。

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

Preseedファイルには、特に次の行が含まれます(custom-name 2行目の値):

...
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にアクセスして、Preseedですでに利用可能な情報を取得できないようにするには、Preseedで何を指定する必要がありますか?

2

RTFMが役立ちました。 Debianのpreseedの例 から:

# 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の値を設定すると、DNS PTRレコードを無視して、/etc/hostname/etc/hostsの両方にプレシードで指定された値が含まれます。

2