web-dev-qa-db-ja.com

PXEとpreseedおよび動的IPアドレスを使用してDebianをインストールしますが、最終的に静的IPアドレスを使用して構成します

Debianベースのマシンを自動インストールするためのインフラストラクチャをセットアップしました。 DHCPおよびTFTPサーバーでのPXEブートを使用し、OSのインストールを自動化するためにpreseedを使用します。

私が欲しいのは:

  • pXEブートにDHCPを使用する
  • debianインストーラーにDHCPを使用する:preseedファイルにアクセスするにはIPアドレスが必要であり、手動で入力したくない
  • 最終的にインストールされたOSで静的IPアドレスを使用します。このIPアドレスはpreseedファイルで指定されます。

しかし、それが可能かどうかさえ、私はそれを行う方法を見つけることができません。

私の現在のpreseedファイルは次のようになります(ネットワークパラメータのみ):

# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
d-i netcfg/choose_interface select auto

# If you prefer to configure the network manually, uncomment this line and
# the static network configuration below.
d-i netcfg/disable_autoconfig boolean true

# If you want the preconfiguration file to work on systems both with and
# without a dhcp server, uncomment these lines and the static network
# configuration below.
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually

# Static network configuration.
#
# IPv4 example
d-i netcfg/get_ipaddress string 192.168.1.10
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_gateway string 192.168.1.254
d-i netcfg/get_nameservers string 192.168.1.1
d-i netcfg/confirm_static boolean true

(同じ結果でd-i netcfg/disable_autoconfig boolean true行にコメントすることもテストしました)。

誰かがそれを行う方法を知っていますか?

ありがとう。

ps:それはDebianWheezyです

3
daks

インストール後の独自のコマンド実行のpreseedオプションで使用します。

d-i preseed/late_command string wget http://your-web_or_ftp/unattend/dopostinstall.sh -O /tmp/dopostinstall.sh;  chmod +x /tmp/dopostinstall.sh; /tmp/dopostinstall.sh

Dopostinstall.shは次のようなものです。

#!/bin/ash

echo -e "auto lo eth0 \niface lo inet loopback\n\niface eth0 inet static\n\t address 192.168.1.10\n\t netmask 255.255.255.0\n\t gateway 192.168.1.254\n\t dns-nameservers 192.168.1.1" > /target/etc/network/interfaces
3
serj