Настройка загрузки PXE - EFI и Legacy

This commit is contained in:
Alexander Zhirov 2023-02-27 11:12:28 +03:00
parent 1c012b3578
commit 0813c875ae
8 changed files with 84 additions and 0 deletions

View File

@ -4,3 +4,4 @@
## [Установка Asterisk](src/asterisk-install.md)
## [initrd (Initial RAM Disk)](src/initrd.md)
## [Базовая настройка подключения к серверу Samba](src/samba.md)
## [Настройка загрузки PXE - EFI и Legacy](src/pxe-efi-legzcy.md)

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,83 @@
# Настройка загрузки PXE - EFI и Legacy
1. Прошить микротик версией не ниже 7.6.
2. Для каждой сети DHCP указать в `Next Server` **IP** PXE-сервера. В теории можно указать `66` опцией и подсунуть в `Option Set`, оставив `Next Server` пустым.
3. `Boot File Name` оставить пустым.
![pxe-efi-legzcy-1](img/pxe-efi-legzcy-1.png)
4. Создать две опции:
```
Name: legacy_67
Code: 67
Value: s'loader_legacy/pxelinux.0'
```
```
Name: uefi_67
Code: 67
Value: s'loader_uefi/syslinux.efi'
```
![pxe-efi-legzcy-2](img/pxe-efi-legzcy-2.png)
5. Создать `Option Sets`
![pxe-efi-legzcy-3](img/pxe-efi-legzcy-3.png)
6. Создать опции в `Option Matcher`
![pxe-efi-legzcy-4](img/pxe-efi-legzcy-4.png)
Можно в `Server` указать **all**, в особенности, если DHCP серверов на микроте несколько. Если несколько DHCP серверов, то нужны отдельные опции для каждой сети. Если одна подсеть разбита на несколько пулов, то указываем только первый, `next pool` не нужно.
![pxe-efi-legzcy-5](img/pxe-efi-legzcy-5.png)
![pxe-efi-legzcy-6](img/pxe-efi-legzcy-6.png)
## В терминале
```sh
ip dhcp-server option
/ip dhcp-server/network/ print
/ip dhcp-server/network/ set <НОМЕР СЕТИ> next-server="ip сервера"
/ip dhcp-server/option/ add name="legacy_67" code=67 value="s'loader_legacy/pxelinux.0'"
/ip dhcp-server/option/ add name="uefi_67" code=67 value="s'loader_uefi/syslinux.efi'"
/ip dhcp-server option sets add name="pxe-uefi" options=uefi_67
/ip dhcp-server option sets add name=" pxe-legacy" options= legacy_67
/ip dhcp-server/matcher/ add name="arch-legacy" " server="all" address-pool="ИМЯ ПУЛА" option-set="pxe-legacy" code="93" value="0x0000"
/ip dhcp-server/matcher/ add name="arch-efi" server="all" address-pool="ИМЯ ПУЛА" option-set="pxe-uefi" code="93" value="0x0007"
```
- `server="all"` - вместо `all` можно указать номер DHCP сервера (`/ip/dhcp-server print`)
- `address-pool="имя пула"` указать имя `pool` (`ip/pool/ print` или нажать TAB поставив курсор после `address-pool=`)
## Для ISC-DHCP-SERVER (Linux)
Редактирование `dhcp.conf`:
```
option architecture-type code 93 = unsigned integer 16;
```
в `subnet` указать:
```
next-server <IP СЕРВЕРА>;
if option architecture-type = 00:07 {
filename "loader_uefi/syslinux.efi";
} else {
filename "loader_legacy/pxelinux.0";
}
```
## tftpd-ремап
В Legacy некоторые старые клиенты имеют косяк в стеке и они в конец искомого имени файла `loader_legacy/pxelinux.0` добавляют ненужный код. Исправляется ремап-фильтром на tftpd сервере:
```
g \\ /
ri (loader_uefi\/syslinux\.efi).*$ \1 # на всякий случай и для efi
ri (loader_legacy\/pxelinux\.0).*$ \1
```