Pxe server linux debian

Configure a server to handle network boot (PXE)¶

PXE (Pre-Execution Environment) is a way to boot a computer which can’t boot from a physical drive (CD, DVD, USB). The computer gets an IP address from the network using DHCP and then download a PXE image from a TFTP (Trivial File Transfer Protocol) server. On Linux, Dnsmasq does all the networking stuff and Syslinux provides a PXE image. The LiveCD of any GNU/Linux distribution contains configuration files for Syslinux and a compressed file system which can be used by network boot.

Example¶

1- Configure the PXE server network (IP address, DNS…) and make it up and running.

2- Uncompress or mount an ISO image of an Ubuntu LiveCD to /tmp/iso . This may work too with other distributions, but this example has only been tested with Ubuntu.

3- Prepare a TFTP directory:

mkdir -p /srv/tftpboot cp -a /tmp/iso/isolinux/* /srv/tftpboot/ mkdir /srv/tftpboot/pxelinux.cfg mv /srv/tftpboot/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default cp -r /tmp/iso/casper /src/tftpboot # This requires Syslinux to be installed cp /usr/lib/syslinux/pxelinux.0 /srv/tftpboot

4- Configure DNSMasq to be both a DHCP server and a TFTP one. To do so, edit /etc/dnsmasq.conf :

# Uncomment following line if you want to restrict to one interface #interface=eth0 dhcp-range=192.168.0.50,192.168.0.150,12h dhcp-boot=pxelinux.0 enable-tftp tftp-root=/srv/tftpboot 

5- (Re)Start Dnsmasq service and enjoy your PXE server !

Debian network installation¶

Debian provides files on its FTP mirrors which can be used to set up a PXE server to boot Debian netinstall.

Читайте также:  Встроенные консольные редакторы linux

On this FTP, only initrd.gz , linux and pxelinux.0 are really useful. pxelinux.cfg/default can be rewritten in a much simpler version:

DEFAULT linux LABEL linux kernel linux append vga=normal initrd=initrd.gz -- TIMEOUT 0 

Источник

Форум Сервер Дома

[How To] Поднимаем сервер PXE-Boot на Debian 7

Правила форума
Условием использования нашего форума, является соблюдение настоящих Правил форума.

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам, а вы рискуете получить предупреждение.

[How To] Поднимаем сервер PXE-Boot на Debian 7

Что можно сделать с этим Для просмотра ссылок Вы должны быть авторизованы на форуме. -boot’ом? Зачем он нужен? Ну. Рассуждать можно долго и нудно. Достоинства там расписывать, возможности в теории. Я поступлю проще. Расскажу с из-за чего у меня возникла идея поднять сервер PXE-Boot на Debian 7 и во что это вылилось на данный момент.

Вот во что это вылилось на данный момент: Сервер Сетевой Установки ОС по локальной сети Ultimate Deployment Appliance RUS [Релизы].
Как включить на компьютере, который надо загрузить по сети, опцию загрузки в BIOS смотрите здесь.

А началось это с того, что возникла нужда установить на старенький ноутбук у которого CD-привод приказал долго жить ОС Windows XP. Единственное решение, которое заработало — PXE-boot. Потом на очереди подошла Windows 7, Debian, Ubuntu и т.д. Ну, ладно, ОС устанавливаются, что можно ещё организовать? Да много чего. Например, тест памяти Memtest86+, Acronis, Clonezilla, Paragon Hard Disk Manager и т.д. и т.п. В итоге у меня получился реанимационный комплекс. В интернете полно всяких описаний как сварганить себе флешку-реаниматор. А у меня получился сервер-реаниматор. Да и поднять его оказалось не так сложно. Муторно, да. Но если всё делать постепенно, по мере необходимости, то и не возникнет никаких трудностей. Убедил? Тогда вперёд!

  • Устанавливаемые службы:
  • Служба DHCP — раздаёт настройки сети и информацию о том, где искать загрузочные файлы и какой из них запускать первым (dhcp3-server).
  • Служба TFTP — раздаёт загрузочные файлы на начальном этапе (tftpd-hpa).
  • Служба Syslinux предоставит нам меню для выбора ОС и опций её загрузки.
  • Служба доступа к файлам — будет раздавать файлы на поздних этапах по протоколам SMB, NBD, HTTP, NFS и т.д.
  • Служба кэширующий прокси — будет хранить копии устанавливаемых пакетов разных дистрибутивов Linux (Apt-Cacher-Ng)
Читайте также:  Install charles proxy linux

Приступим к установке служб. Исходные данные сервера:
Доменное имя: debmirror.lan
IP-адрес: 192.168.1.111
Шлюз: 192.168.1.1
Маска: 255.255.255.0

Устанавливаем isc-dhcp-server: популярный DHCP сервер, ставший стандартом де-факто для большинства UNIX систем.

aptitude install isc-dhcp-server
nano /etc/default/isc-dhcp-server
# Defaults for isc-dhcp-server initscript # sourced by /etc/init.d/isc-dhcp-server # installed at /etc/default/isc-dhcp-server by the maintainer scripts # # This is a POSIX shell fragment # # Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf). # Путь к файлу конфигурации сервера. Изменим, т.к. будем писать свой конфиг DHCPD_CONF=/etc/dhcp/pxeboot.conf # Path to dhcpd's PID file (default: /var/run/dhcpd.pid). #DHCPD_PID=/var/run/dhcpd.pid # Additional options to start dhcpd with. #Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead #OPTIONS="" # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? #Separate multiple interfaces with spaces, e.g. "eth0 eth1". # Имена сетевых интерфейсов, которые будет обслуживать сервер. Если на # вашем сервере их несколько, разделяйте пробелами, например, так "eth0 eth1". INTERFACES="eth0"
 default-lease-time 600; max-lease-time 7200; ddns-update-style none; ddns-updates off; allow booting; # Прописываем что как назвывается и где находится option domain-name "debmirror.lan"; option domain-name-servers 192.168.1.1; option routers 192.168.1.1; # Правила идентификации DHCP запросов от PXE и Etherboot клиентов. class "pxe" < match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; >class "etherboot" < match if substring (option vendor-class-identifier, 0, 9) = "Etherboot"; ># Выделяем ппул адресов для клиентов pxe и etherboot subnet 192.168.1.0 netmask 255.255.255.0 < option broadcast-address 192.168.1.255; pool < default-lease-time 180; # выдавать аренду дольше нет смысла max-lease-time 360; # максимальное время аренды server-name "debmirror.lan"; # имя pxe-севера next-server 192.168.1.111; # в мануалах пишут, что можно прописывать # доменное имя, но здесь лучше так filename "pxelinux.0"; # имя загрузочного файла option root-path "192.168.1.111:/mirror/tftp"; # указываем путь к # каталогу явно allow members of "pxe"; # разрешаем pxe allow members of "etherboot"; # разрешаем etherboot range 192.168.1.50 192.168.1.59; # количество возможных клиентов >> 

Замечание: dhcp-server настроен раздавать адреса только для pxe- и etherboot-клиентам.

Читайте также:  Linux asm types h

Перезапустим isc-dhcp-server для применения новых настроек:

/etc/init.d/isc-dhcp-server restart

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

Устанавливаем tftpd-hpa: TFTP-сервер с поддержкой специфичных требований к PXE. Единственный, по-крайней мере известный мне, сервер, который «умеет» переименовывать файлы «на лету» (зачем это нам надо, спросите Вы? Мы с этим столкнёмся при установке ОС Windows. Там я опишу эту проблему подробнее).

aptitude install tftpd-hpa

Источник

Оцените статью
Adblock
detector