OPNSense / Proxmox / Hetzner - /29er Public IP Subnet umziehen

Started by Sarux, August 15, 2024, 09:54:01 PM

Previous topic - Next topic
Hallo zusammen,

ich bin seit einigen Monaten von meinem alten VPS Hoster nun zu Hetzner umgezogen und habe hier einen Dedicated Server gemietet und Proxmox drauf installiert. Die Haupt-IP ist 49.XX.XXX.109/26 mit dem Gateway 49.XX.XXX.65.

Für meine Dienste (Docker, Webseite, E-Mail, usw.) habe ich mir ein IPv4 /29er Subnetz bestellt 148.XXX.XX.120 / 29 und diese als Routed Setup auf der Proxmox Node konfiguriert:

auto vmbr0
iface vmbr0 inet static
        address 148.XXX.XX.121/29
        bridge-ports none
        bridge-stp off
        bridge-fd 0

Soweit funktioniert auch alles. Die VMs besitzen die IPs 148.XXX.XX.122 bis 148.XXX.XX.126 mit folgender Konfiguration:

iface ens18 inet static
        address 148.XXX.XX.122/29
        gateway 148.XXX.XX.121

Nun möchte ich mir mehr Erfahrung im Bereich Firewall / VLAN usw. aneignen und bin dazu auf OPNSense gestoßen. Ich habe OPNSense als VM auf dem Proxmox Server installiert und auf dem LAN-Interface (da ich gehört habe, dass man auf das MGMT über WAN nicht drauf kommt) die IP 148.XXX.XX.122/29 eingetragen(natürlich vorher aus der VM ausgetragen / VM deaktiviert) mit dem Gateway 148.XXX.XX.121. OPNSense lässt sich per HTTPS aufrufen. Ich möchte nun hier ein weiteres Interface konfigurieren, welches den restl. Subnetz Bereich 148.XXX.XX.123 bis 148.XXX.XX.126 bereit stellt (Virtual IPs?).
Im Netz habe ich nur Tutorials zu OPNSense gefunden, welche nur eine Public IP Adresse verwendet haben oder die VMs hinter OPNSense nur über private IPs verfügbar gemacht worden sind.

Wie müsste ich in Proxmox & OPNSense die Interfaces konfigurieren, dass ich diese durch OPNSense durchgeschleift kriege und meine VMs am Ende per Public IP erreichbar sind?

Für jede Hilfe wäre ich sehr dankbar.

Viele Grüße
Sarux

Das sagt mein Bot.

Hallo Sarux,

es freut mich zu hören, dass du dich mit Firewall und VLAN beschäftigen möchtest. Hier ist eine Schritt-für-Schritt-Anleitung, wie du deinen Server so konfigurieren kannst, dass deine VMs über OPNsense mit öffentlichen IP-Adressen erreichbar sind.

### Schritt 1: Netzwerk-Konfiguration in Proxmox

Du solltest zwei virtuelle Netzwerk-Interfaces für OPNsense erstellen: ein `WAN`-Interface und ein `LAN`-Interface. Die WAN-Schnittstelle verbindet sich mit dem Internet, während die LAN-Schnittstelle für dein internes Netzwerk (deine VMs) zuständig ist.

1. **WAN-Interface:** Hierbei handelt es sich um die bereits vorhandene IP 148.XXX.XX.122/29.
2. **LAN-Interface:** Erstellt eine neue Bridge (z.B. `vmbr1`) für die LAN-Schnittstelle.

```plaintext
auto vmbr1
iface vmbr1 inet static
        bridge-ports none
        bridge-stp off
        bridge-fd 0
```

### Schritt 2: OPNsense Konfiguration

1. **WAN Interface** konfiguriert:
   - Interface: vmbr0
   - IP-Adresse: 148.XXX.XX.122/29
   - Gateway: 148.XXX.XX.121

2. **LAN Interface** konfiguriert:
   - Interface: vmbr1
   - IP-Adresse: 192.168.1.1/24 (Dies ist ein internes Netzwerk für die VM-Kommunikation)

3. **Virtuelle IPs konfigurieren**:
   - Gehe zu **Firewall** > **Virtuelle IPs** und füge die IPs 148.XXX.XX.123 bis 148.XXX.XX.126 als Alias-Typ hinzu.

### Schritt 3: VM-Konfiguration

In deinen VMs konfigurierst du die Netzwerkkarten so, dass sie das LAN-Netzwerk von OPNsense verwenden. In Proxmox sollten die VMs an das Interface `vmbr1` angebunden werden.

In der VM-Netzwerkkonfiguration sollten folgende Einstellungen vorgenommen werden:

```plaintext
auto ens18
iface ens18 inet static
        address 192.168.1.X/24  # Die interne IP der VM
        gateway 192.168.1.1    # OPNsense LAN IP
        dns-nameservers 1.1.1.1 8.8.8.8
```

### Schritt 4: NAT und Firewall Regeln in OPNsense einrichten

1. **NAT Konfiguration**:
   - Gehe zu **Firewall** > **NAT** > **Port Forward**.
   - Lege Regeln an, die den Traffic von den öffentlichen IPs (148.XXX.XX.123 bis 148.XXX.XX.126) an die entsprechenden internen IPs (192.168.1.X) weiterleiten.

2. **Firewall Regeln**:
   - Gehe zu **Firewall** > **Regeln** > **WAN**.
   - Erstelle Regeln, um den eingehenden Traffic auf deine öffentlichen IP-Adressen zu erlauben.

Beispiel für eine NAT Port Forward Regel:

- Interface: WAN
- Protcol: TCP/UDP (je nach deinem Bedarf)
- Destination: 148.XXX.XX.123 (oder 124, 125, 126)
- Redirect target IP: 192.168.1.X (interne VM IP)
- Redirect target Port: (z.B. 80 für HTTP)

Nach der Konfiguration sollten deine VMs über die öffentlichen IP-Adressen erreichbar sein und der Traffic durch OPNsense gefiltert werden.

### Zusammenfassung

Mit dieser Konfiguration richtest du OPNsense so ein, dass es den Traffic zwischen deinem Public Subnetz und deinem internen LAN-Netzwerk routet. Dafür benötigst du zwei Interfaces (WAN und LAN), und verwendest OPNsense, um die NAT- und Firewall-Regeln zu verwalten. Deine VMs werden interne IP-Adressen im LAN-Netzwerk von OPNsense erhalten und der eingehende Traffic von den öffentlichen IPs wird entsprechend weitergeleitet.

Ich hoffe, das hilft dir weiter! Wenn du weitere Fragen hast, lass es mich wissen.

Viele Grüße,
Yogi -OPNsense KI Bot

Hallo zusammen,

mit der oberen Anleitung konnte ich erfolgreich die OPNSense zwischen dem Internet und meinen VMs klemmen.

Vielen Dank an dieser Stelle.

Viele Grüße
Sarux