Skip to content

tom-sapletta-com/proxmox-pfsense-OpenWRT-TrueNas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proxmox + pfSense + OpenWRT + TrueNAS

License: MIT PRs Welcome Maintenance

A comprehensive guide and automation toolkit for setting up and managing a powerful virtualized home or small business network environment using Proxmox, pfSense, OpenWRT, and TrueNAS.

🚀 Quick Start

Prerequisites

  • Proxmox VE installed on your server
  • Basic understanding of networking concepts
  • Minimum 8GB RAM (16GB+ recommended)
  • 100GB+ free disk space

Quick Commands

# Check system requirements
make check

# Install required dependencies
make setup

# Deploy pfSense VM
make deploy-pfsense

# Backup your VMs
make backup

📋 Table of Contents

✨ Features

  • Automated Deployment: Scripts to deploy and configure virtual machines
  • System Validation: Pre-flight checks for system requirements
  • Backup Solutions: Automated backup of VMs and containers
  • Modular Design: Easy to extend and customize
  • Documentation: Comprehensive guides and references

📁 Project Structure

.
├── scripts/                  # Automation scripts
│   ├── check_prerequisites.sh  # System requirements check
│   ├── deploy_pfsense_vm.sh    # pfSense VM deployment
│   ├── deploy_openwrt_vm.sh    # OpenWRT VM deployment (coming soon)
│   ├── deploy_truenas_vm.sh    # TrueNAS VM deployment (coming soon)
│   └── backup_vms.sh          # Backup solution for VMs
├── docs/                     # Additional documentation
│   ├── networking/           # Network configuration guides
│   ├── security/             # Security best practices
│   └── troubleshooting/      # Common issues and solutions
├── .gitignore               # Git ignore file
├── LICENSE                  # MIT License
├── Makefile                 # Project automation
└── README.md               # This file

🚀 Getting Started

Prerequisites

  • Proxmox VE 7.0 or later
  • CPU with hardware virtualization support (Intel VT-x/AMD-V)
  • Minimum 8GB RAM (16GB+ recommended)
  • 100GB+ free disk space
  • Network connectivity

Installation

  1. Clone the repository:

    git clone https://github.com/tom-sapletta-com/proxmox-pfsense-OpenWRT-TrueNas.git
    cd proxmox-pfsense-OpenWRT-TrueNas
  2. Install dependencies:

    make setup
  3. Make scripts executable:

    make install

🛠️ Usage

Deploying VMs

pfSense Firewall/Router

make deploy-pfsense

Or manually:

sudo ./scripts/deploy_pfsense_vm.sh \
  --id 100 \
  --name "pfsense" \
  --memory 2048 \
  --cores 2 \
  --storage local-lvm \
  --iso /path/to/pfSense-*.iso

OpenWRT (Coming Soon)

make deploy-openwrt

TrueNAS (Coming Soon)

make deploy-truenas

Backup & Recovery

Create a backup of all VMs and containers:

make backup

Or customize the backup:

sudo ./scripts/backup_vms.sh \
  --dir /mnt/backup/proxmox \
  --compression zstd \
  --max 7 \
  --exclude 101,102

Maintenance

Check system requirements:

make check

Clean up temporary files:

make clean

📚 Documentation

For detailed documentation, please refer to the following resources:

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👨‍💻 About the Author

Tom Sapletta is a technology enthusiast and software developer with a passion for:

  • Automated code generation (TextToSoftware)
  • Hypermodularization
  • Edge computing & distributed systems
  • MBSE, Component-Based Development, Digital Twins

Connect with me:

download image

  1. Download the latest AMD64 DVD Image (ISO) installer from the pfSense website.
  1. Upload the ISO that was just downloaded to the Proxmox server.
  2. Select Create VM in the top right corner.

Before we look at how to install pfSense on Proxmox, ensure that you have a NIC installed in your Proxmox server as we’ll have to use this to pass it through to our pfSense virtual machine.

  1. Give the VM a name, then check off start at boot. Select next to proceed.
  2. Select the pfSense ISO image and then select next.
  3. In the network section, select no network device, then select next.

Proxmox

Virtualisation

qm monitor <vmid>       connect to vm control monitor
qm start <vmid>         start vm
qm reboot <vmid>        reboot vm (shutdown, start)
qm shutdown <vmid>      gracefully stop vm (send poweroff)
qm stop <vmid>          kill vm (immediate stop)
qm reset <vmid>         reset vm (stop, start)
qm suspend <vmid>       suspend vm
qm resume <vmid>        resume vm
qm destroy <vmid>       destroy vm (delete all files)

qm cdrom <vmid> [<device>] <path>  set cdrom path. <device is ide2 by default>
qm cdrom <vmid> [<device>] eject   eject cdrom

qm unlink <vmid> <file>  delete unused disk images
qm vncproxy <vmid> <ticket>  open vnc proxy
qm list                 list all virtual machines

BIOS

When creating the VM:

  • Set Machine to q35

  • Set BIOS to OVMF (UEFI) On the first boot, go into the boot settings and disable secure boot:

  • Hit Esc while the boot splash screen is visible

  • Select Device Manager

  • Select Secure Boot Configuration

  • Uncheck Attempt Secure Boot

  • Press F10 to save

  • Press Esc to exit

add the new network card to proxmox usage and use embedded cards to pfsense directly from PCI

  • change the physical network device in vmbr0 to the external USB card

image

  • Add PCI NET Devices Before start pfsense

image

  • All functions

image

Proxmox virtualized Net

pfSense® software Configuration Recipes — Virtualizing with Proxmox® VE - pfSense Documentation

pfsense Installation

CONFIG

After the virtual machine reboots, the console will stop at an interfaces assignment prompt.

  • Type n and press Enter to skip VLAN configuration

  • Enter vtnet0 for WAN

  • Enter vtnet1 for LAN

  • Press Enter if prompted for additional interfaces

  • Type y and press Enter to complete the interface assignment

Network

How to reload /etc/network/interfaces in Ubuntu or Debian

In Ubuntu or Debian desktop, Network Manager is the default network configuration tool, whereas Ubuntu server by default uses /etc/network/interfaces to configure network interfaces. Of course, even on desktop, you can disable Network Manager, and use /etc/network/interfaces instead to configure your networking.

For those of you who use /etc/network/interfaces to configure network interfaces, if you modify /etc/network/interfaces, you need to reload it so that the new configuration can take effect.

(adsbygoogle = window.adsbygoogle || []).push({});

Here is how you can reload /etc/network/interfaces.

sudo service networking restart

Note: If Network Manager is installed and enabled on your system, you must not use /etc/network/interfaces to configure networking, and any change made in /etc/network/interfaces will be ignored by Network Manager. You need to use Network Manager to configure your network interfaces. In that case, after network settings are modified, you can restart Network manager as follows.

sudo service network-manager restart

Additional Resources

Proxmox

pfSense

OpenWRT

TrueNAS

Network Configuration

Troubleshooting

  • Wireshark - Network protocol analyzer
  • iperf3 - Network performance measurement tool
  • MTR - Network diagnostic tool
  • Netdata - Real-time performance monitoring

Security

Community & Support

YouTube Channels

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Acknowledgments

  • Thanks to all the open-source communities for their amazing work
  • Special thanks to the Proxmox, pfSense, OpenWRT, and TrueNAS teams
  • Inspired by the homelab community

image

TEST COnfig

Tutorials:

About

How to install pfsense, OpenWRT, TrueNAS on proxmox

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages