Сетевая установка

Редактировал(а) Иван Кузнецов 2022/05/11 18:22

Установка по сети требует наличия сетевого подключения, сетевого загрузочного сервера TFTP, а также серверов DHCP, BOOTP для автоматической настройки по сети.

Сетевая карта или материнская плата вычислительной машины, на которую производится установка должна поддерживать технологию PXE.

TFTP (Trivial File Transfer Protocol) используется для загрузки загрузочного образа на клиентскую машину.

DHCP (Dynamic Host Configuration Protocol) — сервис динамического выделения адресов. Сервис обратно совместим с BOOTP. Некоторые системы могут быть настроены только через DHCP.

BOOTP — это IP протокол, который информирует компьютер о его IP-адресе и где в сети получить загрузочный образ.

Настройка DHCP сервера

Сервер dhcp доступен из пакета isc-dhcp-server. Пример его конфигурационного файла (/etc/dhcp/dhcpd.conf). Конфигурационный файл представленный ниже предназначен для загрузки на вычислительной машине, работающей как в режиме совместимости, так и в режиме EFI:

option domain-name "example.com";

option domain-name-servers ns1.example.com;

option subnet-mask 255.255.255.0;

option architecture-type code 93 = unsigned integer 16;

default-lease-time 600;

max-lease-time 7200;

server-name "servername";

subnet 192.168.1.0 netmask 255.255.255.0 {

  range 192.168.1.200 192.168.1.253;

  option routers 192.168.1.100;

}

host clientname {

  if option architecture-type = 00:07 {

    filename "net/grub/bootnetx64.efi";

    } else {

      filename "net/pxelinux.0";

      }

    next-server 192.168.1.100;

    hardware ethernet 01:23:45:67:89:AB;

    fixed-address 192.168.1.90;

}

В этом примере определён единственный сервер 192.168.1.100, который работает в качестве DHCP, TFTP серверов и шлюза сети. Нужно изменить опцию domain-name, а также имя сервера и аппаратный адрес клиента в соответствии с настройками сети. Опция filename должна содержать имя файла, который нужно получить по TFTP.

После редактирования конфигурационного файла для dhcpd необходимо перезагрузить сервер командой /etc/init.d/isc-dhcp-server restart.

Включение загрузки PXE в конфигурацию DHCP

Ниже представлен пример dhcp.conf, который можно использовать, если включён метод предстартового выполнения среды (PXE) по протоколу TFTP.

option domain-name "example.com";

default-lease-time 600;

max-lease-time 7200;

allow booting;

allow bootp;

# нужно изменить согласно вашим настройкам

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.200 192.168.1.253;

option broadcast-address 192.168.1.255;

# адрес шлюза, который может быть другим

# (для доступа в интернет, например)

option routers 192.168.1.1;

# используемый dns

option domain-name-servers 192.168.1.3;

}

group {

 next-server 192.168.1.3;

 host tftpclient {

  # аппаратный адрес клиента tftp

  hardware ethernet 00:10:DC:27:6C:15;

  if option architecture-type = 00:07 {

    filename "net/grub/bootnetx64.efi";

    } else {

      filename "net/pxelinux.0";

      }

    }

}

Настройка BOOTP сервера

В качестве BOOTP сервера используется сервер isc-dhcp-server.

В BOOTP сервере в ISC dhcpd клиенты BOOTP считаются одним из вариантов клиентов DHCP. Необходимо добавить директиву allow bootp в /etc/dhcp/dhcpd.conf в блоке настройки подсети, содержащей клиента, и перезапустить dhcpd командой /etc/init.d/isc-dhcp-server restart.

Настройка TFTP сервера

Сервер tftp предоставляется программным пакетом tftpd-hpa.

Для хранения образов загрузки служба tftpd-hpa по умолчанию использует каталог /srv/tftp.

Копирование TFTP образов в каталог TFTP сервера для вычислительной машины с BIOS, работающим в режиме совместимости.

Разместить файлы pxelinux.0, initrd.gz, linux в каталоге для хранения загрузочных образов tftpd (/srv/tftp). Указанные файлы располагаются в каталоге netinst установочного диска.

Скопировать файл ldlinux.c32 из каталога isolinux установочного диска в каталог загрузочных образов tftpd.

Создать каталог pxelinux.cfg каталоге загрузочных образов tftpd. В созданном каталоге pxelinux.cfg создать файл default со следующим содержимым:

DEFAULT onyx

LABEL onyx

kernel linux

append initrd=initrd.gz mprotect=off vga=788 interface=auto \

debian-installer/allow_unauthenticated=true \

mirror/country=manual \

debian-installer/locale=ru_RU.UTF-8 \

debian-installer/language=ru \

debian-installer/country=RU \

debian-installer/keymap=ru

TIMEOUT 5

По умолчанию программа установки для получения пакетов с сервера использует протокол http, если требуется использовать протокол ftp, в указанный файл default требуется добавить параметр mirror/protocol=ftp в строку append.

Копирование TFTP образов в каталог TFTP сервера для вычислительной машины с BIOS, работающим в режиме EFI.

Создать в корне каталога tftp-сервера папку net/grub. Скопировать с дистрибутивного диска в созданную папку net/grub файлы boot/grub/bootnetx86.efi, boot/grub/font.pf2 и каталог boot/grub/x86_64-efi.

Скопировать с дистрибутивного диска в созданную папку net файлы netinst/linux и netinst/initrd.gz.

Создать в каталоге net/grub файл grub.cfg следующего содержания:

if loadfont $prefix/font.pf2 ; then

set gfxmode=800x600

insmod efi_gop

insmod efi_uga

insmod video_bochs

insmod video_cirrus

insmod gfxterm

insmod png

terminal_output gfxterm

fi

if background_image /isolinux/splash.png; then

set color_normal=light-gray/black

set color_highlight=white/black

else

set menu_color_normal=cyan/blue

set menu_color_highlight=white/blue

fi

insmod play

play 960 440 1 0 4 440 1

menuentry "Текстовый режим установки" {

set gfxpayload=keep

linux /net/linux mprotect=off --- quiet vga=788 interface=auto \

mirror/country=manual \

debian-installer/allow_unauthenticated=true \

debian-installer/locale=ru_RU.UTF-8 \

debian-installer/language=ru \

debian-installer/country=RU \

debian-installer/keymap=ru

initrd /net/initrd.gz

}

По умолчанию программа установки для получения пакетов с сервера использует протокол http, если требуется использовать протокол ftp, в указанный файл grub.cfg в строку параметров ядра linux требуется добавить параметр mirror/protocol=ftp.

Размещения пакетов ОС

Для размещения пакетов может использоваться любой удобный http/ftp сервер из состава ОС. Требуется установить и настроить соответствующие службы на сервере и разместить на сервере содержимое установочного диска. При установке, сетевой адрес и каталог, где размещено содержимое установочного диска нужно указать на соответствующем этапе установки ОС.

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