UFW OpenVPN-Problem unter Ubuntu 20.04

UFW OpenVPN-Problem unter Ubuntu 20.04

Ich habe ein merkwürdiges OpenVPN/UFW-Problem unter Ubuntu 20.04.

Ich habe eine Regel festgelegt, die ausgehenden Datenverkehr über tun0 zulässt: ufw insert 1 allow out on tun0 from any to any. Die UFW-Standardeinstellungen sind auf Verweigern eingestellt, sowohl ein- als auch ausgehender Datenverkehr: ufw default deny outgoing& ufw default deny incoming.

Ich kann den Datenverkehr nur über tun0 leiten, wenn UFW ausgeführt wird, und ich jedes Mal, wenn ich eine Verbindung zum VPN herstellen möchte, den folgenden seltsamen Tanz durchführe:

  1. ufw disable(Deaktivieren Sie UFW wie erwartet, um VPN die Verbindung zum Server zu ermöglichen)
  2. Mit VPN verbinden (Verbindung erfolgreich hergestellt)
  3. ufw enable(UFW wieder aktivieren) -Bisher wie erwartet – jetzt würde ich erwarten, dass der Datenverkehr problemlos über tun0 gesendet wird … aber nein. Ich muss jetzt Folgendes tun …
  4. Fügen Sie eine Regel hinzu, um alle ausgehenden Verbindungen über jede Schnittstelle zuzulassen:ufw insert 1 allow out from any to any
  5. Stellen Sie überall eine Verbindung her, z . B. ping 1.1.1.1.Dies ist der entscheidende Schritt, ohne den nachfolgende Verbindungen über tun0 fehlschlagen.
  6. Lösche die Regel Igerade hinzugefügtdas alle ausgehenden Verbindungen über jede Schnittstelle zulässt (da dies offensichtlich nicht das ist, was wir wollen – die Absicht besteht darin, die Verbindungen gemäß der bestehenden Regel auf tun0 zu beschränken):ufw delete 1

Jetzt kann ich wie erwartet Verbindungen über den VPN-Tunnel herstellen. Ohne die Schritte 4 und 5 werden jedoch alle Verbindungen von UFW blockiert. Ich kann keine Verbindung über tun0 herstellen, obwohl es einen expliziten UFW-Regelsatz gibt, der dies zulässt.

Hier ist meine UFW-Benutzer.rules-Datei (ich habe auch eine SSH-Regel):

*filter
:ufw-user-input - [0:0]
:ufw-user-output - [0:0]
:ufw-user-forward - [0:0]
:ufw-before-logging-input - [0:0]
:ufw-before-logging-output - [0:0]
:ufw-before-logging-forward - [0:0]
:ufw-user-logging-input - [0:0]
:ufw-user-logging-output - [0:0]
:ufw-user-logging-forward - [0:0]
:ufw-after-logging-input - [0:0]
:ufw-after-logging-output - [0:0]
:ufw-after-logging-forward - [0:0]
:ufw-logging-deny - [0:0]
:ufw-logging-allow - [0:0]
:ufw-user-limit - [0:0]
:ufw-user-limit-accept - [0:0]
### RULES ###

### tuple ### allow any 22 0.0.0.0/0 any 192.168.0.0/16 in
-A ufw-user-input -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT
-A ufw-user-input -p udp --dport 22 -s 192.168.0.0/16 -j ACCEPT

### tuple ### allow any any 0.0.0.0/0 any 0.0.0.0/0 out_tun0
-A ufw-user-output -o tun0 -j ACCEPT

### tuple ### deny any any 0.0.0.0/0 any 0.0.0.0/0 out
-A ufw-user-output -j DROP

### tuple ### deny any any 0.0.0.0/0 any 0.0.0.0/0 in
-A ufw-user-input -j DROP

### END RULES ###

### LOGGING ###
-A ufw-after-logging-input -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-A ufw-after-logging-output -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-A ufw-after-logging-forward -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-I ufw-logging-deny -m conntrack --ctstate INVALID -j RETURN -m limit --limit 3/min --limit-burst 10
-A ufw-logging-deny -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-A ufw-logging-allow -j LOG --log-prefix "[UFW ALLOW] " -m limit --limit 3/min --limit-burst 10
### END LOGGING ###

### RATE LIMITING ###
-A ufw-user-limit -m limit --limit 3/minute -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT
-A ufw-user-limit-accept -j ACCEPT
### END RATE LIMITING ###
COMMIT

Irgendwelche Ideen, warum dieses bizarre Verhalten auftritt?

verwandte Informationen