Problem mit der Portweiterleitung unter Linux

Problem mit der Portweiterleitung unter Linux

ich sehe die Bäume nicht mehr. Für Hinweise bin ich dankbar.

Ich habe einen Root-Server und Proxmox installiert, ich habe nur eine öffentliche IP. Habe mich für ein geroutetes Setup entschieden. Habe ein paar grundlegende Dinge wie 2FA und TLS-Zertifikat eingerichtet und dann pfsense zum Laufen gebracht, damit ich per OpenVPN in mein privates Subnetz gelangen und den Zugriff vom Internet auf die Proxmox-Web-Benutzeroberfläche blockieren kann.

ICHkippenfinde heraus, was mir fehlt, egal was ich mache, ich kriege die Portweiterleitung von meinem Debian zur pfsense-VM nicht zum Laufen.

IP-Weiterleitung ist aktiviert:

cat /proc/sys/net/ipv4/conf/enp35s0/forwarding
1

Ich habe mein privates Subnetz, einige Client-VMs darin, alles funktioniert einwandfrei:

auto vmbr1
iface vmbr1 inet static
        address 10.0.0.0/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

Hauptschnittstelle zur öffentlichen Durchsage:

auto enp35s0
iface enp35s0 inet static
        address 1.1.1.175/26
        gateway 1.1.1.129
        up route add -net 1.1.1.128 netmask 255.255.255.192 gw 1.1.1.129 dev enp35s0

Auf enp35s0 ist alles gut, ich habe SSH- und Web-UI-Zugriff. Hier ist die Konfiguration, die vermutlich irgendwie falsch ist

auto vmbr0
iface vmbr0 inet static
        address 172.16.0.1
        netmask 255.255.255.0
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
        # NAT
        post-up   iptables -t nat -A POSTROUTING -s '172.16.0.0/24' -o enp35s0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '172.16.0.0/24' -o enp35s0 -j MASQUERADE
        # Port Forward
        post-up iptables -t nat -A PREROUTING -d 1.1.1.175 -p tcp --dport 1194 -j DNAT --to-destination 172.16.0.2:1194
        post-up iptables -A FORWARD -p tcp -d 172.16.0.2 --dport 1194 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        post-up iptables -A POSTROUTING -t nat -p tcp -m tcp -s 172.16.0.2 --sport 1194 -j SNAT --to-source 1.1.1.175
        post-down iptables -t nat -D PREROUTING -i enp35s0 -p tcp --dport 1194 -j DNAT --to 172.16.0.2:1194

Also im Grunde genommen:

<Internet> <Debian 1.1.1.175> <pfSense 172.16.0.2 / 10.0.0.1> <Client 10.0.0.2>

Der Client erhält seine IP vom pfSense DHCP und kann pfSense anpingen und das Internet erreichen. Ich vermute, das bedeutet, dass die grundlegende Funktionalität und das Routing auf vmbr0 wie erwartet funktionieren.

Was nicht funktioniert, ist, dass ich den auf pfSense konfigurierten OpenVPN-Server von außen nicht erreichen kann. Wenn ich es mit nmap teste, wird nur gemeldet, dass der Port geschlossen ist.

Irgendwelche Ideen?

EDIT1: Ich verwende die eingebaute PVE-Firewall nicht

Wie von Nikita vorgeschlagen, habe ich die Konfigurationen wie folgt beibehalten: IP-Weiterleitung

grep ip_forward /etc/sysctl.conf
net.ipv4.ip_forward=1

Habe eine iptables-Datei gespeichert und den Server neu gestartet, um zu prüfen, ob die Konfiguration bestehen bleibt. Die Schnittstellenkonfiguration sieht jetzt so aus

auto vmbr0
iface vmbr0 inet static
        address 172.16.0.1
        netmask 255.255.255.0
        bridge-ports none
        bridge-stp off
        bridge-fd 0

EDIT2: Die Routing-Tabelle sieht für mich gut aus:

default via 1.1.1.129 dev enp35s0 proto kernel onlink
10.0.0.0/24 dev vmbr1 proto kernel scope link src 10.0.0.0
1.1.1.128/26 via 1.1.1.129 dev enp35s0
1.1.1.128/26 dev enp35s0 proto kernel scope link src 1.1.1.175
172.16.0.0/24 dev vmbr0 proto kernel scope link src 172.16.0.1

verwandte Informationen