Install Open-VM-Tools package.
Add vmxnet_load="YES" to /boot/loader.conf
Copy vmxnet.ko to /boot/kernel/
Chmod to 0555
Replace old NICs with VMXNET2
0. If you don't already have a VM running pfSense, then create a new one. Otherwise you can safely skip to step 1.
Select the "Other" option in "Guest Operating System:" and choose "FreeBSD (32-bit)" or "FreeBSD (64-bit)"
I'd recommend the 64 bit version as it won't have the 4GB limit when it comes to traffic counters on your interfaces, same might hold true for other statistic counters elsewhere in pfSense.
(A small note, using the 32 bit version won't give you any fuctional issues, the various counters will just wrap when they reach 4GB and start over).
In the "Create Network Connections" section, choose at least two NICs (one for WAN and one for LAN traffic) but don't use the "Flexible" adapter if that option is on the list of adapters.
Instead use the "E1000" adapter for both interfaces (provides better spped and lower CPU usage).
Now start the new VM and load the pfSense iso of choice (32 or 64 bit) into the VM's CD/DVD drive. Install as you would normally, the E1000 adapters should show up as em0 and em1.
1. For this to work, it requires that the pfSense firewall have internet access on its WAN interface for downloading packages.
Hit up the web interface of your pfSense installation and go to the "System -> Packages" menu. Find the "Open-VM-Tools" package in the list and install it.
2. Go to the "Diagnostics -> Edit File" menu and browse for "/boot/loader.conf". Add the following at the end of the file if its not there already:
(a blank line at the end of the file might be needed for the system to read the file properly?
Anyway I've added one just to make sure, so haven't tested if this is really needed or not).
Remeber to save the file!
3. Open the console of the VM and hit "8" for the "Shell" option. Type
find /* |grep vmxnet.ko
and hit enter. Verify that a copy of vmxnet.ko is located in
if not, copy vmxnet.ko to that location from any other vmxnet.ko file present on the system.
In my case the earlier find command found a vmxnet.ko file in /usr/local/lib/vmware-tools/modules/drivers/
If you have the file located in the same place you can use this command to copy it to the proper location:
cp /usr/local/lib/vmware-tools/modules/drivers/vmxnet.ko /boot/kernel/
4. chmod the vmxnet.ko file to make it executable using this command:
chmod 0555 /boot/kernel/vmxnet.ko
When done type:
and hit enter.
At the pfSense console menu hit "6" (Halt system) to power off the VM.
5. Edit your VM configuration settings and remove all the NICs from the configuration. Save the changes and open the VM configuration settings again, this time add a new Ethernet Adapter. In "Adapter Type" this time choose "VMXNET2 (Enhanced)" Add as many NIC's as you need for your environment and make sure that all of them are the VMXNET2 (Enhanced) type. Save the VM configuration and power up the VM.
6. During the bootup of your pfSense firewall it'll prompt you to assign the new NICs do to "Network interface mismatch". The new interfaces should show up as vxnX (e.g. vxn0, vxn1 etc.)
Thats it and you're done.Edit
I forgot to add that this approach might also work for the 1.2 series of pfSense, but I haven't tested it.Tags: ESX ESXi Virtual Machine VMware Tools