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:
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:
Port-Forwarding auf Proxmox ist aktiviert:
Um auf die virtualisierte OPNsense zugreifen zu können (https://localhost:8443), gehe ich über den Tunnel
Bekomme dabei jedoch die Fehlermeldung:
Es sei denn, ich gehe über die Proxmox-Konsole der OPNsense in die Shell und konfiguriere den Paketfilter wie folgt:
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:
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?
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:
Code Select
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:
Code Select
# /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:
Code Select
# /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1Um auf die virtualisierte OPNsense zugreifen zu können (https://localhost:8443), gehe ich über den Tunnel
Code Select
ssh -i ~/.ssh/hetzner_key -L 8443:10.0.0.2:443 root@203.0.113.112Bekomme dabei jedoch die Fehlermeldung:
Code Select
channel 3: open failed: connect failed: Connection timed outEs sei denn, ich gehe über die Proxmox-Konsole der OPNsense in die Shell und konfiguriere den Paketfilter wie folgt:
Code Select
pfctl -f - <<EOF
pass in on vtnet0 proto tcp from 10.0.0.1 to (vtnet0) port 443
EOFDiese 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?
"