Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tutorial: Setting up pfSense on Proxmox at Hetzner #1018

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
191 changes: 191 additions & 0 deletions tutorials/setup-proxmox-pfsense-2-ips/01.de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
---
SPDX-License-Identifier: MIT
path: "/tutorials/pfsense-auf-proxmox-hetzner/de"
slug: "pfsense-auf-proxmox-hetzner"
date: "2024-12-06"
title: "pfSense auf Proxmox bei Hetzner"
short_description: "Erfahre, wie du pfSense auf Proxmox bei Hetzner einrichtest, inklusive Proxmox-Netzwerkkonfiguration, pfSense-Installation und WAN-, LAN- sowie DMZ-Einrichtung."
tags: ["Netzwerk", "Firewall", "Proxmox", "Hetzner"]
author: "Dennis Floer"
author_link: "https://github.com/encore99"
author_img: "https://avatars3.githubusercontent.com/u/3808935"
author_description: "Proxmox- und pfSense-Enthusiast mit langjähriger Erfahrung in Netzwerken und Virtualisierung."
language: "de"
available_languages: ["de", "en"]
header_img: "header-8"
cta: "dedicated"
---

## Einführung

Diese Anleitung zeigt dir, wie du pfSense auf Proxmox bei Hetzner einrichtest. Am Ende dieser Anleitung hast du eine vollständig funktionsfähige pfSense-Firewall, die WAN-, LAN- und DMZ-Netzwerke in deiner virtualisierten Umgebung verwaltet. Voraussetzungen sind ein dedizierter Hetzner-Server mit Proxmox VE sowie grundlegende Kenntnisse in Virtualisierung und Netzwerken sowie einer zusätzlichen IP von Hetzner.

**Voraussetzungen**

Für diese Anleitung benötigst du:

- Einen dedizierten oder Cloud-Server bei Hetzner.
- Auf dem Server installiertes Proxmox VE via "installimage" (folge dafür Schritt 1 in dem Tutorial "[Proxmox VE Installieren und Konfigurieren](https://community.hetzner.com/tutorials/install-and-configure-proxmox_ve/de)")
- Eine Hetzner-Konfiguration mit einer **zusätzlichen IP und separater MAC-Adresse**.
- Zugang zu Hetzners Robot- und Proxmox-Webinterface.

**Beispiel-Benennungen**

- Haupt-IP: `<10.0.0.1>`
- Zusätzliche IP: `<10.0.0.2>`
- Gateway: `<192.0.2.254>`
- Netzmaske: `255.255.255.224`
- Separate MAC-Adresse: `<00:50:56:00:76:3E>`

## Schritt 1 - Proxmox-Netzwerk konfigurieren

Öffne die Datei `/etc/network/interfaces` auf deinem Proxmox-Host:

```bash
nano /etc/network/interfaces
```

Füge folgende Konfiguration hinzu:

```plaintext
# Loopback-Schnittstelle
auto lo
iface lo inet loopback

# Physisches Interface ohne IP
auto enp41s0
iface enp41s0 inet manual

# WAN-Bridge
auto vmbr0
iface vmbr0 inet static
address <10.0.0.1>
netmask 255.255.255.224
gateway <192.0.2.254>
bridge_ports enp41s0
bridge_stp off
bridge_fd 0

# LAN-Bridge
auto vmbr1
iface vmbr1 inet static
address 192.168.1.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0

# DMZ-Bridge
auto vmbr2
iface vmbr2 inet static
address 192.168.2.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
```

Wende die Änderungen an, indem du den Netzwerkdienst neu startest:

```bash
systemctl restart networking
```

## Schritt 2 - pfSense-VM in Proxmox einrichten

### Schritt 2.1 - Neue VM erstellen
1. Öffne das Proxmox-Webinterface.
2. Erstelle eine neue virtuelle Maschine:
- **ISO**: Verwende das pfSense-ISO.
- **Netzwerkschnittstellen**:
- WAN: Verbinde mit `vmbr0`.
- LAN: Verbinde mit `vmbr1`.

