O que é o pfSense?
PfSense é um firewall OpenSource baseado em FreeBSD, que permite fazer várias configurações, desde o básico como: NATs, Filers, Aliases e etc, até funções mais avançadas como: VPN IKE2 baseado em rotas ou politicas, BGP, IDs, IPS, etc.
Mais informações: https://www.pfsense.org/
Porque usar o pfSense no Azure?
O Azure forne gratuitamente os NSGs (Network Security Groups) que podem ser associados a cada NIC (Network Interfaces Card) das máquinas virtuais ou a uma subnet inteira da virtual network.
Porem, a utilização de NSGs em arquiteturas grandes ou complexas pode dificultar a administração posterior das regras, além de ser limitado apenas para regras inbound e outbound, não permitindo a implementação de recursos mais avançados.
Então implementar um firewall de borda é a melhor alternativa para controlar o acesso a toda sua arquitetura no Azure Cloud, inclusive se tiver várias VNets.
Por ser OpenSource, o pfSense apresenta uma das melhores relações Custos x Benefícios para arquiteturas pequenas e médias ( em alguns casos até para grandes escopos.)
Instalação do pfSense no Hyper-V on-premises
Máquina virtual geração 1
Disco Tamanho Fixo (32 GB ou mais)
Disco Tipo VHD
2 NICS (network interface card)
Desativar Checkpoints
Download pfSense: https://www.pfsense.org/download/
Criar máquina virtual do pfSense no Hyper-V onpremises.
01 – No Server Manager clique em Hyper-V Manager
02 – Na tela Hyper-V Manager, clique em New e Virtual Machine.
03 – Na tela Before You begin, clique em Next.
04 – Na tela Specify Name and Location, selecione um nome para a máquina virtual, local de armazenamento e clique em Next.
05 – Na tela Specify Generation, selecione a Generation 1 e clique em Next.
06 – Na tela Assign Memory, selecione a quantidade de memoria que sera alocada para máquina virtual e clique em Next.
07 – Na tela Configure Networking, selecione o switch virtual que deseja utilizar e clique em Next.
08 – Na tela Connect virtual hard Disk, selecione Attach a virtual hard disk later e clique em Next.
Teremos que criar um disco do tipo VHD com tamanho fixo.
09 – Na tela Summary, revise todas as configurações e clique em Finish.
Vamos criar o VHD para a máquina virtual VM-Firewall
10. Clique em New e Hard Disk.
11 – Na tela Before You Begin, clique em Next.
12 – Na tela Choose Disk Format selecione VHD.
13 – Na tela Choose Disk Type, selecione Fixed size e clique em Next.
14 – Na tela Specify Name and Location, selecione um nome para o disco e um local para armazenar o vhd.
15 – Na tela Configure Disk, selecione um tamanho para o disco.
Em nosso ambiente vamos criar um disco de 32 GB para o pSsense.
16 – Na tela Summary revise todas as configurações e clique em Finish.
17 – Observe que nossa máquina virtual foi criada com sucesso.
Agora vamos adicionar o vhd a máquina VM-Firewall.
18 – Clique com botão direito na VM-Firewall em seguida clique em Settings.
19 – Clique em IDE Controller 1 –> Hard Drive e Add.
20 – Em Virtual hard disk clique em Browse, selecione o vhd (disk-firewall) e clique em OK.
Agora vamos adicionar o segundo Network Adapter a nossa máquina virtual, essa adaptador será utilizado para rede LAN.
21 – Clique em Add Hardware –> Network Adapter e clique em Add.
22 – Clique no Network Adapter que adicionamos, clique em virtual switch e selecione o virtual switch referente a sua rede LAN.
Vamos adicionar a ISO do pfSense a máquina virtual
23 – Clique com botão direito na VM-Firewall, em seguida clique em settings , selecione DVD Drive e Image file, selecione a imagem do seu pfSense e clique em OK.
24 – Vamos desabilitar os Chekpoints da máquina virtual.
Clique em Settings, selecione a opção Management em Checkpoints desmarque a opção Enabled checkpoints.
Nossa máquina virtual já esta configurada.
Instalar o pfSense na máquina virtual
25 – Selecione a máquina virtual VM-Firewall, clique em Start e Connect.
25 – O processo de boot do pfSense foi iniciada como podemos observar na imagem abaixo, aguarde até a tela de instalação ser mostrada.
26 – Na tela pfSense Installer, selecione Accept.
27 – Selecione Install pfSense
28 – Selecione o keyboard Brazilian (accent keys), pressione Enter em Continue with default keymap.
29 – Na opção Partitioning, selecione Auto (UFS) Guided Disk Setup.
30 – Em Manual Configuration, clique em No.
31 – A instalação está completa vamos dar um Reboot na máquina.
32 – A máquina vai reiniciar e voltar para tela de instalação, desligue a máquina e remova a ISO de instalação do pfSense.
33 – Para remover a ISO do pfSense clique em Media, DVD Drive e Eject pfSense.
Nosso pfSense foi instalado com sucesso.
Configurar as interfaces LAN e WAN
34 – Na tela de configuração de VLANs selecione n (Não), em nosso cenário não vamos utilizar VLANs.
35 – Selecione as interfaces WAN e LAN, digite hn0 para a interface WAN e hn1 para a interface LAN e digite y (yes) para salvar as configurações.
36 – A Interface WAN recebeu o endereço IP por DHCP e foi atribuído um endereço IP default do pfSense (192.168.1.1) a nossa interface LAN.
O pfSense por padrão bloqueia os acessos a interface WAN, o acesso a página de configuração deve ser feito pela interface LAN, vamos colocar um endereço IP no pfSense da nossa rede local, assim teremos acesso ao webConfigurator do pfSense.
37 – Vamos alterar o endereço IP default da rede LAN do pfSense.
Vamos selecione a opção 2 que é referente a opção Set interface(s) IP address e pressionar Enter.
38 – Selecione o número da interface que deseja alterar, nesse caso vamos alterar a interface 2 que é referente a interface LAN.
39 – Digite o endereço IP que deseja utilizar na interface LAN, em nosso exemplo vamos utilizar o endereço 10.0.0.254/24 e pressione enter para as configurações de upstream gateway address e LAN IPv6 address.
40 – Quando foi perguntado se deseja habilitar o servidor DHCP na LAN escolha n (Não).
Para utilizarmos nosso pfSense no azure nossa interface LAN não pode está com o DHCP habilitado, quem distribui DHCP para as máquinas virtuais é o próprio azure.
41 – Na opção Do you want to revert to HTTP as the webconfigurator prtocolo, selecione y (yes).
43 – Pressione enter para continuar, e observe que o endereço de acesso as configurações do pfSense é (http://10.0.0.254/), iremos utilizar esse endereço IP para realizar as configurações do pfSense pelo navegador.
Para acessar as configurações do pfSense pelo navegador teremos que atribuir um endereço IP estático a placa de rede do nosso computador no mesmo range de IPs do pfSense, como desabilitamos o DHCP na interface LAN a configuração de endereço IP deve ser feita manual.
42 – Clique em Open Network & Internet settings.
43 – Clique em Ethernet e Change adpater options.
44 – A tela Network Connections será aberta
O comando ncpa.cpl também abra o Network Connections.
45 – Altere os nomes das interfaces para WAN e LAN para melhor entendimento, a interface WAN vai esta com endereço IP atribuído por DHCP fornecido por nosso modem de internet e a interface LAN esta recebendo um endereço IP APIPA.
46 – Clique na interface WAN, status e Details e observe que a interface WAN está recebendo IP por DHCP.
47 – Clique na interface LAN, Status e Details e observe que a interface LAN está recebendo o endereço IP APIPA.
46 – Vamos adicionar o endereço IP 10.0.0.1/24 a nossa interface LAN, após adicionarmos o endereço IP a LAN já poderemos acessar a página web do nosso pfSense.
Clique em LAN, Properties, Internet Protocol Version 4 (TCP/IPv4), Properties, em Use the following IP address digite o endereço IP 10.0.0.1, em Subnet mask digite 255.255.255.0 e clique em OK.
47 – Vamos acessar a página web do pfSense digitando o endereço IP http://10.0.0.254 em nosso navegador.
48 – Vamos logar no pfSense com o suário e senha padrão.
usuário: admin
Senha: pfsense
Após logarmos pela primeira vez no pfSense o Setup Wizard será aberto
49 – Na tela pfSense Setup clique em Next.
50 – Na tela Netgate Global Support is available, clique em Next.
51 – Na tela General Information, selecione um nome para o pfSense, um nome de domínio, o endereço IP dos servidores DNS e clique em Next.
52 – Selecione o Timezone de acordo com sua região, em nosso exemplo vamos utilizar o America/Bahia.
53 – Na tela Configure WAN Interface desmarque as seguintes opções:
Block private networks from entering via WAN
Block non-Internet routed networks from entering via WAN
54 – Na tela Configure LAN Interface não vamos fazer nenhuma alteração, clique em Next.
55 – Na tela Set Admin WebGui Password, vamos alterar a senha default do pfSense.
56 – Na tela Reload configuration, clique em Reload.
57 – Finalizamos o wizard do pfSense.
58 – Baixe e instale o software putty.
Link para download https://www.putty.org/
59 – Selecione Enabled Secure Shell (sshd) para habilitar o acesso por ssh ao pfSense
A seguinte mensagem será apresentada:
SSHD está atualmente desativado. Você gostaria de habilitar?
Selecione y (yes)
59 – Execute o software putty, digite o endereço IP 10.0.254, será solicitado o usuário e senha do pfSense.
Agora já estamos conectados no pfSense por SSH.
Agora vamos instalar o Microsoft Azure Linux Agent em nosso pfSense
O Microsoft Azure Linux Agent (waagent) gerencia o provisionamento de Linux & FreeBSD e a interação de VM com o Azure Fabric Controller. Além doLinux Agent fornecendo a funcionalidade de provisionamento, o Azure também fornece a opção de usar a inicialização de nuvem para alguns OSes Linux.
Acesse o link https://github.com/Azure/WALinuxAgent para mais informações.
60 – Vamos selecionar a opção 8 que é referente ao Shell.
61 – Vamos atualizar os pacotes do pfSense com o seguinte comando:
pkg upgrade -y
62 – Vamos instalar os pacotes sudo, bash e git
pkg install -y sudo bash git
63 – Agora vamos criar um link para o python
ln -s /usr/local/bin/python3.7 /usr/local/bin/python
64 – Vamos fazer um git clone do WALinuxAgent.
git clone https://github.com/Azure/WALinuxAgent.git
65 – Podemos ver todas as versões do WALinuxAgent com o seguinte comando:
cd WALinuxAgent
git tag
Vamos utilizar a ultima versão disponível:
66 – Execute o seguinte comando:
git checkout v2.2.49.2
Agora nossa instalação do WALinuxAgent está na ultima versão.
67 – O comando python setup.py install executa a instalação do WALinuxAgent.
python setup.py install
68 – Vamos criar um link do WALinuxAgent para fazermos a execução.
ln -sf /usr/local/sbin/waagent /usr/sbin/waagent
69 – Vamos verificar se o waagent foi instalado.
waagent version
Configurar Rotas (Outbound NAT)
70 – Clique em Firewall, NAT, Outbound, Hybrid Outbound NAT e clique em Save e Apply Changes.
71 – Vamos criar as seguintes regras de NAT.
Clique em Firewall, NAT, Outbound e Add
72 – Para opção Interface selecione WAN, protocolo selecione TCP, em source digite o range de IP 10.0.0.0/16, esse é o range de IP é da nossa virtual network no azure.
OBS: Se essa regra não for criada as máquinas virtuais atrás do firewall não conseguiram acessar a internet.
73 – Clique em Save e Apply Changes, observe como nossa regra ficou configurada.
Vamos configurar as regras de firewall que permite que o pfSense seja utilizado no Azure
74 – Vamos liberar o acesso ao firewall pela internet, para isso vamos liberar o acesso a porta 80.
Clique em Firewall, Rules, WAN e Add
No campo Interface selecione a interface WAN, escolha o protocolo TCP, em source selecione any, em Destination selecione This firewall (self) e destination Port Range escolha HTTP (80).
75 – Clique em Save e Apply Changes, observe como nossa regra ficou configurada.
Agora que liberamos o acesso do pfSense para WAN já podemos acessar nosso firewall pela internet.
76 – Em seu navegador digite o endereço IP da interface WAN do pfSense e observe que já temos acesso ao pfSense pela internet.
Cole o endereço IP 192.168.15.53 em seu navegador.
77 – Clique em Firewall, Rules e observe que temos trafego na interface WAN.
78 – Para podermos acessar nosso pfSense no azure pelo IP publico, teremos que desabilitar o Browser HTTP_REFERER enforcement
Clique em System, Advanced e desmarque a opção Browser HTTP_REFERER enforcement
79 – Vamos criar a regra para a interface LAN.
Clique em Firewall, Aliases e Add
80 – Selecione um nome para o aliases, em Type selecione Network, na opção Network or FQDN selecione o range de IP da virtual network do azure 10.0.0.0/16 e clique em Save.
81 – Clique em Apply Changes, observe como nosso aliases ficou configurado.
82 – Agora vamos configurar a regra para rede LAN, clique em Firewall e Rules.
83 – Em protocol selecione any, em source selecione Single host or alias, selecione LAN_Network em Destination selecione Single host or alias selecione LAN_Network, clique em Save e Apply Changes.
84 – Mova a regra que criamos para baixo da regra default, segure e arraste para mover.
85 – Clique em Add para adicionar uma segunda rede, em protocolo selecione Any, em Source selecione Single host or alias e LAN_Network, em Destination marque Invert match e selecione Single host or alias e LAN Network, clique em Save e Apply Changes.
Essa regra permiti que as máquinas na rede LAN possam acessar a internet.
OBS: As regras de firewall devem ser definidas de acordo com a sua necessidade.
Vamos alterar o tipo de configuração IPv4 da interface LAN para DHCP
86 – Clique em Interfaces e selecione a LAN
87 – Na tela de General Configuration em IPv4 Configuration Type selecione DHCP, clique em Save e Apply Changes.
Quando subirmos essa máquina para o Azure será associado um endereço IP dinâmico para LAN e um para WAN de acordo com nossas configurações da virtual network.
OBS: Quando aplicarmos essa configuração perderemos acesso ao portal web do pfSense pela rede LAN.
88 – Desligue o PfSense, selecione a opção 6 halt system, digite y (yes)
Criar um Azure Storage account
Um storage account contém todos os seus objetos de dados do Armazenamento do Azure: blobs, files, queues, tables e disks. O storage account fornece um namespace exclusivo para seus dados de Armazenamento do Azure que pode ser acessado de qualquer lugar do mundo por HTTP ou HTTPS. Os dados em sua conta de armazenamento do Azure são duráveis e altamente disponíveis, seguros e extremamente escalonáveis.
88 – Vamos criar um resource group para o storage account com o seguinte comando:
O comando abaixo cria um grupo de recursos chamado RG-Storage localizado no leste dos Estados Unidos.
New-AzResourceGroup -Name RG-Storage -Location EastUS
Observe na imagem abaixo a execução do comando.
88 – Em seguida vamos criar um storage account v2 de uso geral com armazenamento localmente redundante.
Lembre-se de que o nome da sua conta de armazenamento deve ser exclusivo no Azure.
Execute o seguinte script para criar um storage account:
# Variaveis
$resourceGroup = “RG-Storage”
$location = “EastUS”
# Criar storage account
New-AzStorageAccount -ResourceGroupName $resourceGroup `
-Name stovmpfsense `
-Location $location `
-SkuName Standard_LRS `
-Kind StorageV2
Observe na imagem abaixo a execução do script
89 – Faça login no portal do Azure
90 – Clique no RG-Storage e observe que nosso storage account foi criado com sucesso.
Vamos criar um contêiner para armazenar o VHD do pfSense
Blobs são sempre carregados em um contêiner, você pode organizar grupos de blobs da mesma forma que organiza seus arquivos no computador em pastas.
90 – No portal do azure pesquise por storage account
91 – selecione o storage account stovmpfsense
92 – Na tela stovmpfsense vá até Blob service e selecione Containers.
93 – Clique em + Container, crie um nome para o container, em Public access level selecione Blob (anonymous read access for blobs only) e clique em Create.
94 – Observe que nosso container foi criado.
Agora vamos fazer o upload no VHD do pfSense para o Azure
95 – Para fazer o upload do VHD do pfSense para o Azure vamos utilizar o software Microsoft Azure Storage Explorer
Link para download: https://azure.microsoft.com/pt-br/features/storage-explorer/
96 – Para iniciar a instalação do Azure Storage Explorer execute o instalador StorageExplorer.exe
97 – Na tela Select install mode, clique em Install for all users.
98 – Na tela Licence Agreement, clique em I accept the agreement e clique em Install.
99 – Na tela Select Destination Location, deixe o local de instalação padrão e clique em Next.
100 – Na tela Select Start Menu Folder, deixe a configuração padrão e clique em Next.
101 – A instalação do Azure Storage Explorer foi concluída, clique em Finish.
102 – Execute o Azure Storage Explorer
103 – Na tela Connect to Azure Storage, selecione Add an Azure Account, em Azure enviromment selecione Azure e clique em Next.
104 – Faça login com uma conta do Azure.
105 – Selecione a assinatura que deseja utilizar.
106 – Selecione o storage account que criamos “stovmpsense”, clique em Blob containers, selecione o vm-pfsense, clique em Upload e Upload Files
107 – Selecione o VHD que deseja fazer upload, em tipo de blob selecione Page Blob e clique em Upload.
108 – Nosso VHD já está sendo transferido para o storage account no Azure.
109 – O processo de transferência do VHD para o storage account no azure foi finalizado.
Agora vamos criar um disco gerenciável
111 – Vamos criar o resource RG-Security com o seguinte comando:
New-AzResourceGroup -Name RG-Security -Location EastUS
112 – Pesquise no Marketplace por Managed disks.
113 – Na tela Create a managed disk, selecione o resource group RG-Security, digite um nome para o disco, vamos nomeá-lo de vm-firewall-osDisk, em Source type selecione Sorage blob.
Na opção Source blob clique em Browse e navegue até o storage account stovmpsense, selecione o container vm-pfsense e selecione o arquivo disk-firewall.vhd.
Em OS type selecione Linux, em VM generation selecione a opção Gen 1, na opção Size clique em Change size e selecione Standard HDD e size 32 GiB.
A escolha do storage type depende da necessidade do seu projeto em nosso caso como é um ambiente de laboratório estamos utilizando Standard HDD por ser mais barato.
Deixe as demais configuração como padrão e clique em Review + create.
114 – Na tela Review + create revise se todas configurações realizadas estão corretas e clique em create.
115 – Clique no resource group RG-Security e observe que nosso disco foi provisionado.
Vamos criar a virtual network e as subnets LAN-pfSense, WAN-pfSense e LAN
A subnet WAN-pfSense terá o IP publico do pfSense atribuído a ela, a subnet LAN-pfSense será a rede de comunicação do pfSense com os serviços do Azure como Rote table e a rede LAN será utilizada para as máquinas virtuais e outro recursos.
116 – Crie o resource group RG-Networking
New-AzResourceGroup -Name RG-Networking -Location EastUS
117 – Execute o script abaixo para criar a virtual network Vnet-firewall e as subnets LAN-pfSense, WAN-pfSense, LAN
## Create virtual network e duas subnets ##
# Variáveis
$Resourcegroup = “RG-Networking”
$Location = “EastUS”
$Vnet = “Vnet-firewall”
$Sub1 = “LAN-pfSense”
$Sub2 = “WAN-pfSense”
$Sub3 = “LAN”
# Criar virtual network
$virtualNetwork = New-AzVirtualNetwork -ResourceGroupName $Resourcegroup -Location $Location -Name $Vnet -AddressPrefix 10.0.0.0/16
# Adicionar uma subnet
$subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name $Sub1 -AddressPrefix 10.0.1.0/24 -VirtualNetwork $virtualNetwork
#Adicionar uma segunda subnet
$subnetConfig2 = Add-AzVirtualNetworkSubnetConfig -Name $Sub2 -AddressPrefix 10.0.2.0/24 -VirtualNetwork $virtualNetwork
#Adicionar uma segunda subnet
$subnetConfig3 = Add-AzVirtualNetworkSubnetConfig -Name $Sub3 -AddressPrefix 10.0.3.0/24 -VirtualNetwork $virtualNetwork
# Associar a subnet à virtual network
$virtualNetwork | Set-AzVirtualNetwork
117 – Clique no no resource group RG-Networking e observe que nossa virtual network e subnets foram criadas.
Criar a máquina virtual do pfSense
118 – Execute o script abaixo para criar a máquina virtual do pfSense utilizando o disco gerenciado vm-firewall-osDisk
## Variaveis ##
$ResourceGroupName = “RG-Security”
$vnetResourceGroupName = “RG-Networking”
$vnetName = “Vnet-firewall”
$location = “East US”
$vmName=”vm-firewall”
$vmSize=”Standard_B2s”
$osDiskName = “vm-firewall-osDisk”
$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $vnetResourceGroupName
$pubip = New-AzPublicIpAddress -Name “vm-firewall-wan-ipp” -ResourceGroupName $ResourceGroupName -Location $location -AllocationMethod Static
$nic1 = New-AzNetworkInterface -Name “vm-firewall-wan-nic” -ResourceGroupName $ResourceGroupName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pubip.Id -EnableIPForwarding
$nic2 = New-AzNetworkInterface -Name “vm-firewall-lan-nic” -ResourceGroupName $ResourceGroupName -Location $location -SubnetId $vnet.Subnets[1].Id -EnableIPForwarding
$osDisk = Get-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $osDiskName
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize $vmSize
$vm = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic1.Id
$vm = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic2.Id
$vm = Set-AzVMOSDisk -VM $vm -ManagedDiskId $osDisk.Id -StorageAccountType Standard_LRS -DiskSizeInGB 32 -CreateOption Attach -Linux
$vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true
Set-AzVMBootDiagnostic -VM $vm -Disable
New-AzVM -ResourceGroupName $ResourceGroupName -Location $location -VM $vm -Verbose
Observe na imagem abaixo a execução do script para criar a máquina virtual.
119 – Como podemos observar na imagem abaixo nossa máquina virtual foi provisionada.
Próximo passo será testar o acesso externo ao pfSense
120 – Clique na máquina virtual vm-firewall, copie o Public IP address e cole em seu navegador.
Vamos criar uma máquia virtual
Posteriormente tentaremos conectar nessa máquia por RDP utilizando o IP publico do pfSense.
121 – Vamos criar uma máquina virtual sem IP publico e network security group, já que todo o acesso a VM deve passar pelo nosso firewall pfSense.
O script abaixo cria uma máquina virtual e associa a subnet LAN
# Definindo as variáveis de rede
$vnetResourceGroupName = “RG-Networking”
$ResourceGroup = “RG-WEB”
$Location = “EastUS”
$vNetName = “Vnet-firewall”
$SubnetName = “LAN”
# Definindo as variáveis da máquina virtual
$vNet = Get-AzVirtualNetwork -ResourceGroupName $vnetResourceGroupName -Name $vNetName
$Subnet = Get-AzVirtualNetworkSubnetConfig -Name $SubnetName -VirtualNetwork $vNet
$vmName = “VM-01”
$pubName = “MicrosoftWindowsServer”
$offerName = “WindowsServer”
$skuName = “2016-Datacenter”
$vmSize = “Standard_DS2_v2”
$pipName = “$vmName-pip”
$nicName = “$vmName-nic”
$osDiskName = “$vmName-OsDisk”
$osDiskType = “Standard_LRS”
# Definindo as credenciais de administrador
$adminUsername = ‘jadson.alves’
$adminPassword = ‘Pa$$w0rd.qwe1234’
$adminCreds = New-Object PSCredential $adminUsername, ($adminPassword | ConvertTo-SecureString -AsPlainText -Force)
# Criando interface de rede NIC
$nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $ResourceGroup -Location $location -SubnetId $Subnet.Id
# Adicionando as configurações da máquina virtual
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize $vmSize
Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id
# Setando os parâmetros do sistema operacional
Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmName -Credential $adminCreds
# Setando a imagem utilizada na máquina virtual
Set-AzVMSourceImage -VM $vmConfig -PublisherName $pubName -Offer $offerName -Skus $skuName -Version ‘latest’
# Setando as configurações de disco
Set-AzVMOSDisk -VM $vmConfig -Name $osDiskName -StorageAccountType $osDiskType -CreateOption fromImage
# Desabilitando o diagnóstico de boot
Set-AzVMBootDiagnostic -VM $vmConfig -Disable
# Criando a máquina virtual
New-AzVM -ResourceGroupName $ResourceGroup -Location $location -VM $vmConfig
122 – Observe na imagem abaixo que nossa máquia virtual foi criada no resource group RG-WEB sem ip publico e network security group como definimos no script
Agora vamos configurar a rota da subnet LAN para o pfSense
Todo o trafego da rede LAN devera passar pelo pfSense
123 – No portal do azure pesquise por Route tables
124 – Na tela Route tables, clique em Create route table.
125 – Selecione o resource group RG-Networking, em região selecione East US e escolha um nome para tabela de rota, em nosso exemplo vamos usar Route-firewall, clique em Review + create.
126 – Na tela Review + create, clique em Create.
127 – Selecione o resource group RG-Network e clique no Route-firewall
128 – Em seguida clique em Routes e + Add
129 – Digite um nome para a rota, em nosso exemplo vamos utilizar o nome all-to-fw, em Address prefix digite 0.0.0.0/0 esse endereço IP é referente a qualquer endereço IP, em Next hop selecione virtual appliance, em Next hop address digite o endereço IP do pfSense da rede LAN-pfSense (10.0.2.4).
Tudo que for com destino a qualquer endereço IP vamos enviar para o firewall pfSense.
130 – Como podemos observar na imagem abaixo nossa rota está criada.
131 – Agora vamos associar a rota a subnet LAN, clique em subnets, + Associate, selecione a virtual network e subnet que deseja associar a rota, nesse exemplo vamos associar a subnet LAN.
Com essa configuração nossas máquinas virtuais que estiverem associadas a subnet LAN terão acesso a internet passando pelo firewall pfSense
Configurar o NAT para liberar acesso aos servidores no azure por RDP
Vamos criar uma regra no pfSense para liberar o acesso a porta 3389 (RDP)
132 – Clique em Firewall, NAT e Add
Na opção Protocol selecione TCP, em source clique em Display Advanced e selecione Any, em Destination selecione WAN address, em destination port range selecione other, digite a porta que preferir em nosso exemplo vamos utilizar a porta 55522, Em Redict target IP digite o endereço IP do servidor VM-01 (10.0.3.4), em Redirect targe port selecione other e digite a porta 3389.
Nessa regra estamos dizendo que tudo que chegar na WAN address na porta 5522 direcione para o endereço IP 10.0.3.4 na porta 3389
133 – Agora vamos testar o acesso a VM-01 via RDP
Abra a conexão de Área de Trabalho Remota e digite o endereço IP publico do pfSense com dois pontos, conforme está sendo ilustrado na imagem abaixo.
Como podemos observar na imagem abaixo já temos acesso ao nosso servidor VM-01, as credências de administrador da máquina está sendo solicitado.
Como podemos observar na imagem abaixo fizemos o acesso a nossa máquina virtual por RDP e a mesma também está com acesso a internet.
Espero que este conteúdo tenha contribuído com o enriquecimento do conhecimento de vocês em Azure e Office 365.
Tem alguma sugestão ou observação, comente.
Forte abraço, obrigado e até o próximo post. 🙂
Carreira desenvolvida na área de tecnologia da informação, com ampla experiência em Cloud
Computing e Cloud Security.
Forte atuação em projetos de Cloud Security no Microsoft Azure e com tecnologias de
segurança do Microsoft 365.
Tenho Experiência em Microsoft Azure, Microsoft 365, AWS e Windows Server.
Sou Microsoft MVP na categoria Microsoft Azure, AWS Communit Builder Security & Identity e
MCT.
Excelente artigo, riquíssimo em detalhes. Precisei seguir esta ideia para conectar o nosso escritório a um cliente que exigia somente VPN S2S.
Muito obrigado pelo compartilhamento. Sucesso!
Fico feliz em poder ajudar Vinicius, forte abraço.
Sucesso!!!
Thanks a lot for this create work instruction. This is the first one I found where I can succesfully install the WALinuxAgent on the newest version of Pfsense. I now have running the PFsense firewall in Azure 🙂
Hi,
I’m very happy to be able to help.
Strong hug, success always !!!
Gostei da parte do WALinux
Vou levantar esse ambiente por aqui..
Valeu irmão
Fico feliz que tenha gostado irmão.
Valeu irmão!
Ambiente levantando com sucesso!
Valeu brother!
Olá, Diego.
Fico feliz que o artigo tenha te ajudado.
Sucesso!!!