Fog Project – Configurações Avançadas + Deploy de Imagens

Como citado no post anterior, o FOG Project (Free Opensource Ghost) é uma solução de software em rede para a gestão e implantação de sistemas operacionais, ou seja, uma solução para que sistemas operacionais pré-configurados e/ou personalizados (imagens de sistemas operacionais) sejam instalados (clonados) em computadores, rapidamente, através de uma rede local (LAN).

Neste post, considerando o FOG Project já instalado (de acordo com o post anterior), falaremos de suas configurações mais avançadas, como do servidor DHCP, dos parâmetros da BIOS, que devem ser usadas nos clientes e da criação de imagens dos sistemas operacionais Windows e Linux Ubuntu.

Configuração do DHCP

O servidor DHCP é uma peça chave no funcionamento do FOG Project, afinal, ele precisa informar aos clientes a presença de um ambiente de pré-inicialização (PXE – Preboot eXecution Environment), presente na rede.

O próprio FOG pode ser configurado, durante sua instalação, como servidor DHCP. A vantagem em usar esta opção é que você não precisará se preocupar com as configurações avançadas, porém, é muito provável que, em um ambiente corporativo e até em um home-lab (como é o caso por aqui, usado neste ambiente de testes), você já possua um serviço ativo de DHCP Server, como um firewall ou o próprio roteador da sua operadora de Internet. Por isso, trouxe duas opções para configurar o DHCP com os parâmetros necessários para o correto funcionamento do FOG: no pfSense e no Fortigate.

1 – Como configurar o pfSense (Boot PXE) usando o FOG Project

O pfSense é extremamente simples de ser configurado para que o seu servidor DHCP forneça os parâmetros de PXE. Para isso, vá ao pfSense, no menu Services / DHCP Server / Other Options / Network Booting / Show Advanced. De acordo com as informações abaixo e imagem, insira as seguintes configurações:

Enables network booting: check
Next server: Endereço IP do FOG Server
Default BIOS file name: undionly.kpxe
UEFI 32 bit file name: ipxe32.efi
UEFI 64 bit file name: ipxe.efi

Fog Project – pfSense DHCP Server Config

Feito isso, basta salvar a configuração. Como pode-se notar, o pfsense possui em sua interface uma maneira visual de configurar o DHCP. Esta funcionalidade cria uma tratativa para cada tipo de boot (067 – File name), sendo o tradicional Legacy Mode e os modos UEFI (Unified Extensible Firmware Interface), tanto de 32 bits como de 64 bits. Se você acessar o arquivo de configuração do DHCP do pfSense (arquivo: /var/dhcpd/etc/dhcpd.conf), poderá visualizar este detalhe:

