Skip to content
vWorld
Menu
  • Main Page
  • About
  • Study Guide
    • VCAP-CMA Deploy 2018
Menu

Complete pfSense 2.7.2‑RELEASE configuration for a VMware Cloud Foundation 9 home lab

Posted on July 9, 2025July 9, 2025 by admin

Introduction
In the previous post, I showed how to deploy VMware Cloud Foundation 9 in a home lab. This time, we move to the network layer—you’ll see, step by step, how I set up pfSense 2.7.2-RELEASE to serve the entire VCF environment: VLANs, NAT, DHCP, NTP, and (for now, inactive) BGP peerings to NSX-T Edge.


Table of contents

  1. Hardware requirements & topology
  2. Installation & first login
  3. General settings
  4. Secure administrative access
  5. Interface assignment
  6. VLANs on the trunk port
  7. DHCP servers
  8. Outbound NAT
  9. Firewall rules
  10. FRR + BGP
  11. NTP server
  12. System tunables
  13. Backup & versioning
  14. Final tests
  15. Summary

1  Hardware requirements & topology

Virtual machine (e.g., running on ESXi/HomeLab):

Virtual NICRolevSwitch / PortGroupMTU
vmx0WANWAN (192.168.100.0/24)9000
vmx1trunk (802.1Q)Lab‑TRUNK9000
vmx2access networkVCF_LOCAL (172.16.10.0/24)9000

💡 Jumbo frames (MTU 9000) reduce CPU usage and packet count for vMotion/vSAN.

Diagram:

                Internet / Upstream
                         │
                   ┌─────┴─────┐
                   │  pfSense  │
 ┌──── 192.168.100.0/24 ────┤ vmx0 (WAN)
 │                          │
 └──── 172.16.10.0/24 ──────┤ vmx2 (VCF_LOCAL)
                   │
             vmx1 trunk (VLAN 20–81)

2  Installation & first login

  1. Import the pfSense 2.7.2‑RELEASE ISO and create a new VM (FreeBSD 64‑bit).
  2. Allocate 2 vCPU / 4 GB RAM / 20 GB disk (add more if you plan IDS/IPS).
  3. After installation, browse to https://192.168.1.1 and log in with admin / pfsense.
  4. Skip the wizard (Click here to bypass) and change the admin password immediately.

3  General settings (System ► General Setup)

FieldValueComment
Hostnamevcf-rtrconsistent naming for automation
Domainvcf.vworld.labprivate lab domain
Primary DNS8.8.8.8fallback—VCSA/AD will become primary later
Time zoneEurope/Warsawaligns with ESXi hosts
NTP servers0.pl.pool.ntp.org 1.pl.pool.ntp.org 2.pl.pool.ntp.orgthree sources for redundancy

Click Save ► Apply.


4  Secure administrative access

  1. Navigate to System ► Advanced ► Admin Access.
  2. Under WebGUI, select HTTPS and click Add ► Create internal to generate a self‑signed certificate.
  3. Enable Secure Shell (tab Secure Shell)—a handy feature for backups and troubleshooting.

🛡️ The GUI will only be reachable from WAN after you add the rule in step 9.


5  Interface assignment

  1. Open Interfaces ► Assignments.
  2. Keep the WAN mapped to vmx0.
  3. Click Add twice to add vmx1 and vmx2.
  4. Configure as follows:
InterfaceDescriptionIPv4 TypeAddress / PrefixMTU
vmx0WANStatic192.168.100.145/24 (Gateway 192.168.100.4)9000
vmx1LAN‑TRUNKNone–9000
vmx2VCF_LOCALStatic172.16.10.1/249000

Click Save ► Apply.


6  VLANs on the trunk port (vmx1)

Create the following VLANs under Interfaces ► Assignments ► VLANs ► Add and then assign each vmx1.x MTU 9000:

TagDescriptionGateway IP
20vMotion172.16.20.1/24
30vSAN172.16.30.1/24
40Overlay172.16.40.1/24
50Supervisor172.16.50.1/24
60ESX_MGMT172.16.60.1/24
70VCF_MGMT172.16.70.1/24
80T0UPLINK01172.16.80.1/24
81T0UPLINK02172.16.81.1/24

