В этой статье мы поговорим о том, как настроить tftpboot, включая установку необходимых пакетов и конфигурации tftpboot.
Служба загрузки TFTP в основном используется для установки ОС на удаленной машине, к которой у вас нет физического доступа. Чтобы успешно выполнить установку ОС, должен быть способ перезагрузить удаленный сервер – либо с помощью wakeonlan, либо кто-то вручную перезагрузил его, либо каким-либо другим способом.
В этих сценариях вы можете соответствующим образом настроить службы tftpboot, и установка ОС может выполняться удаленно (вам необходим файл конфигурации autoyast для автоматизации шагов установки ОС). В этой статье представлена пошаговая процедура для SLES10-SP3 в 64-битной архитектуре. Однако эти шаги очень похожи на любые другие дистрибутивы Linux.
Следующие пакеты должны быть установлены для установки tftpboot.
Установите пакеты для служб сервера dhcp:
$ rpm -ivh dhcp-3.0.7-7.5.20.x86_64.rpm Preparing... ########################################### [100%] 1:dhcp ########################################### [100%] $ rpm -ivh dhcp-server-3.0.7-7.5.20.x86_64.rpm Preparing... ########################################### [100%] 1:dhcp ########################################### [100%] $ rpm -ivh tftp-0.48-1.6.x86_64.rpm $ rpm -ivh syslinux-3.11-20.14.26.x86_64.rpm
После установки пакета syslinux файл pxelinux.0 будет создан в каталоге /usr/share/pxelinux/. Это необходимо для загрузки установочного образа ядра и образа initrd на клиентском компьютере.
Убедитесь, что пакеты успешно установлены.
$ rpm -qa | grep dhcp $ rpm -qa | grep tftp
Загрузите соответствующий tftpserver из репозитория вашего соответствующего дистрибутива Linux.
Создайте каталог tftpboot в корневом каталоге (/), как показано ниже.
# mkdir /tftpboot/
Образ Linux PXE будет доступен после установки пакета syslinux. Скопируйте этот путь в / tftpboot, как показано ниже.
# cp /usr/share/syslinux/pxelinux.0 /tftpboot
Предположим, мы собираемся установить дистрибутив SLES10 SP3 Linux на удаленный сервер. Если у вас есть диск SUSE10-SP3, вставьте его в дисковод или смонтируйте ISO-образ, который у вас есть. Здесь ISO-образ был смонтирован следующим образом:
# mkdir /tftpboot/sles10_sp3 # mount -o loop SLES-10-SP3-DVD-x86_64.iso /tftpboot/sles10_sp3
Скопируйте initrd в каталог tftpboot, как показано ниже.
# cd /tftpboot/sles10_sp3/boot/x86_64/loader # cp initrd linux /tftpboot/
Создайте каталог pxelinux.cfg в /tftpboot и определите определения загрузки pxe для клиента.
# mkdir /tftpboot/pxelinux.cfg # cat >/tftpboot/pxelinux.cfg/default default linux label linux kernel linux append initrd=initrd showopts instmode=nfs install=nfs://192.168.1.101/tftpboot/sles10_sp3/
Следующие параметры используются для,
Как указано выше, режим установки nfs используется для обслуживания установочных RPM и файлов конфигурации. Итак, настройте nfs на этом компьютере с каталогом / tftpboot в экспортированном списке. Вы можете добавить опцию «autoyast» в файл конфигурации autoyast, чтобы автоматизировать шаги установки ОС, в противном случае вам нужно будет выполнить шаги установки вручную.
Никого не назначайте: никому в каталог /tftpboot.
# chown nobody:nobody /tftpboot # chmod 777 /tftpboot
Измените /etc/dhcpd.conf, как показано ниже.
# cat /etc/dhcpd.conf ddns-update-style none; default-lease-time 14400; filename "pxelinux.0"; # IP address of the dhcp server nothing but this machine. next-server 192.168.1.101; subnet 192.168.1.0 netmask 255.255.255.0 { # ip distribution range between 192.168.1.1 to 192.168.1.100 range 192.168.1.1 192.168.1.100; default-lease-time 10; max-lease-time 10; }
Укажите интерфейс в /etc/syslinux/dhcpd для прослушивания запросов dhcp от клиентов.
# cat /etc/syslinux/dhcpd | grep DHCPD_INTERFACE DHCPD_INTERFACE=”eth1”;
Здесь эта машина имеет IP-адрес 192.168.1.101 на устройстве eth1. Итак, укажите eth1 для DHCPD_INTERFACE, как показано выше.
Измените файл /etc/xinetd.d/tftp, чтобы отразить следующее. По умолчанию значение параметра disable равно «yes», пожалуйста, убедитесь, что вы изменили его на «no», и вам нужно изменить запись server_args на -s / tftpboot.
# cat /etc/xinetd.d/tftp service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no }
Нет необходимости изменять файл /etc/xinetd.conf. Используйте значения по умолчанию, указанные в файле xinetd.conf.
Перезапустите эти службы, как показано ниже.
# /etc/init.d/xinetd restart # /etc/init.d/dhcpd restart # /etc/init.d/nfsserver restart
После перезапуска служб nfs вы можете просмотреть список экспортированных каталогов (/ tftpboot) с помощью следующей команды:
# showmount -e
Наконец, настройка tftpboot готова, и теперь клиентский компьютер может быть загружен после изменения первого загрузочного устройства в качестве «сетевого» в настройках BIOS.
Если вы столкнулись с какой-либо ошибкой tftp, вы можете выполнить поиск и устранение неисправностей, загрузив некоторые файлы через службу tftpd.
Извлеките некоторый файл из tftpserver, чтобы убедиться, что служба tftp работает правильно с использованием клиента tftp. Предположим, что файл sample.txt находится в каталоге /tftpboot.
$ tftp -v 192.168.1.101 -c get sample.txt
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies