Configurando um 'PXE Network Boot Server' para várias instalações de distribuição Linux no RHEL/CENTOS 7

Configurando um 'PXE Network Boot Server' para várias instalações de distribuição Linux no RHEL/CENTOS 7

Servidor PXE - Ambiente de execução de pré -boot - Instrui um computador cliente a inicializar, executar ou instalar um sistema operacional formar diretamente uma interface de rede, eliminar a necessidade de queimar um CD/DVD ou usar um meio físico ou pode facilitar o trabalho de instalar distribuições Linux em seu Infraestrutura de rede em várias máquinas ao mesmo tempo.

Configurando a inicialização da rede PXE em RHEL/CENTOS 7

Requisitos

  1. Procedimento mínimo de instalação do CentOS 7
  2. Rhel 7 Procedimento mínimo de instalação
  3. Configure o endereço IP estático no RHEL/CENTOS 7
  4. Remova os serviços indesejados no RHEL/CENTOS 7
  5. Instale o servidor NTP para definir o tempo correto do sistema no RHEL/CENTOS 7

Este artigo explicará como você pode instalar e configurar um Servidor PXE sobre RHEL/CENTOS 7 x64 bits com repositórios de instalação local espelhados, fontes fornecidas pela imagem ISO do CentOS 7 DVD, com a ajuda de Dnsmasq Servidor.

Que fornece Dns e DHCP Serviços, SysLinux Pacote que fornece carregadores de botas para inicialização de rede, Tftp-server, que disponibiliza imagens inicializáveis ​​para ser baixado via rede usando Protocolo de transferência de arquivo trivial (TFTP) e Vsftpd Servidor que hospedará a imagem de DVD espelhada montada local - que atuará como um repositório oficial de instalação do RHEL/CENTOS 7 de onde o instalador extrairá seus pacotes necessários.

Etapa 1: Instale e configure o servidor Dnsmasq

1. Não há necessidade de lembrá -lo de que é absolutamente exigente que uma da interface da sua rede de rede, caso seu servidor represente mais NICs, deve ser configurado com um endereço IP estático da mesma faixa de IP que pertence ao segmento de rede que fornecerá serviços PXE.

Então, depois de configurar seu endereço IP estático, atualizar seu sistema e executar outras configurações iniciais, use o seguinte comando para instalar Dnsmasq Daemon.

# yum install dnsmasq 
Instale o pacote dnsmasq

2. Dnsmasq principal arquivo de configuração padrão localizado em /etc O diretório é auto-explicativo, mas pretende ser bastante difícil de editar, faça com suas explicações altamente comentadas.

Primeiro, certifique -se de fazer backup deste arquivo, caso precise revê -lo mais tarde e, em seguida, crie um novo arquivo de configuração em branco usando seu editor de texto favorito, emitindo os seguintes comandos.

# mv /etc /dnsmasq.conf /etc /dnsmasq.conf.backup # nano /etc /dnsmasq.conf 

3. Agora, copie e cole as seguintes configurações em Dnsmasq.conf Arquive e assegure que você altere as declarações explicadas abaixo para corresponder às configurações de sua rede de acordo.

interface = eno16777736, lo # #bind-interfaces domain = CentOS7.LAN # DHCP RANGE RANGE DHCP-RANGE = ENO16777736,192.168.1.3.192.168.1.253.255.255.255.0,1h # pxe dhcp-boot = pxelinux.0, Pxserver, 192.168.1.20 # gateway dhcp-opção = 3.192.168.1.1 # dns dhcp-opção = 6,92.168.1.1, 8.8.8.8 servidor = 8.8.4.4 # Endereço de transmissão DHCP-OPTION = 28,10.0.0.255 # NTP Server DHCP-OPTION = 42,0.0.0.0 PXE-PROMPT = "Pressione F8 para o menu.", 60 PXE-Service = x86pc", Instale o CentOS 7 do Network Server 192.168.1.20 ", pxelinux atabille-tftp tftp-root =/var/lib/tftpboot 
Configuração do dnsmasq

As declarações que você precisa mudar são seguintes:

  1. interface - Interfaces que o servidor deve ouvir e fornecer serviços.
  2. interfaces de ligação - Descomamento para se ligar apenas nesta interface.
  3. domínio - Substitua -o pelo seu nome de domínio.
  4. DHCP-RANGE - Substitua -o pelo intervalo IP definido pela sua máscara de rede neste segmento.
  5. dhcp-boot - Substitua a instrução IP pelo seu endereço IP da interface.
  6. dhcp-opção = 3,192.168.1.1 - Substitua o endereço IP pelo seu gateway de segmento de rede.
  7. dhcp-opção = 6,92.168.1.1 - Substitua o endereço IP pelo seu DNS Server IP - Vários IPs DNS podem ser definidos.
  8. servidor = 8.8.4.4 - Coloque seus endereços IPS de Forwarders DNS.
  9. dhcp-opção = 28,10.0.0.255 - Substitua o endereço IP pelo endereço de transmissão de rede - opcionalmente.
  10. dhcp-opção = 42,0.0.0.0 - Coloque seus servidores de tempo de rede - opcionalmente (0.0.0.0 endereço é para auto-referência).
  11. PXE-PROMPT - Deixe -o como padrão - significa acertar a tecla F8 para entrar no menu 60 com tempo de espera de segundos…
  12. pxe = serviço - Use x86pc para arquiteturas de 32 bits/64 bits e insira um prompt de descrição do menu em citações de string. Outros tipos de valores podem ser: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, XSCALE_EFI e X86-64_EFI.
  13. Ativar-tftp - Ativa o servidor TFTP de construção.
  14. TFTP-Root - Use/var/lib/tftpboot - o local para todos os arquivos de netboots.

Para outras opções avançadas relativas ao arquivo de configuração, sinta -se à vontade para ler o Manual Dnsmasq.

Etapa 2: Instale o SysLinux Bootloaders

4. Depois de editar e salvar Dnsmasq Arquivo de configuração principal, vá em frente e instale Syslinx Pacote PXE Bootloader emitindo o seguinte comando.

# yum install syslinux 
Instale o SysLinux Bootloaders

5. Os arquivos PXE Bootloaders residem em /usr/share/syslinux Caminho absoluto do sistema, para que você possa verificar listando este conteúdo do caminho. Esta etapa é opcional, mas você pode precisar estar ciente desse caminho, porque na próxima etapa, copiaremos todo o seu conteúdo para Servidor TFTP caminho.

# ls/usr/share/syslinux 
Arquivos syslinux

Etapa 3: Instale o TFTP-Server e preencha-o com o SysLinux Bootloaders

6. Agora, vamos para o próximo passo e instalar Tftp-server E então, copie todos os arquivos Bootloders fornecidos pelo pacote SysLinux do local listado acima para /var/lib/tftpboot caminho emitindo os seguintes comandos.

# yum install tftp -server # cp -r/usr/share/syslinux/*/var/lib/tftpboot 
Instale o servidor TFTP

Etapa 4: Configurar o arquivo de configuração do servidor PXE

7. Normalmente o Servidor PXE lê sua configuração de um grupo de arquivos específicos (Guid Arquivos - primeiro, MAC Arquivos - Em seguida, Padrão arquivo - último) hospedado em uma pasta chamada pxelinux.cfg, que deve estar localizado no diretório especificado em TFTP-Root Declaração do arquivo de configuração principal do DNSmasq.

Crie o diretório necessário pxelinux.cfg e preenchê -lo com um padrão arquivo emitindo os seguintes comandos.

# mkdir/var/lib/tftpboot/pxelinux.cfg # touch/var/lib/tftpboot/pxelinux.CFG/Padrão 

8. Agora é hora de editar Servidor PXE Arquivo de configuração com opções de instalação de distribuições Linux válidas. Observe também que todos os caminhos usados ​​neste arquivo devem ser relativos ao /var/lib/tftpboot diretório.

Abaixo, você pode ver um exemplo de arquivo de configuração que você pode usá -lo, mas modifique as imagens de instalação (arquivos kernel e initrd), protocolos (FTP, HTTP, HTTPS, NFS) e IPS para refletir seus repositórios de fonte de instalação de rede e caminhos de acordo.

# nano/var/lib/tftpboot/pxelinux.CFG/Padrão 

Adicione o seguinte trecho inteiro ao arquivo.

