Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - raelianer

#1
German - Deutsch / Firewall-Regel persistieren
September 21, 2025, 08:26:06 PM
Hallo!


Ich habe mir einen dedizierten Hetzner Server gemietet, per KVM Proxmox (9.0.10) auf zfs-RAID1 installiert und versuche verschiedene VMs zu privaten Zwecken darauf laufen zu lassen und etwas darüber zu lernen. Dabei möchte ich auf den Erwerb zusätzlicher IPs verzichten.

Ich habe gelesen, dass es als MAC-Abuse gilt, wenn andere MAC-Adressen zum Gateway gelangen, ohne dafür eigene IPs zu erwerben. Daher würde ich gerne alles über das Interface vom Proxmox-Server routen.

Die Pakete aus dem Internet sollen über Proxmox an ein virtualisiertes OPNsense geleitet werden und von da aus an die VMs dahinter. Port 22 und 8006 bleiben vorerst auf Proxmox, damit ich auch via IPv4 auf die GUI zugreifen kann.
Für den Fall einer Fehlkonfiguration möchte ich sowohl per IPv4, als auch per IPv6 zugreifen können. Wenn alles funktioniert, würde ich gerne alle Ports auf die OPNsense weiterleiten und via IPv6 auf Proxmox zugreifen.

Wenn das läuft, wären die nächsten Schritte Nginx und AdGuardHome in LXC-Container zu packen und mit dem OPNsense zu verbinden.
Ziel soll es sein, dass die VMs ihre Konfiguration per DHCP bekommen und via Subdomain von außen erreichbar sind. Also sowas wie nextcloud und Bookstack.

(Ich versuche dabei alle Schritte mit ansible zu automatisieren, um ein reproduzierbares Ergebnis zu erhalten.)


Netzdiagramm:
                                                                                                 
                              fe80::1                                                            
                                                                                                 
                       Hetzner Gateway                                                           
                        .65 |                                                                    
                            |                                                                    
                            |  203.0.113.0/26           2001:db8:6b:28e7::/64                    
                            |                                                                    
                       .112 |                                                                    
                 +----------|---------+                                                          
                 |                    |                                                          
                 |      Proxmox       |     2001:db8:6b:28e7::2/64                               
                 |                    |                                                          
                 +----------|---------+                                                          
                        .1  |                                                                    
                            |  vmbr0 (WAN/vtnet0)   10.0.0.0/24                                  
                            |                                                                    
                            |                                                                    
                        .2  |                                                                    
               +-------------------------+                                                       
               |                         |                                                       
               |  OPNsense-VM            |                                                       
               |  OPNsense 25.7-amd64    |  2001:db8:6b:28e7::1/64                               
               |                         |                                                       
               +------------|------------+                                                       
                        .1  |                                                                    
                            |                                                                    
                            |  vmbr1 (LAN/vtnet1)  192.168.0.0/24                                
                            |                                                                    
                            |                                                                    
----------|-----------------------------------------------------------------                     
          |                                                                                      
      .2  |                                                                                      
     +----|----+                                                                                 
     |         |                                                                                 
     | VM 101  |                                                                                 
     +---------+    


Ich habe versucht nach der Anleitung https://community.hetzner.com/tutorials/install-and-configure-proxmox_ve/de#25-masquerading-nat von Hetzner vorzugehen. /etc/network/interfaces auf Proxmox:

# /etc/network/interfaces
auto lo
iface lo inet loopback

iface lo inet6 loopback

auto enp9s0
iface enp9s0 inet static
        address 203.0.113.112/26
        gateway 203.0.113.65
        post-up  echo 1 > /proc/sys/net/ipv4/ip_forward

        post-up iptables -t nat -A PREROUTING -i enp9s0 -p tcp -m multiport ! --dports 22,8006 -j DNAT --to 10.0.0.2
        post-down iptables -t nat -D PREROUTING -i enp9s0 -p tcp -m multiport ! --dports 22,8006 -j DNAT --to 10.0.0.2

iface enp9s0 inet6 static
        address 2001:db8:6b:28e7::2/64
        gateway fe80::1
        post-up echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

auto vmbr0
iface vmbr0 inet static
        address 10.0.0.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up   iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o enp9s0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o enp9s0 -j MASQUERADE

#NAT/Masq

auto vmbr1
iface vmbr1 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0

source /etc/network/interfaces.d/*

Port-Forwarding auf Proxmox ist aktiviert:
# /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

Um auf die virtualisierte OPNsense zugreifen zu können (https://localhost:8443), gehe ich über den Tunnel 
ssh -i ~/.ssh/hetzner_key -L 8443:10.0.0.2:443 root@203.0.113.112
Bekomme dabei jedoch die Fehlermeldung:
channel 3: open failed: connect failed: Connection timed out

Es sei denn, ich gehe über die Proxmox-Konsole der OPNsense in die Shell und konfiguriere den Paketfilter wie folgt:
pfctl -f - <<EOF
pass in on vtnet0 proto tcp from 10.0.0.1 to (vtnet0) port 443
EOF

Diese Regel funktioniert aber nur bis zum Neustart der OPNsense, daher habe ich auf Anraten einer KI die folgende Regel über die GUI hinzugefügt:

  • Action: Pass
  • Interface: WAN
  • TCP/IP Version: IPv4
  • Protocol: TCP
  • Source:
    • Type: Single host or network
    • Address: 10.0.0.1/32 (die IP Ihres Proxmox-Hosts auf der vmbr0-Schnittstelle)
  • Destination:
    • Type: WAN address
  • Destination port range:
    • from: HTTPS (oder 443)
    • to: HTTPS (oder 443)

Das hat allerdings nicht geholfen und somit muss ich nach jedem Neustart wieder in die Proxmox-Konsole zur OPNsense, um den Paketfilter neu zu konfigurieren.


Wie kann ich es erreichen die OPNsense über meinen Tunnel zu erreichen, ohne den Paketfilter nach jedem Neustart neu zu konfigurieren?