NetInstall start: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 15: Строка 15:


PXE-код, обычно находящийся в ПЗУ сетевой карты, получает из сети по протоколу TFTP (получив адрес TFTP-сервера по BOOTP) исполняемый файл, после чего передаёт ему управление.  
PXE-код, обычно находящийся в ПЗУ сетевой карты, получает из сети по протоколу TFTP (получив адрес TFTP-сервера по BOOTP) исполняемый файл, после чего передаёт ему управление.  
{|class="wikitable" style="float:center; margin-left:2em"
!colspan="2"|Параметры нашей сети (для примера)
|-
!Параметр
!Значение
|-
|Сеть
|10.0.2.0
|-
|Маска
|255.255.255.0
|-
|Шлюз
|10.0.2.1
|-
|Адрес компьютера с PXE-сервером
|10.0.2.4
|-
|Адрес с DHCP-сервером (в примере тот же компьютер)
|10.0.2.4
|}
=== Устанавливаем пакеты ===
# apt-get install dhcp-server
=== Настраиваем DHCP-сервер ===
DHCP-сервер для автоматической настройки сетевых интерфейсов в локальной сети, именно он присваивает каждому устройству в локальной сети IP-адреса (если настроена раздача таких адресов автоматически). Нам же нужно настроить этот сервер таким образом, чтобы компьютер при запуске загрузки по сети автоматически получил адрес TFTP-сервера и загрузил с него образ системы.
Наш сервер DHCP dhcpd. настраиваем его через файл - /etc/dhcp/dhcpd.conf
# mcedit /etc/dhcp/dhcpd.conf
Скопируйте в файл следующие значения, обратив внимание на комментарии.
{{Note|Адреса сети вы должны заменить на свои}}
<syntaxhighlight lang="ini">
option arch code 93 = unsigned integer 16;
if option arch = 00:06 {
    # EFI IA32 => Grub2
    filename "shimx64.efi";
    } else if option arch = 00:07 {
    # EFI BC => Grub2
    filename "shimx64.efi";
    } else if option arch = 00:09 {
    # EFI x86-64 => Grub2
    filename "shimx64.efi";
    } else {
    # Intel x86PC (BIOS) => PXELinux
    filename "pxelinux.0";
}
# Здесь ↓ указываем адрес и маску нашей сети
subnet 10.0.2.0 netmask 255.255.255.0 {
        # Здесь ↓ указываем адрес компьютера, на котором будет располагаться TFTP-сервер. В нашем примере он там же, где DHCP-сервер
        next-server 10.0.2.4;
        # адрес NFS-сервера для установки в Legacy
        option root-path "/var/lib/tftpboot/images/ALT";
        # адрес шлюза сети 
        option routers 10.0.2.1;
        # адрес DNS-сервера сети или внешний адрес для обслуживания DNS-имен
        option domain-name-servers 8.8.8.8;
        # Срок аренды в секундах - стандартное и максимальное
        default-lease-time 3600;
        max-lease-time 3600;
        # Область DHCP
        range 10.0.2.70 10.0.2.80;
}
</syntaxhighlight>
Сохраняем и закрываем файл.
Запускаем DHCP-сервер:
<syntaxhighlight lang="bash"># systemctl enable --now dhcpd</syntaxhighlight>
Мы настроили DHCP-сервер с определенным диапазоном (10.0.2.70-10.0.2.80) и определенной подсетью (10.0.2.0).
Любой компьютер с поддержкой PXE получит загрузчик указанный в настройках DHCP. Для UEFI это будет shimx64.efi, для BIOS — файл pxelinux.0.
{{Note|Параметр next-server следует указывать даже если для размещения служб DHCP и TFTP используется один и тот же сервер}}


{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}

Версия от 13:13, 21 апреля 2024

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
Примечание: Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.
Внимание! Данная страница находится в разработке и не готова для использования!

Установка по сети

Техническая часть

Многие компьютеры и серверы поддерживают установку системы не только с CD/DVD и флешек, но так же по сети.