menu padrão.C32 Prompt 0 Tempo limite 300 OnTimeout Título do menu local ########## Menu de inicialização PXE ######### Ótimo 1 rótulo de menu ^1) Instale o CentOS 7 x64 com o repo local Kernel CentOS7/vmllUz Anexar initrd = CentOS7/initrd.Método IMG = ftp: // 192.168.1.20/pub Devfs = Nomount Rótulo 2 Rótulo de menu ^2) Instale o CentOS 7 x64 com http: // espelho.CENTOS.Org Repo Kernel CentOS7/Vmlluz Append initrd = CentOS7/initrd.Método IMG = http: // espelho.CENTOS.org/centOS/7/OS/x86_64/devfs = nomount ip = rótulo dhcp 3 rótulo de menu ^3) Instale o CentOS 7 x64 com o repo local usando o vnc kernel CentOS7/vmlluz appender initrd = centos7/initrd.Método IMG = ftp: // 192.168.1.20/pub Devfs = Nomount Inst.VNC Inst.vncPassword = sevela etiqueta 4 rótulo de menu ^4) Botagem da unidade local 
Configure o PXE Server

Como você pode ver, as imagens de inicialização do CentOS 7 (kernel e initrd) residem em um diretório nomeado CentOS7 relativo a /var/lib/tftpboot (em um caminho absoluto do sistema, isso significaria /var/lib/tftpboot/CentOS7) e os repositórios do instalador podem ser alcançados usando Ftp protocolo em 192.168.1.20/pub Localização da rede - neste caso, os repositórios estão hospedados localmente porque o endereço IP é o mesmo que o endereço do servidor PXE).

Também menu Rótulo 3 especifica que a instalação do cliente deve ser feita a partir de um local remoto via Vnc (aqui substitua a senha do VNC por uma senha forte) Caso você instale em um cliente sem cabeça e no menu Rótulo 2 Especifica como
Fontes de instalação Um espelho oficial da Internet do CentOS 7 (este caso requer uma conexão com a Internet disponível no cliente através do DHCP e NAT).

Importante: Como você vê na configuração acima, usamos o CentOS 7 para fins de demonstração, mas você também pode definir imagens do RHEL 7 e seguir instruções e configurações inteiras são baseadas apenas no CentOS 7, portanto, tenha cuidado ao escolher a distribuição.

Etapa 5: Adicionar imagens de inicialização do CentOS 7 ao servidor PXE

9. Para esta etapa, são necessários arquivos do Kernel e Initrd Centos. Para obter esses arquivos, você precisa do Centos 7 DVD ISO Imagem. Então, vá em frente e faça o download da imagem do DVD do CentOS, coloque -a em sua unidade de DVD e monte a imagem para /mnt Caminho do sistema emitindo o comando abaixo.

A razão para usar o DVD e não uma imagem mínima de CD é o fato de que, posteriormente, esse conteúdo de DVD seria usado para criar o
Repositórios de instalador localmente para Ftp fontes.

# Mount -o loop /dev /cdrom /mnt # ls /mnt 
Mount Centos DVD

Se sua máquina não tiver uma unidade de DVD, você também pode baixar Centos 7 DVD ISO Usando localmente wget ou ondulação utilitários de um espelho do CentOS e monte -o.

# wget http: // espelhos.XServers.Ro/CentOS/7.0.1406/ISOS/x86_64/CentOS-7.0-1406-X86_64-DVD.ISO # Mount -O Loop/Path/to/Centos -DVD.ISO /MNT 

10. Depois que o conteúdo de DVD é disponibilizado, crie o CentOS7 Diretório e cópia do Kernel inicializável e imagens initrd do local montado em DVD para a estrutura de pastas do CentOS7.

# mkdir/var/lib/tftpboot/centros7 # cp/mnt/imaga.img/var/lib/tftpboot/CentOS7 
Copie arquivos de inicialização do CentOS

A razão para usar essa abordagem é que, mais tarde, você pode criar novos diretórios separados em /var/lib/tftpboot Caminho e adicione outras distribuições Linux ao menu PXE sem estragar toda a estrutura do diretório.

Etapa 6: Crie Fonte de Instalação do Espelho Local do CentOS 7

11. Embora você possa configurar Espelhos da fonte de instalação Através de uma variedade de protocolos como HTTP, HTTPS ou NFS, para este guia, escolhi Ftp protocolo porque é muito confiável e fácil de configurar com a ajuda de vsftpd servidor.

