Сервер PXE (предзагрузочная среда выполнения) позволяет пользователю загружать дистрибутив Linux из сети и устанавливать его на сотни компьютеров одновременно без каких-либо ISO-образов Linux. Если на компьютерах вашего клиента нет CD/DVD или USB-накопителей или если вы хотите одновременно настроить несколько компьютеров на крупном предприятии, то PXE-сервер можно использовать для экономии денег и времени.
В этой статье мы покажем вам, как настроить PXE-сервер в Ubuntu 14.04.
Настройка сети
Чтобы начать работу, вам необходимо сначала настроить PXE-сервер на использование статического IP-адреса. Чтобы настроить статический IP-адрес в вашей системе, вам необходимо отредактировать файл «/etc/network/interfaces».
1. Откройте файл «/etc/network/interfaces».
sudo nano /Contents
- 1 Настройка сети
- 2 Установите DHCP, TFTP и NFS:
- 3 Настроить DHCP-сервер:
- 4 Настроить TFTP-сервер:
- 5 Настроить загрузочные файлы PXE
- 6 Добавить загрузочные образы рабочего стола Ubuntu 14.04 на PXE-сервер
- 7 Настройка NFS-сервера для экспорта содержимого ISO
- 8 Настройка PXE-клиента сетевой загрузки
- 9 Заключение
Настройка сети
work/interfacesДобавьте/измените, как описано ниже:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.20 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8
Сохраните файл и выйдите. Это установит его IP-адрес «192.168.1.20». Перезапустите сетевую службу.
sudo /etc/init.d/networking restart
Установите DHCP, TFTP и NFS:
DHCP, TFTP и NFS являются важными компонентами для настройки PXE-сервера. Для начала вам необходимо обновить систему и установить все необходимые пакеты.
Для этого выполните следующие команды:
sudo apt-get update sudo apt-get install isc-dhcp-Server inetutils-inetd tftpd-hpa syslinux nfs-kernel-Server
Настроить DHCP-сервер:
DHCP означает протокол динамической конфигурации хоста и используется в основном для динамического распределения параметров конфигурации сети, таких как IP-адреса, для интерфейсов и служб. DHCP-сервер в среде PXE позволяет клиентам автоматически запрашивать и получать IP-адрес для получения доступа к сетевым серверам.
1. Отредактируйте файл «/etc/default/dhcp3-server».
suУстановите DHCP, TFTP и NFS:
span>etc/default/dhcp3-server
Добавьте/измените, как описано ниже:
INTERFACES="eth0"
Сохраните (Ctrl + o) и выйдите (Ctrl + x) из файла.
2. Отредактируйте файл «/etc/dhcp3/dhcpd.conf»:
sudo nano /etc/dhcp/dhcpd.conf
Добавьте/измените, как описано ниже:
default-lease-time 600; max-lease-timНастроить DHCP-сервер:
.168.1.0 netmask 255.255.255.0 { range 192.168.1.21 192.168.1.240; option subnet-mask 255.255.255.0; option routers 192.168.1.20; option broadcast-address 192.168.1.255; filename "pxelinux.0"; next-Server 192.168.1.20; }
Сохраните файл и выйдите.
3. Запустите службу DHCP.
sudo /etc/init.d/isc-dhcp-server start
Настроить TFTP-сервер:
TFTP — это протокол передачи файлов, аналогичный FTP. Он используется там, где не требуется аутентификация пользователя и видимость каталога. Сервер TFTP всегда прослушивает клиентов PXE в сети. Когда он обнаруживает какой-либо сетевой PXE-клиент, запрашивающий службы PXE, он предоставляет сетевой пакет, содержащий меню загрузки.
1. Чтобы настроить TFTP, отредактируйте файл «/etc/inetd.conf».
sudo nano /etc/inetd.conf
Добавьте/измените, как описано ниже:
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
Сохраните и закройте файл.
2. Отредактируйте файл «/etc/default/tftpd-hpa».
sudo nano /etc/default/tftpd-hpa
Добавьте/измените, как описано ниже:
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS="[:0.0.0.0:]:69" TFTP_OPTIONS="--secure" RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"
Сохраните и закройте файл.
3. Включите с
Настроить TFTP-сервер:
/code>, чтобы она автоматически запускалась после каждой перезагрузки системы, и запускайте службуtftpd
.
sudo update-inetd --enable BOOT sudo service tftpd-hpa start
4. Проверьте статус.
sudo netstat -lu
Отобразится следующий результат:
Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:tftp *:*
Настроить загрузочные файлы PXE
Теперь вам нужно, чтобы загрузочный файл PXE «pxelinux.0» присутствовал в корневом каталоге TFTP. Создайте структуру каталогов для TFTP и скопируйте все файлы загрузчика, предоставленные syslinux, из пути «/usr/lib/syslinux/» в путь «/var/lib/tftpboot/», выполнив следующие команды:
sudo mkdir /var/lib/tftpboot sudo mkdir /var/lib/tftpboot/pxelinux.cfg sudo mkdir -p /var/lib/tftpboot/Ubuntu/14.04/amd64/ sudo cp /usr/lib/syslinux/vesamenu.c32 /var/lib/tftpboot/ sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/
Настройка файла конфигурации PXELINUX
Файл конфигурации PXE определяет меню загрузки, отображаемое клиенту PXE при загрузке и соединении с TFTP-сервером. По умолчанию, когда PXE-клиент загружается, он будет использовать свой собственный MAC-адрес, чтобы указать, какой файл конфигурации читать, поэтому нам нужно создать этот файл по умолчанию, содержащий список ядер, доступных для загрузки.
Отредактируйте файл конфигурации PXE-сервера, указав допустимые параметры установки.
Для редактирования «/var/lib/tftpboot/pxelinux.cfg/default»
sudo nano /var/lib/tftpboot/pxelinux.cfg/default
Добавьте/измените, как описано ниже:
DEFAULT vesamenu.c32 TIMEOUT 100 PROMPT 0 MENU INCLUDE pxelinux.cfg/PXE.conf NOESCAPEНастроить загрузочные файлы PXE
4.04 Desktop MENU LABEL Try Ubuntu 14.04 Desktop kernel Ubuntu/vmlinuz append boot=casper netboot=nfs nfsroot=192.168.1.20:/var/lib/tftpboot/Ubuntu/14.04/amd64 initrd=Ubuntu/initrd.lz quiet splash ENDTEXT LABEL Install Ubuntu 14.04 Desktop MENU LABEL Install Ubuntu 14.04 Desktop kernel Ubuntu/vmlinuz append boot=casper automatic-ubiquity netboot=nfs nfsroot=192.168.1.20:/var/lib/tftpboot/Ubuntu/14.04/amd64 initrd=Ubuntu/initrd.lz quiet splash ENDTEXT
Сохраните и закройте файл.
Отредактируйте файл «/var/lib/tftpboot/pxelinux.cfg/pxe.conf».
sudo nano /var/lib/tftpboot/pxelinux.cfg/pxe.conf
Добавьте/измените, как описано ниже:
MENU TITLE PXE Server NOESCAPE 1 ALLOWOPTIONS 1 PROMPT 0 MENU WIDTH 80 MENU ROWS 14 MENU TABMSGROW 24 MENU MARGIN 10 MENU COLOR border 30;44 #ffffffff #00000000 std
Сохраните и закройте файл.
Добавить загрузочные образы рабочего стола Ubuntu 14.04 на PXE-сервер
Для этого необходимы ядро Ubuntu и файлы initrd. Чтобы получить эти файлы, вам понадобится ISO-образ рабочего стола Ubuntu 14.04. Вы можете загрузить ISO-образ Ubuntu 14.04 в папке /mnt, выполнив следующую команду:
sudo cd /mnt sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.3-desktop-amd64.iso
Примечание. URL-адрес загрузки может измениться по мере обновления ISO-образа. Если указанный выше URL не работает, перейдите по этому адресу Веб-сайт , чтобы найти последнюю ссылку для скачивания.
Смонтируйте файл ISO и скопируйте все файлы в папку TFTP, выполнив следующие команды:
sudo mount -o loop /mnt/ubuntu-14.04.3-desktop-amd64.iso /media/ sudo cp -r /media/* /var/lib/tftpboot/Ubuntu/14.04/amd64/ sudo cp -r /media/.disk /var/lib/tftpboot/Ubuntu/14.04/amd64/ sudo cp /media/casper/initrd.lz /media/casper/vmlinuz /var/lib/tftpboot/Ubuntu/
Настройка NFS-сервера для экспорта содержимого ISO
Теперь вам нужно настроить зеркала исходного кода установки по протоколу NFS. Вы также можете использовать http
и ftp
для зеркал источника установки. Здесь я использовал NFS для экспорта содержимого ISO.
Чтобы настроить сервер NFS, необходимо отредактировать файл «/etc/exports».
sudo nano /etc/exports
Добавьте/измените, как описано ниже:
/var/lib/tftpboot/Ubuntu/14.04/amd64 *(ro,async,no_root_squash,no_subtree_check)
Сохраните и выйдите из файла. Чтобы изменения вступили в силу, экспортируйте и запустите службу NFS.
sudo exportfs -a sudo /etc/init.d/Добавить загрузочные образы рабочего стола Ubuntu 14.04 на PXE-сервер
>Настройка PXE-клиента сетевой загрузки
Клиентом PXE может быть любая компьютерная система с возможностью включения загрузки по сети PXE. Теперь ваши клиенты могут загружать и устанавливать Ubuntu 14.04 Desktop, включив опцию «Загрузка из сети» в BIOS своей системы.
Теперь вы готовы к работе — запустите клиентский компьютер PXE с опцией включения сетевой загрузки, и теперь вы должны увидеть созданное нами подменю для вашего рабочего стола Ubuntu 14.04.
Заключение
Настройка сетевой загрузки с использованием PXE-сервера является эффективным и экономящим время методом. Вы можете установить сотни клиентов одновременно в вашей локальной сети. Все, что вам нужно, — это PXE-сервер и клиенты с поддержкой PXE. Попробуйте и сообщите нам, подойдет ли вам это.
Ссылка: PXE-сервер вики PXE-сервер Ubuntu
Изображение предоставлено: fupsol_unl_20
Настройка NFS-сервера для экспорта содержимого ISO
Настройка PXE-клиента сетевой загрузки
Заключение