Configurando o PXE Network Boot Server no CentOS 7

Configurando o PXE Network Boot Server no CentOS 7
PXE é um protocolo usado para inicializar instaladores de sistemas operacionais na rede. Em seguida, você pode instalá -lo em seu servidor ou estação de trabalho. Você não precisará de nenhum CD/DVD ou USB para isso. Usando um servidor de inicialização PXE, você pode instalar um sistema operacional em todos os computadores em uma rede ao mesmo tempo. Isso vai economizar muito tempo.

Neste artigo, vou mostrar como configurar um servidor de inicialização PXE no CentOS 7 e configurá -lo para inicializar o Fedora 30 Workstation Live Installer pela rede via PXE. Então vamos começar.

Topologia de rede:

Aqui, vou configurar um servidor do CentOS 7 como um servidor de inicialização PXE. O PXE Boot Server servirá a mídia de instalação ao vivo do Fedora 30 Workstation para os clientes PXE. Em seguida, instalarei a estação de trabalho do Fedora 30 no cliente PXE sobre a rede. O servidor de inicialização PXE terá um IP fixo 192.168.50.1. O cliente PXE estará na mesma rede.

Configurando a rede:

Você pode usar o NMTUI para configurar um IP estático para a interface de rede em sua máquina CentOS 7. Para aprender a fazer isso, você pode ler um artigo dedicado sobre este tópico em https: // linuxhint.com/setup_static_ip_Centos7/

Aqui eu usei Ens37 Para configurar o PXE Boot Server. Altere -o dependendo da sua configuração.

Instalando e configurando o DHCP e o TFTP para Boot PXE:

Você precisa configurar um DHCP e um servidor TFTP para inicialização PXE. Vou usar o dnsmasq para isso.

Primeiro, atualize o cache do repositório do pacote YUM com o seguinte comando:

$ sudo yum makecache

Agora, instale o Dnsmasq com o seguinte comando:

$ sudo yum install -y dnsmasq

Dnsmasq deve ser instalado.

Agora, renomeie o original /etc/dnsmasq.conf arquivo para /etc/dnsmasq.conf.cópia de segurança do seguinte modo:

$ sudo mv -v /etc /dnsmasq.conf /etc /dnsmasq.conf.cópia de segurança

Agora, crie um vazio Dnsmasq.conf Arquivo com o seguinte comando:

$ sudo vi /etc /dnsmasq.conf

Agora, digite as seguintes linhas para o arquivo:

interface = Ens37
interfaces de ligação
domínio = linuxhint.local

DHCP-RANGE = Ens37,192.168.50.100.192.168.50.240.255.255.255.0,8h
dhcp-opção = opção: roteador, 192.168.50.1
DHCP-OPTION = OPÇÃO: DNS-SERVER, 192.168.50.1
DHCP-OPTION = OPÇÃO: DNS-SERVER, 8.8.8.8

Ativar-tftp
tftp-root =/netboot/tftp
dhcp-boot = pxelinux.0, Linuxhint, 192.168.50.1
pxe-prompt = "Pressione F8 para a inicialização da rede PXE.", 5
PXE-Service = x86pc, "Instale OS via PXE", pxelinux

O arquivo de configuração final deve parecer o seguinte. Depois de terminar, salve o arquivo de configuração.

Agora, crie um novo diretório /netboot/tftp Para TFTP da seguinte maneira:

$ sudo mkdir -p /netboot /tftp

Agora, reinicie o Dnsmasq Serviço com o seguinte comando:

$ sudo systemctl reiniciar dnsmasq

OBSERVAÇÃO: Defino o Selinux para o modo permissivo na minha máquina CentOS 7. Porque, se o Selinux estiver definido como o modo de aplicação, o dnsmasq não começará nesta configuração. Cobrir Selinux está fora do escopo deste artigo.

Agora, verifique se o serviço Dnsmasq está em execução ou não com o seguinte comando:

$ sudo systemctl status dnsmasq

Como você pode ver, o serviço dnsmasq está em execução.

Agora, adicione o serviço Dnsmasq à inicialização do sistema da seguinte forma:

$ sudo systemctl Ativar dnsmasq

Instalando e configurando o PXE Bootloader:

Agora, você precisa instalar os arquivos PXE Bootloader e copiá -los para o diretório raiz do TFTP.

Para instalar os arquivos PXE BootLoader, execute o seguinte comando:

$ sudo yum install -y syslinux

Depois que o syslinux estiver instalado, copie o pxelinux.0 e cardápio.C32 arquivos para o /netboot/tftp diretório da seguinte maneira:

$ sudo cp -v/usr/share/syslinux/pxelinux.0, menu.c32/netboot/tftp/

Agora, crie diretório de configuração do PXE Bootloader /netboot/tftp/pxelinux.cfg/ do seguinte modo:

$ sudo mkdir/netboot/tftp/pxelinux.cfg

Agora, crie o arquivo de configuração padrão do PXE BootLoader /netboot/tftp/pxelinux.CFG/Padrão do seguinte modo:

$ sudo touch/netboot/tftp/pxelinux.CFG/Padrão

O TFTP Server agora pode servir todos os arquivos de carregador de inicialização necessários pela rede.

Instalando o Apache Web Server:

