Установите Debian с PXE и preseed и динамическим IP-адресом, но в конце концов настройте его со статическим IP-адресом
Я настроил инфраструктуру для автоматической установки машин на основе Debian. Он использует PXE-загрузку с DHCP и TFTP-серверов и предназначен для автоматизации установки ОС.
Что я хочу это:
- использовать DHCP для загрузки PXE
- использовать DHCP для программы установки Debian: ему нужен IP-адрес для доступа к файлу preseed, и я не хочу вводить его вручную
- используйте статический IP-адрес в последней установленной ОС. Этот IP-адрес будет указан в предварительном файле.
Но я не могу найти, как это сделать, даже знаю, возможно ли это.
Мой текущий 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: это Debian Wheezy
1 ответ
Используйте в 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