Problema de UFW OpenVPN en Ubuntu 20.04

Problema de UFW OpenVPN en Ubuntu 20.04

Tengo un problema curioso con OpenVPN/UFW en Ubuntu 20.04.

Tengo una regla establecida para permitir el tráfico saliente a través de tun0: ufw insert 1 allow out on tun0 from any to any. Los valores predeterminados de UFW están configurados para denegar, tanto de entrada como de salida: ufw default deny outgoing& ufw default deny incoming.

Solo puedo enrutar el tráfico a través de tun0 con UFW en ejecución, si realizo el siguiente baile extraño cada vez que quiero conectarme a la VPN:

  1. ufw disable(deshabilite UFW, como era de esperar, para permitir que la VPN se conecte al servidor)
  2. Conéctese a VPN (la conexión se establece exitosamente)
  3. ufw enable(volver a habilitar UFW) -Hasta ahora, como se esperaba, ahora esperaría que el tráfico se enviara a través de tun0 sin ningún problema... pero no. Ahora tengo que hacer lo siguiente...
  4. Agregue una regla para permitir todas las conexiones salientes a través de cualquier interfaz:ufw insert 1 allow out from any to any
  5. Establezca una conexión en cualquier lugar, por ejemplo ping 1.1.1.1.Este es el paso vital, sin el cual fallan las conexiones posteriores a través de tun0.
  6. Eliminar la regla IRecien agregadoque permite todas las conexiones salientes a través de cualquier interfaz (ya que claramente eso no es lo que queremos; la intención es limitar las conexiones a tun0 según la regla existente):ufw delete 1

Ahora puedo establecer conexiones a través del túnel VPN, como se esperaba. Sin embargo, sin los pasos 4 y 5, UFW bloquea todas las conexiones; No puedo conectarme a través de tun0, aunque existe una regla UFW explícita establecida para permitirlo.

Aquí está mi archivo UFW user.rules (también tengo una regla SSH):

*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

¿Alguna idea de por qué ocurre este extraño comportamiento?

información relacionada