NetInstall start: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 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}}}} |
Версия от 16:13, 21 апреля 2024
Установка по сети
Техническая часть
Многие компьютеры и серверы поддерживают установку системы не только с 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.