使用 PXE 和预置动态 IP 地址安装 Debian,但最终使用静态 IP 地址进行配置

使用 PXE 和预置动态 IP 地址安装 Debian,但最终使用静态 IP 地址进行配置

我已经为基于 Debian 的机器设置了自动安装基础架构。它使用 DHCP 和 TFTP 服务器的 PXE 启动,并预先设置以自动完成操作系统安装。

我想要的是:

  • 使用 DHCP 进行 PXE 启动
  • 使用 DHCP 进行 Debian 安装程序:它需要一个 IP 地址来访问预置文件,但我不想手动输入
  • 在最终安装的操作系统上使用静态 IP 地址。此 IP 地址将在预置文件中指定。

但我不知道如何做到这一点,甚至不知道是否可行。

我当前的预置文件如下所示(仅网络参数):

# 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结果相同)。

有人知道怎么做吗?

谢谢。

附言:这是 Debian Wheezy

答案1

安装后,在您自己的命令执行的预置选项中使用:

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

相关内容