Instale ainda mais o daemon vsftpd, copie todo o conteúdo montado em DVD para vsftpd Caminho do servidor padrão (/var/ftp/pub) - Isso pode demorar um pouco, dependendo dos recursos do seu sistema e anexar permissões legíveis a esse caminho, emitindo os seguintes comandos.

# yum install vsftpd # cp -r/mnt/*/var/ftp/pub/ # chmod -r 755/var/ftp/pub 
Instale o servidor vsftpd Copie os arquivos para o caminho FTP Defina permissões no caminho FTP

Etapa 7: Iniciar e ativar os daemons em todo o sistema

12. Agora que a configuração do servidor PXE está finalmente concluída, inicie Dnsmasq e Vsftpd Servidores, verifique seu status e ative em todo o sistema, inicie automaticamente após cada reinicialização do sistema, executando os comandos abaixo.

# SystemCtl Iniciar dnsmasq # status SystemCtl dnsmasq # SystemCtl Iniciar vsftpd # Systemctl Status vsftpd # SystemCtl Ativar dnsmasq # SystemCtl Ativar vsftpd 
Inicie o serviço Dnsmasq Iniciar o serviço vsftpd

Etapa 8: Open Firewall e Teste a fonte de instalação FTP

13. Para obter uma lista de todas as portas que precisam ser abertas no seu firewall para que as máquinas clientes cheguem e inicializem no servidor PXE, execute netstat Comando e adicione as regras do Firewalld CentOS 7 de acordo com as portas de escuta Dnsmasq e VSFTPD.

# netStat -tulpn # firewall-cmd --add-service = ftp --permanent ## Port 21 # firewall-cmd --add-service = dns --permanent ## porta 53 # firewall-cmd --add-service = DHCP --PERMANENT ## PORT 67 # firewall-cmd --add-port = 69/udp-Porta ## port para tftp # firewall-cmd --add-port = 4011/udp-portão ## port para proxydhcp # Firewall-CMD--Reload ## Aplique regras 
Verifique as portas de escuta Abrir portas no firewall

14. Para testar o caminho da rede de origem de instalação do FTP, abra um navegador localmente (o lynx deve fazê -lo) ou em um computador diferente e digite o endereço IP do seu servidor PXE com
Protocolo FTP seguido de /bar A localização da rede no URL arquivada e o resultado deve ser conforme apresentado na captura de tela abaixo.

ftp: // 192.168.1.20/pub 
Acesse arquivos FTP via navegador

15. Para depurar o servidor PXE para eventuais equívocos ou outras informações e diagnósticos no modo ao vivo, execute o seguinte comando.

# tailf/var/log/mensagens 
Verifique os logs do PXE quanto a erros

16. Finalmente, a última etapa necessária que você precisa fazer é desmontar o DVD do CentOS 7 e remover o meio físico.

# Umount /mnt 

Etapa 9: configure os clientes para inicializar da rede

17. Agora, seus clientes podem inicializar e instalar o CentOS 7 em suas máquinas, configurando a inicialização da rede como dispositivo de inicialização primária de seus sistemas BIOS ou atingindo uma chave especificada durante BIOS POST Operações conforme especificado no manual da placa -mãe.

Para escolher a inicialização da rede. Após o primeiro prompt PXE aparecer, pressione F8 chave para inserir a apresentação e depois atingir Digitar Chave para prosseguir para o menu PXE.

Inicialização da rede PXE Inicialização do sistema operacional PXE Network

18. Depois de chegar ao menu PXE, escolha seu tipo de instalação do CentOS 7, pressione Digitar Chave e continue com o procedimento de instalação da mesma maneira que você pode instalá -lo em um dispositivo de inicialização de mídia local.

Por favor, observe que o uso da variante 2 deste menu requer uma conexão ativa na Internet no cliente de destino. Além disso, abaixo
Capturas de tela Você pode ver um exemplo de instalação remota do cliente via VNC.

Menu PXE Instalação Linux remota via VNC Instalação remota de CentOS

Isso é tudo para configurar um mínimo Servidor PXE sobre CENTOS 7. No meu próximo artigo desta série, discutirei outras questões relativas a esta configuração do servidor PXE, como configurar instalações automatizadas de CENTOS 7 usando Kickstart arquivos e adicionando outras distribuições Linux ao menu PXE - Servidor Ubuntu e Debian 7.