7  DHCP servers (Services ► DHCP Server)

NetworkRangeGatewayDNS
VCF_LOCAL 172.16.10.0/24172.16.10.100‑200172.16.10.1172.16.10.10
Overlay 172.16.40.0/24172.16.40.10‑200172.16.40.1172.16.10.10
Supervisor 172.16.50.0/24172.16.50.10‑200172.16.50.1172.16.10.10
ESX_MGMT 172.16.60.0/24172.16.60.100‑200172.16.60.1172.16.10.10

❌ No DHCP on VCF_MGMT—management components will get static addresses.


8  Outbound NAT

  • Firewall ► NAT ► Outbound → set mode to Hybrid.
  • Add a rule: Interface WAN, Source 172.16.0.0/12, Translation Interface address.

9  Firewall rules

9.1  WAN

ActionSourceDestinationProtoDescription
Pass192.168.100.0/24172.16.10.0/24anyVCF_LOCAL
Pass192.168.100.0/24172.16.40.0/24anyOverlay
Pass192.168.100.0/24172.16.50.0/24anySupervisor
Pass192.168.100.0/24172.16.60.0/24anyESX_MGMT
Pass192.168.100.0/24172.16.70.0/24anyVCF_MGMT
Passany(self) 123UDPNTP to pfSense
Passany(self)ICMPPing
Pass192.168.100.0/24192.168.100.145 443TCPGUI HTTPS

9.2  Internal networks

Add a single “Allow all” rule on each internal interface.


10  FRR + BGP

  1. Install FRR 2.0. x from the Package Manager.
  2. FRR Global: enable, set Router ID 192.0.2.2.
  3. BGP: enable, Local ASN 65000, redistribute connected / static / kernel.
  4. Add neighbors:
NeighborRemote ASNDescription
172.16.80.265001Edge‑Uplink‑01
172.16.81.265001Edge‑Uplink‑02
172.16.80.365001Edge‑Uplink‑01‑b
172.16.81.365001Edge‑Uplink‑02‑b

🔄 Sessions will remain Idle/Connect until NSX‑T Edge is configured.


11  NTP server

Enable Services ► NTP, select WAN + all internal interfaces, set Preferred server to 0.pl.pool.ntp.org.


12  System tunables

TunableValueNote
net.link.ether.inet.garp_accept0ignore gratuitous ARP
kern.ipc.maxsockbuf16777216larger buffers for FRR

13  Backup & versioning

Go to Diagnostics ► Backup & Restore ► Download Configuration, grab the XML file, and store it in a secure location (such as an encrypted Git repository or an offline disk).


14  Final tests

  1. From a host on the WAN network ping 172.16.10.1—it should reply.
  2. DHCP: attach a VM to the VCF_LOCAL PortGroup; verify it receives an address in 172.16.10.100‑200.
  3. FRR: run vtysh -c "show ip bgp summary"—sessions should show Idle/Connect.
  4. iperf3 between vMotion (VLAN 20) and ESX_MGMT (VLAN 60) ➔ >9 Gb/s thanks to jumbo frames.

15  Summary

With pfSense 2.7.2‑RELEASE in place, your VCF 9 Home Lab is ready: VLAN segmentation, NAT, DHCP, NTP, and a prepared BGP edge.

👉 In the next article, I’ll configure NSX‑T Edge


Questions or feedback? Leave a comment—I’ll be happy to help!

Share with:


Leave a Reply Cancel reply

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

Recent Posts

  • From Commit to Cluster: Mastering GitOps with Argo CD on VMware Cloud Foundation
  • The Full Power of VCF Automation in Action: How I Connect the Dots and Build a Multi-Tier App with Kubernetes Objects.
  • From Code to Kubernetes Cluster with Chiselled Ubuntu Images on VMware
  • From Zero to Database-as-a-Service: A Deep Dive into VMware Data Services Manager 9.0 and VCF Automation
  • Complete Guide: Configuring SSO in VMware Cloud Foundation with Active Directory and VCF Automation Integration

Archives

Follow Me!

Follow Me on TwitterFollow Me on LinkedIn

GIT

  • GITHub – vWorld GITHub – vWorld 0
© 2026 vWorld | Powered by Superbs Personal Blog theme