CRIANDO A VM do pfSENSE
Como informado no inicio do artigo, assumimos as seguintes configurações neste tópico:
Servidor ESXi:
Host: vmsrv
IP LAN: 192.168.1.100
Datastore: Datastore1
Servidor pfSense
Host: firewall
IP WAN: 10.1.1.2
IP LAN: 192.168.1.110 (gateway da LAN)
Modem (Internet)
IP: 10.1.1.1
Obs1: Qualquer faixa de IP, exceto 192.168.1.0/24
Obs2: Caso haja mais de 1 modem, deve-se atribuir os IPs em faixas diferentes e será necessário NICs adicionais no host ESXi para cada modem. Ex: 10.1.2.0/8, 10.1.3.0/8.
Através do vSphere Client, já com a ISO do pfSense (pfSense-LiveCD-2.0.3-RELEASE-amd64-20151221-1450.iso) disponível no DATASTORE1 do ESXi, vamos criar a VM seguindo os passos abaixo:
1. Menu FILE > NEW > VIRTUAL MACHINE (ou CTRL+N).
2. "Create New Virtual Machine, na sessão "Configuration" selecionamos a opção CUSTOM.
3. "NAME" informamos o nome da VM: pfSense2.0.3-amd64_FIREWALL.
4. "Create New Virtual Machine" indicamos onde serão guardados os arquivos da VM: Datastore1
5. "Virtual Machine Version" selecionamos a versão da máquina virtual. Usamos a versão 8.
Versão 7: compatível com as versões da família do ESXi 4. Recomendado para máquinas virtuais que serão executados em hosts ESX/ESXi 4.x e que não precisarão ser migradas para hosts de versão anterior ESX 3.x.
Versão 8: compatível com as versões da família ESXi 5 e posteriores. Recomendado para máquinas virtuais que serão executados em hosts ESXi 5.x e que não precisarão migrar para hosts de versão anterior ESX/ESXi 4.x.
6. "Guest Operating System" selecione o tipo de sistema operacional. Como não consta na lista, você pode selecionar a opção OTHER e a versão FREEBSD (32-BITS ou 64-BITS), conforme a ISO que você fez download.
7. "CPUs" selecione o número de sockets e cores da máquina virtual. 1 socket/core é o suficiente.
8. "Memory" selecione o tamanho de memória RAM para esta máquina virtual. 1GB é o suficiente para instalação e configuração do pfSense. Porém, pode ser conforme a necessidade de uso dos serviços (firewall, proxy, VPN etc).
9. "Network" selecionamos o número de NICs que serão utilizadas pela máquina virtual, a qual rede pertencem e o tipo de adaptador a ser utilizado.
Neste estudo (de início), vamos trabalhar com 1 link de internet.
=> How many NICs do you want to connect? 2 (dois adaptadores de rede).
=> Network: NIC1: VM Network LAN. NIC2: VM Network WAN. Ambos com adaptador E1000. É importante que a opção CONNECT AT POWER ON esteja marcada para iniciar o adaptador de rede junto com a VM. Veja figura abaixo.
Alguns detalhes neste ponto:
A - o número de NICs deve ser no mínimo 2 (uma para conexão ao modem/internet ao qual chamamos de VM Network WAN [vmnic1] e outra para conexão de rede da LAN que chamamos de VM Network LAN [vmnic0]).
B - se houver mais de um modem (link de internet) devemos adicionar além das 2 NICs os adaptadores de rede adicionais para os outros links de internet (VM Network WAN2 [vmnic2], VM Network WAN3 [vmnic3] etc).
10. "SCSI Controller" utilizamos o padrão LSI LOGIC PARRALLEL - Proporciona melhor desempenho com dispositivos que não sejam SCSI/SAS. Neste caso, utilizamos HDs SATA3 6Gb/s 7200 RPM. Dependendo do tipo de HD que você utiliza no servidor, pode usar outras opções de drivers mais adequado a seu hardware.
DICA: as opções de adaptadores que o vSphere Client exibe para selecionarmos devem ser compatíveis com o hardware utilizado no servidor ESXi, levando em conta o sistema operacional ao qual vamos trabalhar dentro da VM.
11. "Select a Disk" onde criamos um novo disco virtual: CREATE A NEW VIRTUAL DISK.
12. "Capacity" é o tamanho do disco virtual. Aconselhamos acima de 20GB para não termos problemas futuros de espaço com atualizações, instalações de pacotes, serviços e cache do pfSense. A opção "Thinck Provision Lazy Zeroed" deve ser selecionada pois no caso deste estudo, além de outras questões técnicas, influencia também na rotina de backup com o script guettoVCB.sh.
13. "Advanced Options" devemos selecionar o tipo de dispositivo virtual de armazenamento. Neste caso, selecionamos SCSI (0:0).
14. Por fim, verificamos todas as opções e clicamos em FINISH.
INSTALANDO O pfSENSE
1. No inventário de máquinas virtuais, clicamos com botão do mouse em cima de pfSense2.0.3-amd64_FIREWALL e clicamos na opção EDIT SETTINGS.
2. Na listagem de "Hardware", clicamos em CD/DVD DRIVE1, marcamos a opção DATASTORE ISO FILE, clicamos no botão BROWSER, selecionamos o DATASTORE e clicamos em cima da .ISO do pfSense (atribuindo a .ISO a unidade de CD/DVD virtual).
3. Marcamos a opção CONNECT AT POWER ON para iniciar a .ISO no momento em que iniciarmos a VM.
4. Clicamos novamente com o botão direito do mouse em cima de pfSense2.0.3-amd64_FIREWALL e clicamos na opção OPEN CONSOLE. Em seguida, clicamos no botão PLAY (verde) para iniciar a VM.
5. Aguardamos o autoboot do pfsense em 10 segundos.
6. Em seguida, será solicitado algumas opções. Para instalar o pfSense, devemos pressionar a tecla "I" que é referente a opção "Installer may be invoked now if you do not wish to boot into LIVE CD enviroment at this time".
*** Note que a versão do pfSense que utilizamos neste estudo é 2.0.3. Porém, na figura acima consta a versão 2.2.6 ao qual também validamos todo este procedimento. Notamos na versão 2.2.6 somente algumas modificações nas atribuições dos adaptadores de rede, que detectam automaticamente sem a necessidade de intervenção do usuário.
7. Já na instalação do pfSense na opção "Configure Console" selecionamos ACCEPT THESE SETTINGS.
8. Em "Select Task", selecionamos a opção QUICK/EASY INSTALL. Na tela "Are you SURE?", confirmamos clicando no botão OK e aguardamos a cópia dos arquivos e a tela de confirmação de "Install Kernel", onde selecionamos a opção STANDARD KERNEL.
9. Por fim, na tela "Reboot" clicamos na opção REBOOT.
O username e password inicial são:
Username:
admin
Password:
pfsense
O próximo passo após a inicialização do pfSense é organizar as placas de rede e setar os IPs.
Como estamos em um ambiente virtualizado, os adaptadores de rede serão identificados pelo pfSense como "em0" e "em1" (em caso de mais adaptadores, "em2", "em3" e assim por diante).
Conforme configuramos via vSphere Client em "Networking" no host ESXI, os adaptadores de rede no pfSense devem estar atribuídos da seguinte forma:
- "em0" deverá estar atribuído a VM NETWORK LAN (rede local).
- "em1" deverá estar atribuído a VM NETWORK WAN (link de internet).
Obs.: como o ambiente é virtualizado, os cabos de rede (modem e LAN) devem estar conectados nos respectivos adaptadores de rede (servidor DELL R420), seguindo a ordem [vmnic0 <=> LAN] - [vmnin1 <=> modem/internet].
DICA: para evitar erros de atribuições de adaptadores de rede, acesse o vSphere Client, clique com botão direito do mouse em cima da VM "pfSense2.0.3-amd64_FIREWALL", procure os adaptadores de rede "Network Adapter 1" e "Network Adapter 2". Clique em cima de cada adaptador e anote o MAC ADDRESS de cada um para nos guiarmos na configuração das interfaces no pfSense.
Logo após o boot do pfSense (via console do vSphere Client), serão apresentados na tela do console do pfSense algumas opções de configuração.
É importante seguir os passos abaixo para configurar de forma correta os adaptadores de rede (tenha em mãos os Mac Address dos adaptadores que você anotou).
- No menu inicial, tecle 1 "Assign interfaces". Esta opção exibe as interfaces válidas e seus respectivos Mac Address. Confira se as interfaces "em0" e "em1" estão atribuídas respectivamente a VM Network LAN e VM Network WAN (confirme via Mac Address que você anotou).
- Na opção "Do you want to ser up VLANs now?" tecle N pois não estamos trabalhando com VLAN.
As próximas opções permitem que você atribua e configure os adaptadores de rede "em0" e "em1" ao seu gosto.
*** Cuide para não inverter a ordem dos adaptadores.
- Na opção "Enter the WAN interface name..." digite "em1" sem aspas (pois é a interface de rede que está conectada na saída para internet/modem).
- Na opção "Enter the LAN interface name..." digite "em0" sem aspas (pois é a interface de rede que está conectado na rede local).
- Nas próximas opções "Interface Optional 1 e Interface Optional 2", tecle ENTER para auto-detecção ou, em caso de mais links de internet, digite "em2", "em3" etc. Mas não é necessário configurar estas interfaces agora, visto que podemos configurar de uma forma mais fácil e intuitiva via GUI posteriormente.
- Confirme teclando Y na opção "Do you want to proceed [y|n]"
O IP da interface WAN "em1" receberá o valor do DHCP do modem (caso o serviço de DHCP esteja ligado), ou podemos configurar manualmente caso necessário (próximo passo). Por padrão do pfSense, o IP da interface LAN "em0" receberá o valor 192.168.1.1/24. Necessitamos alterar para o IP 192.168.1.110 conforme o padrão que setamos no início deste artigo.
- No menu inicial, tecle 2 "Set interface(s) IP address".
- "Enter the number of the interface you wish to configure:" nesta opção configuramos os IPs da interfaces de rede (WAN/LAN) manualmente.
- Teclando 2 "LAN (em0 - static)" devemos digitar o IP do pfSense/Gateway da LAN preenchendo com o valor "192.168.1.110" sem aspas.
- Em "Subnet Mask" especificamos a máscara da rede. Neste caso digitamos "24" sem aspas.
- Para os próximos questionamentos "For a WAN, enter the new LAN IPv4 upstream gateway address. For a LAN, press <ENTER> for none:" e "Enter the new LAN IPv6 address. Press <ENTER> for none:" pressionamos ENTER para manter as opções padrão.
- "Do you want to enable the DHCP server on LAN? (y/n)": neste questionamento, fica ao seu critério ligar ou não o serviço de DHCP, pois ele é o responsável pela distribuição de IPs na rede. Se você já possui um serviço de DHCP na rede (na faixa de IP 192.168.1.0/24), não ative esta opção. Esta configuração pode ser alterada via GUI de administração ou console posteriormente.
- "Do you want to revert to HTTP as the webConfigurator protocol?": para validar as configurações acima, pressione Y.
Para finalizar, pressione <ENTER> e confirme na tela do console se a interface "em0" atribuída a rede LAN recebeu o IP 192.168.1.110/24.
Agora todas as demais configurações do pfSense serão feitas em sua rede local via browser através do endereço http://192.168.1.110 com o usuário/senha default informado na instalação. Faça o acesso pelo navegador WEB de sua preferência.
CONFIGURANDO O pfSENSE
No primeiro acesso ao pfSense via browser, um Wizard é solicitado para configurações iniciais.
A maioria da informações solicitadas nós configuramos anteriormente via CONSOLE do pfSense.
Basta clicar no botão NEXT e preencher (ou manter) as informações solicitadas.
Na tela "General Information":
- Hostname: firewall
- Domain: seu domínio local
- Primary DNS Server: 8.8.8.8 (utilizamos o servidor DNS da Google. Mas pode ser preenchido com o servidor de DNS de sua preferência)
- Secondary DNS Server: 8.8.4.4 (utilizamos o servidor DNS da Google. Mas pode ser preenchido com o servidor de DNS de sua preferência)
- Override DNS: mantenha marcada esta opção
Na tela "Time Server Information":
- Time server hostname: a.ntp.br (servidor de horário do Brasil)
- Tomezone: América/Sao_Paulo
Na tela de configuração da WAN "Wide Area Network information": podemos configurar via DHCP (se o serviço DHCP do modem estiver ligado) ou atribuir um IP estático. Basta alterar e preencher os campos com as informações desejadas. Neste caso, mantemos por DHCP ao qual já havíamos configurado via CONSOLE do pfSense anteriormente.
Na tela de configuração da LAN "Local Area Network information": já haviamos configurado o LAN IP ADDRESS via CONSOLE do pfSense anteriormente (192.168.1.110/24).
Na tela "Set Admin WebGUI Password": faça a alteração da senha do usuário ADMIN a seu gosto.
Clique no botão RELOAD para finalizar as configurações iniciais.
A tela inicial do pfSense (Dashboard) é apresentada, exibindo informações iniciais "System Information" e "Interfaces".
Note que a WAN foi atribuída por DHCP e recebeu o DNS do Modem para fazer os encaminhamentos.
Para configurar as outras interfaces de rede "em2", "em3" etc, basta clicar no menu "INTERFACES" opção "(assign)".
Na tela "Interfaces: Assign network ports" basta selecionar as NICs e clicar no botão "+" para atribuir os adaptadores de rede. Por padrão, o pfSense irá chamar cada novo adaptador de "OPT1", "OPT2" e assim por diante. Quando adicionamos o novo adaptador, clicamos em cima de "OPT1" ("OPT2" e assim por diante) marcamos a opção "Enable Interface".
São apresentadas diversas opções na tela "INTERFACES: OPT1". Na sessão "General Configuration" temos campos para renomeamos o adaptador, atribuir IPv4 de forma estática ou por DHCP (dependendo da configuração do ativo/modem conectado a este adaptador), e todas as demais configurações pertinentes a este adaptador de rede.
Neste exemplo, em todos os adaptadores de rede, mantive a nomenclatura estipulada "WAN_DHCP", "WAN2_DHCP" e "WAN3_DHCP") e atribuí as configurações de IP por DHCP do ativo/modem conforme figura abaixo.
Também personalizei meu "DASHBOARD" para exibir as informações que mais utilizo como "Service Status", "Firewall Logs" e "Gateways". Você pode personalizar a gosto com as informações que julgar necessário para sua administração.
CONFIGURANDO DNS DO pfSENSE E OS ENCAMINHADORES DA LAN
Por padrão, o pfSense recebe o servidor de DNS da conexão de internet default (modem - 127.0.0.1 e 10.1.1.1, demonstrado nas figuras anteriores). Ou seja, não é necessário configurar a saída do pfSense para internet. Porém, podemos configurar mais servidores de DNS do pfSense e também os encaminhadores da LAN.
Para configurar ou adicionar mais servidores de DNS ao pfSense, clicamos no menu "System" opção "General Setup".
No campo "Servers" preenchemos as oções "DNS Server" com os IPs do servidor de DNS desejados e "Use Gateway" por qual gateway (link de internet) você quer que o pfSense busque estes servidores de DNS.
Ex.:
- DNS Server: 8.8.8.8 / Use Gateway: WAN_DHCP (10.1.1.1)
- DNS Server: 8.8.4.4 / Use Gateway: WAN_DHCP (10.1.1.1)
- DNS Server: 200.176.2.10 / Use Gateway: WAN2_DHCP (10.1.2.1)
- DNS Server: 200.176.2.12 / Use Gateway: WAN3_DHCP (10.1.3.1)
Opções: configure da maneira que achar mais adequado a sua estrutura.
- "Allow DNS server list to be overridden by DHCP/PPP on WAN": Se esta opção for definida, o pfSense irá usar os servidores DNS atribuídos por um servidor DHCP/PPP em WAN para seus próprios fins (incluindo o encaminhador DNS). No entanto, eles não vão ser atribuídos aos clientes DHCP e PPTP VPN.
- Opção "Do not use the DNS Forwarder or Resolvers as a DNS server for the firewall": Por padrão, o localhost (127.0.0.1) será utilizado como o primeiro servidor de DNS onde o DNS Forwarder (resolução DNS da LAN) é habilitado e configurado para escutar no localhost. Assim o sistema utiliza o serviço de DNS local para realizar pesquisas. Se você marcar esta opção, será omitido o localhost (pfSense) da lista de servidores DNS.
Para configurar os encaminhadores de DNS da LAN, clicamos no menu "Services" opção "DNS Forwarder":
- "Enable DNS forwarder": marcar esta opção
- "Interfaces": ALL (para todos os gateway ou conforme sua necessidade)
- "Host Overrides": clicamos no botão "+" para adicionar os hosts e adicionamos as informações na tela "Edit DNS Forwarder entry"
Ex.:
Host: google-dns-a
Domain: google.com
IP address: 8.8.8.8
Description: Servidor 1 de DNS do Google
Host: google-dns-b
Domain: google.com
IP address: 8.8.4.4
Description: Servidor 2 de DNS do Google
Assim vamos preenchendo os encaminhados de DNS para a rede local.
Você pode adicionar nomes aos servidores, ativos e outros dispositivos internos de sua LAN, como por exemplo o servidor físico FreeNAS (192.168.1.200) ou o seus modens.
Ex.:
Host: storage
Domaim: localdomain
IP Address: 192.168.1.200
Description: Servidor FreeNAS Local
Host: modem1
Domain: localdomain
IP Address: 10.1.1.1
Description: Ativo de rede (Modem 1)
Host: modem2
Domain: localdomain
IP Address: 10.1.2.1
Description: Ativo de rede (Modem 2)
Para efetuar testes, basta abrir o browser e digitar no endereço: http://storage, http://modem1, http://modem2 e assim por diante.
Agora, utilize seus conhecimentos em firewall para implementar e adequar a solução a sua estrutura. Aqui temos o básico do pfSense instalado e configurado (com um ou mais links de internet) em máquina virtual em um host ESXi, pronto para ser implementado com regras e demais serviços necessários para controle do acesso a internet em sua rede local.
Dicas:
1) Se você nunca teve contato com pfSense ou teve dificuldades na instalação, recomendo a leitura deste artigo do Blog sejalivre.org -
Conhecendo e configurando o pfSense, que é um tutorial passo-a-passo sobre a instalação e configuração básica do pfSense.
[link acessado em 06/01/2015]
2) Se você deseja aprofundar seus conhecimentos no pfSense, indico o "Tutorial pfSense - Instalação e Configurações Básicas" do Instituto Federal de Educação, Ciências e Tecnologia da Bahia. Download em
https://cld.pt/dl/download/e1946c4f-499c-4961-b63a-179c2fb3526e/Livros%20Linux/pfSense_-_The_Definitive_Guide/tutorial_pfsense.pdf
[link acessado em 06/01/2015]
Por fim, este é o básico para instalação e configuração do pfSense em um host ESXi. Como já informei, temos esta solução virtualizada em algumas empresas de pequeno e médio porte, com diversos serviços como firewall, controle de conteúdo, VPN, balanceamento de carga, failover, relatórios informativos etc, tudo funcionando 100% sem falhas.
Aproveite!