pfSense Community Edition on Azure with 2 NICs

Written by James McDonald

September 23, 2023

$vnetName = "tgn-vnet"

# storage account append the SAS to this url if you are copying from another Account
$vhd = 'https://tgnvhddisk.blob.core.windows.net/vhd/TGN-PFS-01.vhd'
 
$pfsenseResourceGroupName = "tgn-rg"

$storageAccountName = "tgnvhddisk"

$frontendSubnet = "front"
 
$backendSubnet = "back"

$frontNic = "tgn-pfs-front-nic-01"

$backNic = 'tgn-pfs-back-nic-01'
 
$publicIpName = "tgn-pfs-pip-01"

$vnetResourceGroup = $pfsenseResourceGroupName

$vmName = "tgn-pfs-vm-01"
 
$vmSku = "Standard_B1ms"

$managedDiskName = "tgn-pfs-disk-01"

$storageAccount = Get-AzStorageAccount -Name $storageAccountName `
    -ResourceGroupName $pfsenseResourceGroupName
 
$storageAccountId = $storageAccount.Id
 
$location = $storageAccount.PrimaryLocation
  
$diskConfig = New-AzDiskConfig -SkuName Standard_LRS -Location $location -CreateOption Import `
    -StorageAccountId $storageAccountId `
    -SourceUri $vhd
 
New-AzDisk -Disk $diskConfig -ResourceGroupName $pfsenseResourceGroupName -DiskName $managedDiskName

$disk = Get-AzDisk -DiskName $managedDiskName -ResourceGroupName $pfsenseResourceGroupName
 
$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $vnetResourceGroup
 
$frontendId = (Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $frontendSubnet).Id

$backendId = (Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $backendSubnet).Id
 
$virtualMachine = New-AzVMConfig -VMName $vmName -VMSize $vmSku

$pubip = New-AzPublicIpAddress -Name $publicIpName -ResourceGroupName $pfsenseResourceGroupName `
    -Location $location -AllocationMethod Static
 
$virtualMachine = Set-AzVMOSDisk -VM $virtualMachine -ManagedDiskId $disk.Id -CreateOption Attach -Linux
 
$frontendNic = New-AzNetworkInterface -Name $frontNic -ResourceGroupName $pfsenseResourceGroupName `
    -Location $location -SubnetId $frontendId -PublicIpAddressId $pubip.Id
 
$backendNic = New-AzNetworkInterface -Name $backNic -ResourceGroupName $pfsenseResourceGroupName `
    -Location $location -SubnetId $backendId
 
$virtualMachine = Add-AzVMNetworkInterface -VM $virtualMachine -Id $frontendNic.Id -Primary
$virtualMachine = Add-AzVMNetworkInterface -VM $virtualMachine -Id $backendNic.Id
 
Set-AzVMBootDiagnostic -VM $virtualMachine -Enable
 
New-AzVM -VM $virtualMachine -ResourceGroupName $pfsenseResourceGroupName -Location $location

0 Comments

Submit a Comment

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

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.

You May Also Like…

Robocopy exclude Directories

Just trying to copy everything except a couple of directories from a drive to my NAS This is the secret incantation of...