subnet 192.168.1.0 netmask 255.255.255.0 {
pool {
option domain-name-servers 192.168.1.1;
range 192.168.1.100 192.168.1.150;
}
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1;
ping-check true;
next-server 192.168.1.251;
if option arch = 00:06 {
filename "ipxe32.efi";
} else if option arch = 00:07 {
filename "ipxe.efi";
} else if option arch = 00:09 {
filename "ipxe.efi";
} else {
filename "undionly.kpxe";
}

2 – Como configurar o Fortigate usando o FOG Project

O Fortigate, da Fortinet, e o seu poderoso Forti OS, é um appliance UTM (Unified Threat Management), um equipamento bem conhecido por ser estável e recheado de recursos de rede e segurança. O grande detalhe do Fortigate é que, diferente do pfSense, ele não oferece uma tratativa para configurar cada tipo de boot (filename) no servidor DHCP. Mesmo através do CLI Console (Command-line interface), não foi possível configurar o servidor DHCP com todos os parâmetros acima. Por esta razão, além da configuração de Next Bootstrap Server, optou-se em usar apenas a opção de tipo de boot (067 – File name) com o UEFI 64 bits, que é compatível com a vasta maioria dos equipamentos atuais (notebooks e computadores), como pode ser observado na imagem abaixo:

Fog Project – Fortigate (v 6.0.13) DHCP Server Config (Menu Interfaces / Advanced / DHCP Server)

Nas versões mais recentes do Forti OS, como a 6.4, a opção de Lease Time está em um campo pré-definido, assim como o Next Bootstrap Server. Em testes, não foi necessário adicionar a entrada 67 – File name / ipxe.efi para que o Fog funcionasse corretamente, como no exemplo abaixo, onde a única configuração necessária foi informar o IP do servidor do Fog (192.168.0.14, neste exemplo) em next bootstrap server:

Fog Project – Fortigate (v 6.4.8) DHCP Server Config (Menu Interfaces / Advanced / DHCP Server)

Configurações de BIOS (clientes)

O último passo das configurações necessárias para o correto funcionamento do FOG Project é o de configurar os clientes (computadores) para efetuarem boot pela rede (assim como um thinclient busca um sistema operacional em rede). Para efetuar esta configuração é preciso acessar a BIOS (Basic Input/Output System) do computador cliente que varia de acordo com cada fabricante e, até mesmo, modelo de computador. Para acessar a BIOS do computador, deve-se teclar Delete, F2, F10 ou F12 (dependendo do fabricante) logo ao ligá-lo.

Boot via UEFI, 32 ou 64 bits (mais comum)

Deve-se desabilitar a função de Secure Boot e habilitar a função de UEFI / Network Boot (with PXE). Veja abaixo as imagens das BIOS da Dell e da HP:

BIOS Config Dell – Secure Boot: Disable
BIOS Config Dell – Network Boot: Integrated NIC / LAN Enable with PXE
BIOS Config HP – Network Boot = Enable (Protocolo: IP + UEFI); Secure Boot = Disabled

Importante destacar que alguns notebooks, principalmente com discos SSD M2, vem com a opção de SATA Operation (ou SATA Mode) em modo RAID. Para usar a instalação do sistema operacional via FOG, é preciso alterar para AHCI (imagem abaixo), caso contrário, o FOG não localizará o disco do computador.

BIOS Config Dell – System Configuration / Sata Operation

Boot em modo Legacy (computadores antigos)

Além de desabilitar o Secure Boot e habilitar o Network Boot (como no exemplo acima) você precisa habilitar o Legacy Mode, desabilitar o UEFI (Boot Options) e desabilitar o PTT Security (Dell). Em algumas BIOS, é preciso forçar o Network Boot Protocol para IPV4 Legacy. Em BIOS da Asus, é preciso desabilitar a opção Secure Boot Menu / Secure Boot Control.

Importante destacar que, em algumas BIOS (mais antigas), ao desabilitar configurações de segurança, você precisa salvar a configuração atual da BIOS, sair dela e entrar novamente (no próximo Boot), para então continuar a configurá-la.

Criando uma nova imagem (captura) 

O primeiro passo para criar uma imagem é preparar um computador ou uma máquina virtual com o sistema que deseja capturar. Este sistema, precisa estar conectado à mesma rede do servidor do FOG, via cabo de rede. Confirme se a BIOS, seja do computador, ou da máquina virtual, estão em modo EFI/UEFI e que a opção de Secure Boot esteja desabilitada. Para a imagem, recomenda-se deixar o sistema operacional completamente atualizado e instalar os softwares desejados, além de outras configurações que atendam à sua necessidade. 

Neste ambiente de testes, criamos duas imagens: um Windows 10 PRO e um Linux Ubuntu 20.04, usando um notebook e uma máquina virtual (ambiente VMware). Ambos foram completamente atualizados e alguns dos softwares mais comuns em ambientes de back-office foram instalados. Aproveito para destacar que, durante os testes e uso do sistema FOG e a manutenção / atualização (captura) da imagem em ambiente virtual (VMware), entendemos que a imagem “default/base” não pode contar com a funcionalidade de snapshots (o snapshot efetua alterações no disco virtual e estas geram erro (disk resizing) no processo de re/captura da imagem no FOG).

Na página de administração do FOG Project, vá em Images e use a opção de criar uma nova imagem, usando os seguintes parâmetros:

  • Nome da imagem:  Window10_Dell_Update-Fev21 ou Ubuntu20_Dell_Update-Fev21 (exemplos)
  • Descrição: insira informações para identificar a imagem
  • Tipo do SO: usar padrão (Windows ou Linux)
  • Image Type: usar padrão
  • Partition: usar padrão
Fog Project – Criando imagens de sistemas operacionais

Feito isso, volte ao computador ou máquina virtual preparada para a imagem. Se for um computador, ligue-o e tecle F12 (tecla padrão para selecionar a placa de rede como opção de boot), para selecionar a placa de rede (NIC) como opção de boot. Se for uma máquina virtual, ative a opção de boot através da placa de rede. Após o carregamento da tela inicial do FOG, selecione a opção Quick Registration and Inventory.

Fog Project – Tela de Boot padrão: Criando imagens de sistemas operacionais – Registrando o Host

Volte a administração do FOG, vá em Hosts e observe que foi registrado um novo Host. Clique em Capture, então em Host Image e selecione a imagem criada nos passos anteriores. Clique em Update. Volte ao Host (List All Hosts), clique novamente em Capture e então clique em Create Capture Tasking, para criar uma tarefa de captura no próximo boot deste host (computador preparado para a imagem). Você pode acessar o Menu Tasks para confirmar.

Fog Project – Criando imagens de sistemas operacionais – Hosts

Agora, volte novamente ao computador ou máquina virtual preparada e, mais uma vez, configure-o para que o boot seja através da placa de rede. A captura deve começar automaticamente em alguns minutos (é possível acompanhar pela interface do FOG, na função tasks).

Importante: ao utilizar um host para gerar uma imagem que já está registrada (Hosts), você deve apenas ir em General / Host image e alterar para a nova imagem criada. Feito isso, crie a task de captura para a nova imagem.

Instalando um sistema a partir de uma imagem pré-definida

No novo computador ou máquina virtual, faça o boot via F12 (pela placa de rede – cabo deve estar conectado). A tela de boot padrão do FOG será exibida. Para fazer o Deploy (instalação) de uma imagem, vá em Deploy Image e tecle Enter. Após selecionado a opção Deploy, será solicitado o usuário senha do sistema FOG (definido durante a sua instalação). Selecione a imagem desejada e tecle Enter.

Fog Project – Tela de boot padrão: Deploy image (instalação de imagem)
Fog Project – Deploy image 1
Fog Project – Deploy image 2

Feito isso, basta aguardar o término da instalação. Em redes Gigabit e uso de discos SSD, este processo não chega a levar 10 minutos.

Finalizando a instalação

Após o término da instalação, as recomendações são de voltar a BIOS ao seu estado de fábrica, ou seja, habilitar o Secure Boot (Habilitar PTT Security) e desabilitar boot via PXE / LAN / NIC / Ethernet, mantendo apenas o disco padrão como unidade de boot.

Além disso, é totalmente recomendado forçar a atualização do sistema operacional, para que ele busque por atualizações de drivers, correspondente ao equipamento utilizado. Vale conferir se existe algum alerta de device (dispositivo e drivers) não instalado ou não identificado. Em geral, todos os alertas podem ser resolvidos com a instalação de drivers adicionais, seja no Windows como no Linux. No Windows, vá ao Windows Update e procure por Exibir atualizações Opcionais / Atualizações de Drivers. Você também pode instalar drivers específicos a partir da página de suporte oficial do fabricante do seu equipamento.

*Com informações de: Wiki Fog Project – Windows DHCP Server, Wiki Fog Project – Fog with an other DHCP Server, vWorld – How to configure PFsense to PXE boot using FOGProject, Wiki Fog Project – Gerenciando ImagensWiki Fog Project – Migrando o Fog de Servidor / Exportando imagensVMware KB – Noções básicas sobre snapshots de máquina virtual no ESX / ESXi.

12 Comments

  1. Daniel, primeiramente gostaria de lhe parabenizar pela qualidade do seu artigo.

    Lhe questiono se você já teve a necessidade/experiência de realizar esta configuração tendo o Windows Server como servidor DHCP. Já li outras postagens a respeito, mas não consegui efetivamente usar o PXE do FOG tendo o Windows Server como provedor do DHCp. Conseguiria me passar alguma orientação.

    1. Olá, Juan! Sim, é possível. Note que durante a instalação do Fog você pode habilitar esta config e torná-lo um servidor de DHCP. Para que ele não cause problemas as configurações padrões da sua rede, atente-se em ajustar os parâmetros de endereçamento, como o range de IPs, máscara de sub-rede, gateway default e servidores DNS. Caso não queira o servidor DHCP em sua rede padrão, use VLANs para segmentá-la. Espero ter ajudado.

  2. Boa noite, Algume poderia me ajudar na configuração de um Mikrotik para iniciar o fog?

  3. Boa tarde Daniel tudo bem ? Primeiramente obrigado por compartilhar esse artigo. Tira-me uma dúvida por favor:

    Segui o artigo passo a passo sem qualquer erro, porém nas máquinas clientes na hora de dá boot via pxe não estou conseguindo acessar a próxima tela para fazer captura/deploy, mesmo alterando todos os parâmetros na bios conforme sugeriu acima. Simplesmente fica tentando da boot, parece não achar o servidor FOG Project e volta pra tela inicial. Todas as máquinas clientes e servidor estão no mesmo segmento de rede.

    Utilizo Servidor DHCP Windows Server 2016 STD com DHCP ativo, alterei as options conforme artigo, tentei tanto a 067/filename como undionly.kpxe ou ipxe.efi.

    Máquinas clientes, tentei boot nesses: 1 Notebook dell vostro 15 3510 / 1 Notebook HP 240 G7 e HP Prodesk 400 G3 Mini.

    Se puder dá uma sugestão, agradeço bastante.

    Abraços,
    Obrigado.

    1. Olá, Rogerio, tudo bem? Dos clientes (notebooks) que você testou, eu também já usei por aqui e funcionaram corretamente, portanto, não acredito que o problema seja com eles. Eu tentaria fazer um teste geral com outro servidor DHCP, numa rede isolada, para garantir que as configurações necessárias para que o PXE (client) encontre o FOG (servidor) estão corretas. Além disso, eu já tive problemas de compatibilidade de “placa de rede do servidor” com equipamentos (clientes) mais modernos, como Intel >10th. Neste caso, alteramos o servidor do FOG para um servidor mais moderno. Espero ter ajudado! Abraços.

  4. Daniel, primeiramente parabéns pela matéria!
    Já utilizo o FOG a bastante tempo e só tenho o que elogiar o Projeto.
    Só gostaria de uma ajuda na seguinte questão!
    Quando vou fazer o Upload de uma “VM” criada no VirtualBox como imagem para o FOG, tenho como confirgurá-lo para que a imagem da minha VM seja criada em modo UEFI ? (PS: em uma máquina física esta configuração fica na BIOS como descrito na matéria).
    Atualmente as VMs que faço Upload para o FOG só ficam em modo Legacy (MBR).
    Desde já muito obrigado!!!

    1. Olá, Jocimar. Obrigado! Acredito que seja possível sim. Na tua VM, do VirtualBox, vá em “Configurações” e então em “Sistema”. Nas opções de Placa mãe, habilite o “EFI”. Clique em ok e refaça seus testes. Me escreva sobre os resultados. Abraços!

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.