### Schritt 2.2 - pfSense installieren
1. Starte die VM vom ISO und folge den Installationsanweisungen.
2. Weise die Schnittstellen zu:
- WAN: `em0` (verbunden mit `vmbr0`).
- LAN: `em1` (verbunden mit `vmbr1`).

### Schritt 2.3 - Zugriff auf das Webinterface
Verbinde einen Rechner mit dem LAN-Netzwerk (`192.168.1.0/24`) und öffne das pfSense GUI:

```
http://192.168.1.1
```

Standard-Zugangsdaten:
- Benutzername: `admin`
- Passwort: `pfsense`

## Schritt 3 - Netzwerk in pfSense konfigurieren

* WAN-Schnittstelle konfigurieren

Gehe zu `Interfaces` > `WAN`.

Setze folgende Einstellungen:
- IP-Adresse: `<10.0.0.2>`
- Netzmaske: `255.255.255.224`
- Gateway: `<192.0.2.254>`
- MAC-Adresse: `<00:50:56:00:76:3E>`

<br>

* DHCP für LAN aktivieren

Gehe zu `Services` > `DHCP Server`.

Aktiviere den DHCP-Server für die LAN-Schnittstelle.

Lege einen IP-Bereich fest:
- Start: `192.168.1.100`
- Ende: `192.168.1.200`

## Schritt 4 - Firewall-Regeln anpassen

* LAN-Traffic erlauben

Gehe zu `Firewall` > `Rules` > `LAN`.

Erstelle eine Regel:
- Aktion: Pass
- Quelle: LAN subnet
- Ziel: Any
- Protokoll: Any

<br>

* WAN-Regeln anpassen

Beschränke den eingehenden WAN-Zugriff auf notwendige Ports (z. B. für SSH oder einen Webserver).

## Schritt 5 - Test und Fehlerbehebung

* Verbindung testen

Führe folgende Befehle aus:
```bash
ping <192.0.2.254> # Test des Gateways
ping 8.8.8.8 # Test der externen Verbindung
```

<br>

* Häufige Probleme
- **Keine IP-Adresse für LAN-Clients**: Stelle sicher, dass der DHCP-Server für LAN aktiviert ist.
- **WAN funktioniert nicht**: Überprüfe, ob die MAC-Adresse korrekt im Hetzner Robot eingetragen ist.

## Ergebnis

Durch diese Anleitung hast du:

1. Die Netzwerke von Proxmox für pfSense konfiguriert.
2. pfSense erfolgreich als Firewall für WAN-, LAN- und DMZ-Netzwerke eingerichtet.
3. DHCP und Firewall-Regeln so angepasst, dass deine VMs Zugriff auf das Internet haben.

Du bist jetzt bereit, dein pfSense-Setup in einer produktiven Umgebung zu nutzen.

---

License: MIT
189 changes: 189 additions & 0 deletions tutorials/setup-proxmox-pfsense-2-ips/01.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
---
SPDX-License-Identifier: MIT
path: "/tutorials/pfsense-on-proxmox-hetzner"
slug: "pfsense-on-proxmox-hetzner"
date: "2024-12-06"
title: "pfSense on Proxmox at Hetzner"
short_description: "Learn how to set up pfSense on Proxmox at Hetzner, including Proxmox network configuration, pfSense installation, and setting up WAN, LAN, and DMZ."
tags: ["Networking", "Firewall", "Proxmox", "Hetzner"]
author: "Dennis Floer"
author_link: "https://github.com/encore99"
author_img: "https://avatars3.githubusercontent.com/u/3808935"
author_description: "Proxmox and pfSense enthusiast with years of experience in networking and virtualization."
language: "en"
available_languages: ["en", "de"]
header_img: "header-8"
cta: "dedicated"
---

## Introduction

This tutorial provides a detailed guide for setting up pfSense on Proxmox at Hetzner. By the end of this tutorial, you will have a fully functional pfSense firewall managing WAN, LAN, and DMZ networks in your virtualized environment. This guide assumes you have a dedicated Hetzner server with Proxmox VE installed and basic knowledge of virtualization and networking.

