Como citado no post anterior, o FOG Project é 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

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:
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 Botstrap 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:



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.

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.
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

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.

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.

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.



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 Imagens, Wiki Fog Project – Migrando o Fog de Servidor / Exportando imagens.
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.
Olá, Rafael! Obrigado. Sobre o DHCP Server ser no Windows Server, não vejo problemas. Recomendo verificar este link: https://wiki.fogproject.org/wiki/index.php/Windows_DHCP_Server
Bom dia.
Aqui na minha rede não tenho DHCP rodando. Como eu faço pra condigurar o FOG pra ele rodar o dhcp dele somente ? É possível ?
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.