Install PFSense on a Digital Ocean Droplet

This article is a rewrite of the following Original and Updated Version only with a few thoughts and observations added.

The technique described here may or may not work on other cloud/vps providers, it is imperative that you have some kind of console access so you can follow the pfsense installation steps.

Start by logging in your Digital Ocean Dashboard then create a new droplet, it actually doesn’t matter the size of the droplet but it ideally it you should enable the following options:
1) Select FreeBSD 11.X, the exact version probably doesn’t matter 11.x or 12.x are fine
2) Enable “Private Networking”, it will be nicer in the long term when you setup a VPN then you’ll be able to access your DigitalOcean VMs like a big LAN.
3) Enable “IPv6”, because ipv6 its the future, better start adapting now rather than later.

While your VPS is starting, go to the pfsense download site https://www.pfsense.org/download/

The image that you need is ‘AMD64 (64-bit)’, ‘USB Memstick Installer’ and ‘VGA’ , find the download link ( there are many ways ) you will need this link on your VPS next

First log in to your VPS and write down the network information, this will come in handy when you are configuring your pfsense install for the first time, you can do it with the “ifconfig” command, write down the “hwaddr” “inet” and “inet6” information so you can use it later.

After taking notes, change user to root then run the next commands, you can substitute the DOWNURL variable to the link you found of the pfsense mirror


DOWNURL="https://nyifiles.pfsense.org/mirror/downloads/pfSense-CE-memstick-2.4.4-RELEASE-p1-amd64.img.gz"
cd /tmp
curl -O ${DOWNURL}
swapoff -a
sysctl kern.geom.debugflags=0x10
gunzip pfSense-CE-memstick-2.4.4-RELEASE-p1-amd64.img.gz
dd if=pfSense-CE-memstick-2.4.4-RELEASE-p1-amd64.img of=/dev/vtbd0
reboot

 
If all went well, log in to your droplet console in the Digital Ocean panel, you should see a pfsense installation starting.

Most of the install should be like a normal PFSense installation, except on the partitioning, when you get to this screen you must follow this steps:


Choose ‘Manual’
Delete everything listed EXCEPT for vtbd0, vtbd0s2 and vtbd0s2a
Highlight vtbd0 and press ‘C’ and choose ‘OK’
Select vtbd0s1 and press ‘C’
Change the mount point to “/” and choose ‘OK’
Choose ‘Finish’
Choose ‘Commit’

 
After this proceed the instalation as usual

Now all you have to do is reboot, open the VM console again, and fill the information with your notes about IP addresses and such.

Sources:

https://www.pickysysadmin.ca/2019/04/19/how-to-install-pfsense-in-digitalocean/
and https://squigly.blogspot.com/2018/02/running-pfsense-on-digitalocean-droplet.html