|
PXE (англ. Preboot Execution Environment, произносится пикси) — среда для загрузки компьютеров с помощью сетевой карты без использования жёстких дисков, компакт-дисков и других устройств, применяемых при загрузке операционной системы. Для организации загрузки системы в PXE используются протоколы IP, UDP, DHCP и TFTP. PXE-код, прописанный в сетевой карте, получает загрузчик из сети, после чего передаёт ему управление.
Для этого понадобится DHCP – сервер и TFTP – сервер и PXELINUX - загрузчик.
DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической конфигурации узла) — это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP, и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок.
TFTP (англ. Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.
PXELINUX является производным от SYSLINUX, предназначенным для загрузки Linux с сетевого сервера.
Установка DHCP и его настройка:
sudo apt-get install dhcp3-server
пример настройки сетевых интерфейсов:
# This file describes the network interfaces available on your system
# and ho to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.1.1
broadcast 192.168.1.255
netmask 255.255.255.0
после установки скажем серверу выдавать айпи только для нашей локальной сети (предполагается, что сетевые интерфейсы уже настроены), для этого откроем файл /etc/default/dhcp3-server
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES=""
И укажем интерфейс нашей локальной сети, у меня это ”eth1” у вас может одна сетевая карта тогда будет просто ”eth0”
INTERFACES="eth1"
Дальше откроем файл настроек самого DHCP – сервера /etc/dhcp3/dhcpd.conf
В конец файла вставим нашу конфигурацию
subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.1.2 192.168.1.200;
option broadcast-address 192.168.1.255;
option domain-name-servers 192.168.1.1;
option routers 192.168.1.1;
filename "pxelinux.0";
}
Сохраним файл и перезагрузим dhcp - сервер
sudo /etc/init.d/dhcp3-server restart
если все в порядке то увидим сообщение наподобие этого:
* Starting DHCP server dhcpd3 [ OK ]
Установка TFTP – сервера
sudo apt-get install tftp tftpd-hpa
Создим директорию и дим права доступа 777 и владельца nobody
sudo mkdir -m 777 /srv/tftp
sudo chown nobody /srv/tftp
Настроим файл /etc/default/tftpd-hpa:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
Установка PXELINUX
sudo apt-get install syslinux
cd /usr/lib/syslinux/
cp vesamenu.32 /srv/tftp
cp memdisk /srv/tftp
cp pxelinux.0 /srv/tftp
cd /srv/tftp
mkdir pxelinux.cfg
cd pxelinux.cfg
touch default
nano default
Пример файла /pxelinux.cfg/default:
DEFAULT vesamenu.c32 #Это путь к файла модуля меню при его указании появляются широкие возможности для оформления меню.
PROMPT 0 # Индекс выбранного по умолчанию пункта меню начинается с 0.
MENU TITLE Linux Boot Menu # указание заголовка меню
#описание цветов элемнтов
MENU BACKGROUND #1F45A5
MENU COLOR TITLE 1 #ffffff #000000 std
MENU COLOR SEL 0 #ffffff #444444 std
MENU COLOR TABMSG 0 #999933 #000000 std
MENU COLOR UNSEL 0 #aaaaaa
TIMEOUT 50 #Таймаут по истечении которого автоматически начинается загрузка пункта по умолчанию.
LABEL thin
MENU LABEL Thinstation Linux
KERNEL vmlinuz
APPEND append ramdisk_blocksize=4096 initrd=initrd root=/dev/ram0 ramdisk_size=524288 console=ttyS3 splash=silent vga=791
MENU SEPARATOR
LABEL timage
MENU LABEL Acronis True images
KERNEL memdisk
APPEND initrd=timage.wbt
LABEL vc
MENU LABEL DOS Volcow Commander
KERNEL memdisk
APPEND initrd=vc.ima
LABEL memtest86+
MENU LABEL Memory Test
KERNEL memdisk
APPEND initrd=memtest.img
LABEL hddt
MENU LABEL HDD Util Victoria
KERNEL memdisk
APPEND initrd=victoria.ima
Загрузка компьютера по сети
Теперь включаем (все современные компьютера имеют данную опцию) PXE ROM в БИОСе и устанавливаем его приоритетным устройством загрузки.
 
|