Using VMWare ESXi and PFsense as a network firewall/router
Pfsense Vmware Fusion Software
Does the network exist? Is vmware fusion running? Is virtualbox running? Is the pfSense/gateway VM running? Does the pfSense LAN interface have the correct IP address? ' exit 1: else: echo ' added route to 172.16.2.0/24 via 172.16.1.1. ' fi # ##### exit 0. Go to VMware vsphere client, and start 'Install VMware Tools' onto the pfsense-VM, as usual, we need to mount the CD-ROM in order to get the VMware Tools executable. First, we create some tmp folders first for VMware Tools: cd / mkdir tmp2 mkdir tmpp. Mounting the CD-ROM to. This video tutorial shows how to install and configure pfSense 2.4.5 Firewall on VMware Workstation step by step. This tutorial is also helpful to installing.
In most networks, you will have dedicated hardware to function as your “edge” (firewall/router). This is typically for the best, but there are always cases where you can’t put out that dedicated hardware. Sometimes it’s for cost reasons and sometimes it’s for complexity. In my particular case, I was installing an ESXi server in a datacenter and only had 2 amps of power to work with, of which my server took up ~1.8amps at peak load. So cost came into play and we simply couldn’t afford to put in dedicated hardware that could push enough bits. In such cases, it is possible the setup ESXi on the network edge, in a reasonably secure fashion, with PFSense acting as a firewall.
The most important requirement to this project is that your VMWare ESXi server has at least two network ports on it. One will be the WAN port, one will be the LAN port. Also throughout this tutorial I will use PFSense as my firewall/router OS of choice, however it is just an example that can be easily swapped out with any other virtualized firewall product. Some options include Palo Alto Networks, Fortinet, and even generic *NIX operating systems with the right forwarding/firewall setup.
Section 1 – VMWare Setup
Step 1 – Install & Connect to ESXi
|Step 2 – Add new interface|
You want “Virtual Machine” type
|Step 3 – Select NIC|
You want to select your unused NIC (assuming you only have two)
|Step 4 – Name it|
This is your “WAN” interface
|Step 5 – Confirm you’ve got two networks|
You’ll notice that we’ve got two vSwitches now. The “LAN” switch has the Management network and is connected currently. The “WAN” switch has nothing, and the adapter is disconnected.
Section 2 – Virtual Machine Setup
|Step 1 – New VM|
|Step 2 – Typical Setup|
|Step 3 – Name your VM|
|Step 4 – Select Datastore|
|Step 5 – OS Type|
If you’re using PFSense, select “Other” and “FreeBSD 64bit”
|Step 6 – Two NICs|
Unlike most VMs with 1 NIC, add 2 NICs to this VM.
Make sure one adapter is on “WAN” network and one adapter is on “LAN” network.
|Step 7 – Allocated HD|
PFSense doesn’t need much space, but it should be allocated a 2:1 for swap (e.g. 4096 MB swap file for 2048 MB of RAM), plus some extra space for packages and logs may be useful.
|Step 8 – Edit before completion|
|Step 9 – Final settings|
As this is my firewall, I want to make sure it is plenty fast. So I opted for 4 cores and 2 GB RAM. Also attach the CD drive to PFSense installer (be it datastore ISO or real USB/Optical drive).
|Step 8 – Verify Network|
Hop back to Configuration > Networking and you should see something like this. Note: various VMs are all attached to the LAN vSwitch, however only PFsense VM is attached to both WAN & LAN (just like a real firewall).
|Step 9 – VM Startup|
Go to Configuration > VM Startup/Shutdown
|Step 10 – Set PFSense to first boot order|
You may have other VMs that you want to auto-start, but as this is your firewall, it should be the first to start.
Section 3 – PFSense
Pfsense Esxi Setup
|Step 1 – Install PFSense|
Once you’ve installed PFSense, it will automatically configure its local interface to 192.168.1.1
|Step 2 (Optional) – Change local network|
You can reconfigure the local network either via web interface (at the aforementioned IP: http://192.168.1.1) or command line
|Step 3 – Configure WAN|
Again, this can be configured either via the web, or command line.
|Step 4 – Plug in WAN cable|
|Step 5 – Test|
If you’ve got the ports configured properly (i.e. WAN hardware is WAN in VMWare and WAN in PFSense), you should be able to connect to the internet.
There are two big questions after building a setup like this, the first is security. Since PFSense is the host to provide an interface on the WAN, it should be the only method of ingress into your network. With no VMware management interface on the WAN, there should be no way for an outside party to access ESXi directly. I’ve used this setup successfully (and safely) before, as have others. However, you always need to balance your particular security concerns with the cost of dedicated devices.
The second question is remote management/maintenance/failure. Managing ESXi remotely is easy, if you setup a VPN on your PFSense VM. Without that (or similar) you will not be able to remotely manage the box (by design). But what happens if there is a failure either in the VMWare hardware or the PFSense virtual machine? That’s the big failing point of this setup – you’re down. If, for whatever reason, PFsense dies – your network is offline and you cannot remotely manage it. If this hardware is installed in a dateacenter, you’d need to either get in there yourself or remote hands reboot. Something to keep in mind when balancing the cost issue. OF course, if it’s local (say you use this at home), then it’s not such a big deal.
I will note that this is the setup I use in my home network, which doubles as my homelab. Having a VM for a firewall gives me a lot of flexibility, like adding an entirely separate vSwitched network for experimental VMs. I can also swap out the firewall VM for another one with next to no downtime. It also allows me to skip one more piece of hardware at home which would add to my otherwise hefty powerbill.
Pfsense Vmware Fusion Download