**Prerequisites**

To follow this tutorial, you will need:

- A Hetzner dedicated or cloud server.
- Proxmox VE installed on the server via "installimage" (follow step 1 in the tutorial "[Install and Configure Proxmox VE](https://community.hetzner.com/tutorials/install-and-configure-proxmox_ve)")
- A Hetzner configuration with an **additional IP and a separate MAC address**.
- Access to the Proxmox web interfaces.

**Example terminology**

- Main IP: `<10.0.0.1>`
- Additional IP: `<10.0.0.2>`
- Gateway: `<192.0.2.254>`
- Netmask: `255.255.255.224`
- Separate MAC Address: `<00:50:56:00:76:3E>`

## Step 1 - Configure Proxmox Networking

Open the `/etc/network/interfaces` file on your Proxmox host:

```bash
nano /etc/network/interfaces
```

Add the following configuration:

```plaintext
# Loopback interface
auto lo
iface lo inet loopback

# Physical interface without IP
auto enp41s0
iface enp41s0 inet manual

# WAN Bridge
auto vmbr0
iface vmbr0 inet static
address <10.0.0.1>
netmask 255.255.255.224
gateway <192.0.2.254>
bridge_ports enp41s0
bridge_stp off
bridge_fd 0

# LAN Bridge
auto vmbr1
iface vmbr1 inet static
address 192.168.1.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0

# DMZ Bridge
auto vmbr2
iface vmbr2 inet static
address 192.168.2.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
```

Apply the changes by restarting the network service:

```bash
systemctl restart networking
```

## Step 2 - Set Up the pfSense VM in Proxmox

### Step 2.1 - Create a New VM
1. Open the Proxmox web interface.
2. Create a new virtual machine:
- **ISO**: Use the pfSense ISO.
- **Network Interfaces**:
- WAN: Connect to `vmbr0`.
- LAN: Connect to `vmbr1`.

### Step 2.2 - Install pfSense
1. Boot the VM from the ISO and follow the installation steps.
2. Assign interfaces:
- WAN: `em0` (linked to `vmbr0`).
- LAN: `em1` (linked to `vmbr1`).

### Step 2.3 - Access the Web Interface
Connect to the LAN (`192.168.1.0/24`) and access the pfSense GUI:

```
http://192.168.1.1
```

Default credentials:
- Username: `admin`
- Password: `pfsense`

## Step 3 - Configure pfSense Networking

* Configure WAN Interface

Go to `Interfaces` > `WAN`.

Set the following:
- IP Address: `<10.0.0.2>`
- Netmask: `255.255.255.224`
- Gateway: `<192.0.2.254>`
- MAC Address: `<00:50:56:00:76:3E>`

<br>

* Enable DHCP for LAN

Go to `Services` > `DHCP Server`.

Enable DHCP for the LAN interface.

Set an IP range:
- Start: `192.168.1.100`
- End: `192.168.1.200`

## Step 4 - Adjust Firewall Rules

* Allow LAN Traffic

Go to `Firewall` > `Rules` > `LAN`.

Add a rule:
- Action: Pass
- Source: LAN subnet
- Destination: Any
- Protocol: Any

<br>

* Adjust WAN Rules

Restrict WAN access to necessary ports only (e.g., for SSH or a web server).

## Step 5 - Test and Troubleshoot

* Verify Connectivity

Run the following commands:
```bash
ping <192.0.2.254> # Test gateway
ping 8.8.8.8 # Test external connectivity
```

<br>

* Common Issues
- **No IP Address on LAN Clients**: Ensure the DHCP server is enabled for LAN.
- **No Internet on WAN**: Verify that the MAC address is correctly set in Hetzner Robot.

## Conclusion

By completing this guide, you have:

1. Configured Proxmox networking for pfSense.
2. Installed and set up pfSense to manage WAN, LAN, and DMZ.
3. Enabled DHCP and firewall rules for your virtualized environment.

You are now ready to use your pfSense setup in a production environment.

License: MIT