Sitemap

Installing pfSense onto a VMware VM

6 min readAug 2, 2025

--

In this project I’m going to do a basic install pfSense on a Vmware VM and have it ready to filter incoming and outgoing traffic from another VM.

I downloaded the pfSense Community Edition iso file from https://www.pfsense.org/download/ and extracted it into a folder of my choosing.

Press enter or click to view image in full size
Press enter or click to view image in full size
I only just realised this says VirtualBox…

I like to have at least 20GB for any new VM, and I also like to store the virtual disk in one file because it’s easier to manage.

Press enter or click to view image in full size
  • Depending on how well you want it to run, you can have the memory and processors the same as mine. You can have it at less and it will still work fine.
  • I configured one network adapter to operate as ‘Bridged’. This will allow my internal Lubuntu host to get an IP address from my physical router at home.
  • The second network adapter is set to ‘Host-Only’.
  • You can also delete ‘USB Controller’ and ‘Sound Card’ as we will not need them.

Now we have to change our VMnet settings so that VMware VMnet doesn’t use DHCP for the internal hosts (the Lubuntu host). This pfSense firewall will act as the DHCP server.

  • I chose 192.168.2.0/24 as it was an unused.

CONFIGURING PFSENSE

Press enter or click to view image in full size
Press enter or click to view image in full size

In order to find the WAN interface, we have to find out what the MAC address is of the Bridged adapter. Note the options in the image above, one ends in ‘c3’, the other ends in ‘cd’.

Press enter or click to view image in full size

Therefore we should choose em0 as the WAN interface.

Press enter or click to view image in full size

Choose ‘Continue’.

If there were more interfaces, we would do the same process as above to find out the LAN interface, however since there is only one option, we will choose em1.

Press enter or click to view image in full size
  • I changed the IP address from 192.168.1.1/24 to 192.168.2.2/24. The reason I chose .2 was because I have another VM as .1.
  • I configured the DHCPD Range Start and End to be between 192.168.2.100–150. What this means is that when a device gets an IP address from the DHCP server (the pfSense firewall in this case), it will get an IP address between 192.168.2.100–150.

Choose ‘Install CE’.

Get Lumenyx’s stories in your inbox

Join Medium for free to get updates from this writer.

Community Edition (CE) is the free version of pfSense.

Press enter or click to view image in full size

I’m just going to stick with the defaults:

As I do not have multiple hard drives, I’m going to choose Stripe — No Redundancy:

I chose the most stable version:

Press enter or click to view image in full size

Now that it’s installed, for some reason the LAN IP address is different. Let’s change it to 192.168.2.2/24:

The reason I chose 192.168.2.0/24 was because I already have other VMs configured in 192.168.1.0/24.

I didn’t manage to get a screenshot but I did not configure IPv6. I also set the DHCP Pool IP address from 192.168.2.100–192.168.2.150 inclusive.

I have configured a Lubuntu VM (specs are below) which sits within my Host-Only network:

Press enter or click to view image in full size
Press enter or click to view image in full size
The Lubuntu VM’s IP address
It can successfully ping Google’s DNS Server
Press enter or click to view image in full size
Name resolution works too

The basic configuration of a pfSense firewall is now complete. You will notice that traffic from the Lubuntu VM has to go through the firewall first before it gets to my home network:

If you want to start configuring ACLs, you can do so by entering the firewall’s IP address in any browser. In our case, the IP address is 192.168.2.2.

You may get this type of error message. This is because the browser does not trust the certificate. This is okay as we configured it ourselves and it sits in our internal network. It is not a bad actor as it was literally configured by us.

You can bypass this screen by choosing ‘Advanced’ and then ‘Continue to Site’:

Press enter or click to view image in full size
Press enter or click to view image in full size

The default credentials are:

  • Username: admin
  • Password: pfsense

We will change the default password shortly.

Press enter or click to view image in full size
  • I configured the hostname to be pfSense-fw2.
  • I left the domain as the default. You can change it if you are configuring the firewall for a business but since this is a home lab I’ll leave it.
  • I configured 192.168.0.1 (home router) as my Primary DNS Server, and 8.8.8.8 (Google’s DNS server) as the Secondary DNS Server.
  • I unticked ‘Override DNS’, this means that pfSense will explicitly use the DNS servers that have been manually configured, regardless of any DNS servers provided by your ISP (or upstream connection on the WAN interface). You can have this checked if you want but I’m going to have it off.

Below let’s you sync the time with pfSense’s NTP server: 2.pfsense.pool.ntp.org:

Press enter or click to view image in full size

I’m going to leave this as the default:

Press enter or click to view image in full size

Keep this as the default as we configured it earlier:

Press enter or click to view image in full size

IMPORTANT: Configure a new admin password:

Press enter or click to view image in full size

The next step will have you reload the switch.

Now you’re ready to add your own rules!

--

--