Могу ли я запретить Debian дважды поражать DHCP-сервер во время установки?

У меня есть DHCP-сервер, используемый для автоматической установки Debian: загрузка с PXE, а затем установка операционной системы с предустановкой.

DHCP-сервер (Debian ' s пакет isc-dhcp-server ) настроен на выполнение операции (выполнение HTTP POST) при передаче новой аренды:

subnet 192.168.0.0 netmask 255.255.252.0 {
    [...]
    filename "pxelinux.0";

    on commit {
        set client_ip = binary-to-ascii(10, 8, ".", leased-address);
        execute("curl", "-X", "POST", [...])
    }
}

[...]

host vmhost2 {
    hardware ethernet 00:19:66:60:c3:61;
    fixed-address 192.168.1.13;
}

Я заметил, что во время автоматической установки HTTP POST выполняется дважды : в первый раз через несколько секунд после запуска машины (это ожидается) и примерно через тридцать секунд, когда программа установки Debian настраивает сеть.

Я не ожидал второго запроса. Фактически, это соответствующая конфигурация preseed:

d-i netcfg/get_hostname string vmhost2
d-i netcfg/get_domain string pelicandd.com

d-i netcfg/choose_interface select auto
d-i netcfg/disable_autoconfig boolean true
d-i netcfg/disable_dhcp boolean true
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually

d-i netcfg/get_ipaddress string 192.168.1.13
d-i netcfg/get_netmask string 255.255.252.0
d-i netcfg/get_gateway string 192.168.1.1
d-i netcfg/get_nameservers string 192.168.1.3 192.168.1.4 8.8.8.8 8.8.4.4
d-i netcfg/confirm_static boolean true

Я думал, что параметр netcfg / disable_dhcp указывает, что установщику не нужно связываться с DHCP-сервером, но все же это так.

Вопросы :

  • Почему установщик обращается к DHCP-серверу во второй раз, несмотря на параметры preseed?

  • Есть ли способ остановить это, используя параметр preseed, или путем изменения конфигурации DHCP-сервера ISC, чтобы игнорировать вторую аренду?

3
задан 24 July 2016 в 03:20
1 ответ

Первая последовательность DHCP DORA (обнаружение, предложение, запрос, принятие) запускается микропрограммой PXE клиента, пытающейся найти IP / MASK и данные PXE (расположение NBP + TFTP).

Прошивка PXE, затем TFTP получает и запускает соответствующее ядро ​​+ initrd. Когда это ядро ​​запускается, ему требуется IP / MASK, тогда оно запускает вторую последовательность DHCP DORA (это обычный запрос DHCP "не PXE")

Чтобы избежать второго попадания DHCP, вы должны вручную установить статическую конфигурацию сети в командной строке «ядра» ; вы не можете установить эту информацию для сжатого файла, который должен быть извлечен по сети, потому что ядро ​​будет вынуждено использовать DHCP, чтобы его сетевые службы правильно работали, чтобы получить файл с предварительной загрузкой ... вы видите проблему с яйцом-куриным?

Вы можете передать соответствующие статические сетевые переменные preseed, «добавленные» в командную строку ядра, или использовать команду Pxelinux ipappend .

ПРИМЕЧАНИЕ: Пожалуйста, учтите, что синтаксис переменных preseed немного отличается, когда используется в файле preseed или в командной строке ядра, например:

d-i netcfg/get_ipaddress string 192.168.1.13     <<< preseed file
netcfg/get_ipaddress=192.168.1.13                <<< kernel command line

Окончательное добавление должно выглядеть так. Удалите разрывы строк, которые здесь добавлены только для улучшения читаемости и предотвращения горизонтальной прокрутки.

append
    [...]
    netcfg/get_ipaddress=192.168.1.13
    netcfg/get_netmask=255.255.252.0
    netcfg/get_gateway=192.168.1.1
    netcfg/get_nameservers=192.168.1.3
    netcfg/disable_autoconfig=true
3
ответ дан 3 December 2019 в 06:29

Теги

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