Red Hat Training
A Red Hat training course is available for RHEL 8
8.3.2. Configuração de um servidor TFTP para clientes baseados em BIOS
Use este procedimento para configurar um servidor TFTP e DHCP e iniciar o serviço TFTP no servidor PXE para sistemas AMD e Intel de 64 bits baseados em BIOS.
Todos os arquivos de configuração nesta seção são exemplos. Os detalhes de configuração variam e dependem da arquitetura e dos requisitos específicos.
Procedimento
Como raiz, instale os seguintes pacotes. Se você já tem um servidor DHCP configurado em sua rede, exclua os pacotes
dhcp-server
:# yum instalar tftp-server dhcp-server
Permitir conexões de entrada para o
tftp service
no firewall:# firewall-cmd --add-service=tftp
Nota-
Este comando permite o acesso temporário até o próximo reinício do servidor. Para permitir o acesso permanente, adicione a opção
--permanent
ao comando. - Dependendo da localização do arquivo ISO de instalação, você pode ter que permitir conexões de entrada para HTTP ou outros serviços.
-
Este comando permite o acesso temporário até o próximo reinício do servidor. Para permitir o acesso permanente, adicione a opção
Configure seu servidor DHCP para usar as imagens de inicialização empacotadas com SYSLINUX como mostrado no arquivo
/etc/dhcp/dhcpd.conf
do exemplo a seguir. Observe que se você já tiver um servidor DHCP configurado, então execute esta etapa no servidor DHCP.option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option architecture-type = 00:07 { filename "uefi/shim.efi"; } else { filename "pxelinux/pxelinux.0"; } } }
Acesse o arquivo
pxelinux.0
do pacoteSYSLINUX
no arquivo de imagem ISO do DVD Binário, onde my_local_directory é o nome do diretório que você cria:# montagem -t iso9660 /caminho_para_imagem/nome_da_imagem.iso /ponto_de_montagem -o loop,ro
# cp -pr /mount_point/BaseOS/Packages/syslinux-tftpboot-version-architecture.rpm /my_local_directory
# umount /mount_point
Extrair o pacote:
# rpm2cpio syslinux-tftpboot-version-architecture.rpm | cpio -dimv
Crie um diretório
pxelinux/
emtftpboot/
e copie todos os arquivos do diretório para o diretóriopxelinux/
:# mkdir /var/lib/tftpboot/pxelinux
# cp my_local_directory/tftpboot/* /var/lib/tftpboot/pxelinux
Crie o diretório
pxelinux.cfg/
no diretóriopxelinux/
:# mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
Adicione um arquivo de configuração padrão ao diretório
pxelinux.cfg/
, como mostrado no exemplo a seguir:default vesamenu.c32 prompt 1 timeout 600 display boot.msg label linux menu label ^Install system menu default kernel images/RHEL-8.1/vmlinuz append initrd=images/RHEL-8.1/initrd.img ip=dhcp inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/ label vesa menu label Install system with ^basic video driver kernel images/RHEL-8.1/vmlinuz append initrd=images/RHEL-8.1/initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/ label rescue menu label ^Rescue installed system kernel images/RHEL-8.1/vmlinuz append initrd=images/RHEL-8.1/initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff
Nota-
O programa de instalação não pode inicializar sem sua imagem em tempo de execução. Use a opção de inicialização
inst.stage2
para especificar a localização da imagem. Alternativamente, você pode usar a opçãoinst.repo=
para especificar a imagem, bem como a fonte de instalação. -
O local da fonte de instalação utilizado com
inst.repo
deve conter um arquivo.treeinfo
válido. -
Quando você seleciona o DVD de instalação RHEL8 como fonte de instalação, o arquivo
.treeinfo
aponta para os repositórios BaseOS e AppStream. Você pode usar uma única opçãoinst.repo
para carregar os dois repositórios.
-
O programa de instalação não pode inicializar sem sua imagem em tempo de execução. Use a opção de inicialização
Criar um subdiretório para armazenar os arquivos de imagem de inicialização no diretório
/var/lib/tftpboot/
, e copiar os arquivos de imagem de inicialização para o diretório. Neste exemplo, o diretório é/var/lib/tftpboot/pxelinux/images/RHEL-8.1/
:# mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-8.1/ # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-8.1/
No servidor DHCP, inicie e habilite o serviço
dhcpd
. Se você tiver configurado um servidor DHCP no localhost, então inicie e ative o serviçodhcpd
no localhost.# systemctl start dhcpd # systemctl enable dhcpd
Inicie e habilite o serviço
tftp.socket
:# systemctl start tftp.socket # systemctl enable tftp.socket
O servidor de inicialização PXE está agora pronto para atender os clientes PXE. Você pode iniciar o cliente, que é o sistema para o qual você está instalando o Red Hat Enterprise Linux, selecionar PXE Boot quando solicitado a especificar uma fonte boot, e iniciar a instalação da rede.