Am o problemă curioasă OpenVPN / UFW pe Ubuntu 20.04.
Am o regulă setată pentru a permite traficul de ieșire peste tun0: ufw insert 1 permite afară pe tun0 de la oricare la oricare
. Valorile implicite UFW sunt setate să refuze, atât în interior, cât și în afara: ufw implicit deny outgoing
& ufw implicit deny incoming
.
Pot direcționa traficul prin tun0 cu UFW rulând doar dacă trec prin următorul dans ciudat de fiecare dată când vreau să mă conectez la VPN:
ufw dezactivare
(dezactivați UFW, așa cum v-ați aștepta, pentru a permite VPN să se conecteze la server)
- Conectați-vă la VPN (conexiunea se stabilește cu succes)
ufw activare
(reactivați UFW) - Până acum, așa cum era de așteptat - acum m-aș aștepta ca traficul să fie trimis prin tun0 fără probleme... dar nu. Acum trebuie să fac următoarele...
- Adăugați o regulă pentru a permite toate conexiunile de ieșire prin orice interfață:
ufw insert 1 permite afară de la oricare la oricare
- Stabiliți o conexiune oriunde - de ex.
ping 1.1.1.1
. Acesta este pasul vital - fără de care conexiunile ulterioare prin tun0 eșuează
- Ștergeți regula I adăugat acum care permite toate conexiunile de ieșire prin orice interfață (din moment ce nu este ceea ce ne dorim - intenția este de a limita conexiunile la tun0 conform regulii existente):
ufw șterge 1
Acum, pot stabili conexiuni prin tunelul VPN, așa cum era de așteptat. Cu toate acestea, fără pașii 4 și 5, toate conexiunile sunt blocate de UFW; Nu mă pot conecta prin tun0 - chiar dacă există o regulă UFW explicită care să permită acest lucru.
Iată fișierul meu UFW user.rules (am și o regulă SSH):
*filtru
: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-după-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]
### REGULI ###
### tuplu ### permite orice 22 0.0.0.0/0 orice 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
### tuplu ### permite orice 0.0.0.0/0 orice 0.0.0.0/0 out_tun0
-A ufw-user-output -o tun0 -j ACCEPT
### tuplu ### refuză orice 0.0.0.0/0 orice 0.0.0.0/0 ieșire
-O ieșire ufw-user-out -j DROP
### tuplu ### refuză orice 0.0.0.0/0 orice 0.0.0.0/0 în
-A ufw-user-input -j DROP
### REGULI DE sfârșit ###
### LOGARE ###
-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-după-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
### Terminați Jurnalul ###
### LIMITARE DE RATA ###
-A ufw-user-limit -m limit --limit 3/minut -j LOG --log-prefix "[UFW LIMIT BLOCK]"
-A ufw-user-limit -j REJECT
-A ufw-user-limit-accept -j ACCEPT
### LIMITAREA RATA DE FINALĂ ###
COMMIT
Aveți idee de ce are loc acest comportament bizar?