Fedora 30 Workstation usa Dracut como o provedor de opções de linha de comando do kernel. Ele suporta a inicialização do PXE sobre HTTP. Então, vou usar o servidor da Web Apache 2 para servir os arquivos do Fedora 30 Workstation na rede.

Para instalar o Apache 2 Web Server, execute o seguinte comando:

$ sudo yum install -y httpd

Apache 2 deve ser instalado.

Agora, faça um link simbólico /netboot/www do /var/www/html Diretório para facilitar o gerenciamento do servidor de inicialização PXE da seguinte forma:

$ sudo ln -s/var/www/html/netboot/www

O vínculo simbólico deve ser criado.

$ ls -l /netboot /

Agora, comece o httpd Serviço da seguinte forma:

$ sudo systemctl iniciar httpd

Agora, verifique se o httpd O serviço está em execução da seguinte maneira:

$ sudo status Systemctl httpd

Como você pode ver, o httpd O serviço está funcionando corretamente.

Agora, adicione o httpd Serviço para a inicialização do sistema com o seguinte comando:

$ sudo systemctl ativar httpd

Preparando o Fedora 30 estação de trabalho para a bota PXE:

Agora, faça o download da imagem ISO do Fedora 30 Workstation Live com o seguinte comando:

$ wget https: // download.FedoraProject.org/pub/fedora/linux/liberações/30/estação de trabalho/
x86_64/iso/fedora-workstation-live-x86_64-30-1.2.ISO

Vai demorar um pouco para o download concluir.

Agora, monte o Fedora 30 Workstation Live ISO Image no /mnt diretório da seguinte maneira:

$ sudo monte -o loop fedora-workstation-live-x86_64-30-1.2.ISO /MNT

Agora, crie diretórios dedicados para o Fedora 30 Workstation /netboot/www/fedora30/ e /netboot/tftp/fedora30/ do seguinte modo:

$ sudo mkdir -v/netboot/tftp, www/fedora30

Agora, copie o conteúdo do arquivo ISO para o /netboot/www/fedora30/ diretório da seguinte maneira:

$ sudo cp -rfv/mnt/*/netboot/www/fedora30/

O conteúdo do arquivo ISO da estação de trabalho do Fedora 30 deve ser copiado.

Agora, copie o initrd.img e vmlluz Arquivos da estação de trabalho do Fedora 30 para o /netboot/tftp/fedora30/ diretório da seguinte maneira:

$ sudo cp -v/netboot/www/fedora30/imagens/pxeboot/initrd.img, vmlluz
/netboot/tftp/fedora30/

Agora, você pode desmontar a imagem ISO da estação de trabalho do Fedora 30 e excluí -la se quiser.

$ sudo umount /mnt
$ rm fedora-workstation-live-x86_64-30-1.2.ISO

Adicionando entrada de inicialização PXE para Fedora 30 estação de trabalho:

Agora, você deve adicionar uma entrada de inicialização para a estação de trabalho do Fedora 30 no /netboot/tftp/pxelinux.CFG/Padrão arquivo.

Abra o arquivo de configuração do menu de inicialização do PXE /netboot/tftp/pxelinux.CFG/Padrão Para edição da seguinte maneira:

$ sudo vi/netboot/tftp/pxelinux.CFG/Padrão

Agora, adicione as seguintes linhas ao arquivo.

menu padrão.C32
Rótulo Install_Fedora30
Rótulo do menu ^Instale o fedora 30 estação de trabalho
Menu Padrão
kernel fedora30/vmlluz
Anexar initrd = fedora30/initrd.IMG Root = Live: http: // 192.168.50.1/fedora30/
Liveos/squashfs.IMG Plymouth.Ativar = 1 rd.ao vivo.Image Rd.Luks = 0 rd.md = 0
rd.dm = 0 rd.ao vivo.RAM = 1

O arquivo de configuração final deve parecer o seguinte. Depois de terminar, salve o arquivo.

Adicionando regras de firewall:

Agora, você tem que abrir portas do seu firewall para o servidor de inicialização PXE funcionar.

Permita o serviço DHCP da seguinte maneira:

$ sudo firewall-cmd-zone = public --add-service = dhcp --permanente

Permita o serviço HTTP da seguinte maneira:

$ sudo firewall-cmd-zone = public --add-service = http --permanent

Permita o serviço TFTP da seguinte maneira:

$ sudo firewall-cmd-zone = public --add-service = tftp --permanente

Permita a porta UDP 4011 e 69 da seguinte forma:

$ sudo firewall-cmd-zone = public --add-port = 4011/udp --permanente
$ sudo firewall-cmd-zone = public --add-port = 69/udp --permanente

Agora, recarregue o firewall da seguinte forma:

$ sudo firewall-cmd--reload

Instalação da estação de trabalho do Fedora 30 via PXE:

Agora, no cliente PXE, onde você deseja instalar o Ubuntu 18.04 LTS sobre a rede via PXE, vá para o BIOS e selecione Boot de rede.

Quando você vir a seguinte mensagem, pressione no seu teclado.

Agora, selecione Instale o sistema operacional via PXE e pressione .

Você só terá uma opção. Então, basta pressionar .

Fedora 30 Workstation Live Installer deve iniciar.

Agora, você pode instalá -lo em sua máquina cliente como de costume.

Então, é assim que você configura o PXE Boot Server no CentOS 7. Obrigado por ler este artigo.