Автоматическая установка сервера Ubuntu 20.04: как я могу получить имя хоста с DHCP-сервера?

В более старых версиях Ubuntu (с использованием классического установщика) я мог заполнить имя хоста с моего DHCP-сервера. Затем я передал его, используя параметр netcfg / get_hostname = параметров ядра.

По состоянию на 20.04 классическая программа установки больше не существует. Как я могу изменить имя хоста, используя мой DHCP-сервер вместо фиксированного имени хоста в файле пользовательских данных?

Я пробовал использовать поздние команды, чтобы использовать сценарий оболочки для изменения имени хоста с помощью sed,однако это не сработало.

1
задан 12 August 2020 в 15:05
2 ответа

Вы можете сделать это, используя сценарий для перехвата DHCP.

  1. Создайте новый файл:
sudoedit /etc/dhcp/dhclient-exit-hooks.d/hostname
  1. Вставьте следующий код в файл, сохраните и закройте:
#!/bin/sh
# Filename:     /etc/dhcp/dhclient-exit-hooks.d/hostname
# Purpose:      Used by dhclient-script to set the hostname of the system
#               to match the DNS information for the host as provided by
#               DHCP.
#


# Do not update hostname for virtual machine IP assignments
if [ "$interface" != "eth0" ] && [ "$interface" != "wlan0" ]
then
    return
fi


if [ "$reason" != BOUND ] && [ "$reason" != RENEW ] \
   && [ "$reason" != REBIND ] && [ "$reason" != REBOOT ]
then
        return
fi

echo dhclient-exit-hooks.d/hostname: Dynamic IP address = $new_ip_address
hostname=$(host $new_ip_address | cut -d ' ' -f 5 | sed -r 's/((.*)[^\.])\.?/\1/g' )
echo $hostname > /etc/hostname
hostname $hostname
echo dhclient-exit-hooks.d/hostname: Dynamic Hostname = $hostname
  1. Сделать файл доступен для чтения ...
chmod a+r /etc/dhcp/dhclient-exit-hooks.d/hostname
  1. Освободить существующую аренду DHCP ...
sudo dhclient -r
  1. И получить новую.
sudo dhclient
2
ответ дан 4 January 2021 в 08:35

Используя часть ответа от здесь , если вы установите имя хоста на localhost в разделе идентификаторов автоматической установки YAML, следующая загрузка машина настроится на имя хоста, выданное DHCP.

Для установки имени хоста из DHCP во время установки вам, вероятно, потребуется использовать ответ Кристофера Х в разделе ранних команд.

0
ответ дан 4 January 2021 в 08:35

Теги

Похожие вопросы