Данный вариант загрузки обеспечивается с помощью технологии PXE - (Preboot eXecution Environment, произносится пикси) — среды для загрузки компьютера с помощью сетевой карты без использования локальных носителей данных (жёсткого диска, USB-накопителя и пр).

Для организации загрузки системы в PXE используются следующие протоколы:

  • IP - сетевой протокол объединяющий сегменты сети в единую сеть, обеспечивая доставку пакетов данных между любыми узлами сети через произвольное число промежуточных узлов.
  • UDP - сетевой протокол транспортного уровня, с ним компьютерные приложения могут посылать сообщения другим хостам по IP-сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных.
  • BOOTP - сетевой протокол прикладного уровня, используемый для автоматического получения клиентом IP-адреса. Это обычно происходит во время загрузки компьютера.
  • TFTP - (Trivial File Transfer Protocol — простой протокол передачи файлов) - используется, в основном, для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.

PXE-код, обычно находящийся в ПЗУ сетевой карты, получает из сети по протоколу TFTP (получив адрес TFTP-сервера по BOOTP) исполняемый файл, после чего передаёт ему управление.

Параметры нашей сети (для примера)
Параметр Значение
Сеть 10.0.2.0
Маска 255.255.255.0
Шлюз 10.0.2.1
Адрес компьютера с PXE-сервером 10.0.2.4
Адрес с DHCP-сервером (в примере тот же компьютер) 10.0.2.4

Устанавливаем пакеты

# apt-get install dhcp-server

Настраиваем DHCP-сервер

DHCP-сервер для автоматической настройки сетевых интерфейсов в локальной сети, именно он присваивает каждому устройству в локальной сети IP-адреса (если настроена раздача таких адресов автоматически). Нам же нужно настроить этот сервер таким образом, чтобы компьютер при запуске загрузки по сети автоматически получил адрес TFTP-сервера и загрузил с него образ системы.

Наш сервер DHCP dhcpd. настраиваем его через файл - /etc/dhcp/dhcpd.conf

# mcedit /etc/dhcp/dhcpd.conf

Скопируйте в файл следующие значения, обратив внимание на комментарии.

Примечание: Адреса сети вы должны заменить на свои
option arch code 93 = unsigned integer 16;
if option arch = 00:06 {
    # EFI IA32 => Grub2
    filename "shimx64.efi";
    } else if option arch = 00:07 {
    # EFI BC => Grub2
    filename "shimx64.efi";
    } else if option arch = 00:09 {
    # EFI x86-64 => Grub2
    filename "shimx64.efi";
    } else {
    # Intel x86PC (BIOS) => PXELinux
    filename "pxelinux.0";
}

# Здесь ↓ указываем адрес и маску нашей сети
subnet 10.0.2.0 netmask 255.255.255.0 {
        # Здесь ↓ указываем адрес компьютера, на котором будет располагаться TFTP-сервер. В нашем примере он там же, где DHCP-сервер
        next-server 10.0.2.4;
        # адрес NFS-сервера для установки в Legacy
        option root-path "/var/lib/tftpboot/images/ALT";
        # адрес шлюза сети  
        option routers 10.0.2.1;
        # адрес DNS-сервера сети или внешний адрес для обслуживания DNS-имен
        option domain-name-servers 8.8.8.8;
        # Срок аренды в секундах - стандартное и максимальное
        default-lease-time 3600;
        max-lease-time 3600;
        # Область DHCP
        range 10.0.2.70 10.0.2.80;
}

Сохраняем и закрываем файл.

Запускаем DHCP-сервер:

# systemctl enable --now dhcpd

Мы настроили DHCP-сервер с определенным диапазоном (10.0.2.70-10.0.2.80) и определенной подсетью (10.0.2.0).

Любой компьютер с поддержкой PXE получит загрузчик указанный в настройках DHCP. Для UEFI это будет shimx64.efi, для BIOS — файл pxelinux.0.

Примечание: Параметр next-server следует указывать даже если для размещения служб DHCP и TFTP используется один и тот же сервер