A recomendação strong é que você NÃO use esses dois comandos :
ufw allow incoming
ufw default allow in on tun0
Permitir em derrotas a finalidade de ter um firewall. É incorreto que você precise "permitir entrar no tun0" para receber pacotes de retorno. Você só quer receber conexões que pediu, em vez de permitir que o mundo inteiro se conecte a você. Permitir isso fará isso. Teste a configuração proposta abaixo e veja.
Aqui está um exemplo para uma série de comandos UFW para uso com um firewall:
sudo ufw enable
sudo ufw --force reset
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on tun0
sudo ufw allow out on eth0 to any port 53,1197 proto udp
sudo ufw allow out on wlan0 to any port 53,1197 proto udp
sudo ufw status verbose
Exemplo de resultado:
Status: active
Logging: on (low)
Default: deny (incoming), deny (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
Anywhere ALLOW OUT Anywhere on tun0
53,1197/udp ALLOW OUT Anywhere on eth0
53,1197/udp ALLOW OUT Anywhere on wlan0
Anywhere (v6) ALLOW OUT Anywhere (v6) on tun0
53,1197/udp (v6) ALLOW OUT Anywhere (v6) on eth0
53,1197/udp (v6) ALLOW OUT Anywhere (v6) on wlan0
NOTA:
-Suas interfaces podem ser diferentes, por exemplo, o ubuntu 16.12 usa eno1 e wlp3s0b1. Use o comando "ifconfig" para ver suas interfaces reais.
-1197 O UDP é bastante padrão, mas você pode precisar alterá-lo para sua VPN (por exemplo, 443 TCP).
-Eu costumo excluir ipv6 (sudo ufw delete 4, repita x3)
O que isso faz:
-Ele permite conexões de saída através do túnel VPN, enquanto bloqueia tudo, mas o túnel VPN e conexões DNS em ethernet / wifi. Aviso abaixo sobre o problema do DNS.
Atenção:
Este exemplo permite 53 solicitações DNS para que o openvpn (por exemplo, vpn.somevpnprovider.com) possa solicitar o endereço IP e fazer uma conexão. O tradeoff é o potencial de vazamento de DNS. Use dnsleaktest.com para garantir que suas configurações de VPN encapsulem suas solicitações de DNS. Para os cautelosos / paranóicos, ignore o 53 e, em vez disso, desative o firewall para conectar-se e, em seguida, ligue-o novamente uma vez. Pelas minhas razões de VPN, optei por não fazer isso, pois é mais provável que eu esqueça o firewall completamente (por exemplo, o DNS vazará de qualquer maneira se o openvpn estiver configurado incorretamente).