Então, acho que vou deixar essa resposta porque acredito que talvez tenha descoberto a parte que faltava (graças a /var/log/ufw.log
), a menos que outra pessoa veja o contrário:
# Allow DNS queries
# [UFW BLOCK] IN= OUT=wlan0 SRC=192.168.10.x DST=192.168.10.1 LEN=66 TOS=0x00 PREC=0x00 TTL=64 ID=50892 DF PROTO=UDP SPT=22617 DPT=53 LEN=46
sudo ufw allow out on wlan0 from any to any port 53 proto udp
Então, meu conjunto de regras atual é assim agora (observe a saída padrão):
Status: active
Logging: on (low)
Default: deny (incoming), deny (outgoing)
New profiles: skip
To Action From
-- ------ ----
53,67/udp on eth0 ALLOW IN Anywhere
22/tcp on eth0 ALLOW IN Anywhere
1194/udp ALLOW OUT Anywhere on wlan0
Anywhere ALLOW OUT Anywhere on eth0
Anywhere ALLOW OUT Anywhere on tun0
53/udp ALLOW OUT Anywhere on wlan0
Comandos:
# Allow incoming requests to DNS/DHCP services (UDP) on eth0 interface only (i.e. Private Network -> Pi:43,67/udp)
sudo ufw allow in on eth0 from any to any port 53,67 proto udp
# Allow incoming requests to SSH service (TCP) on eth0 interface only (i.e. Private Network -> Pi:22/tcp)
sudo ufw allow in on eth0 from any to any port 22 proto tcp
# Allow outbound on wlan0 interface for DNS and VPN traffic only (i.e. Pi -> LAN:1194)
sudo ufw allow out on wlan0 from any to any port 53,1194 proto udp
# Allow all outbound traffic on eth0 (i.e. Pi -> Private Network)
sudo ufw allow out on eth0
# Allow all outbound traffic on VPN tunnel only (i.e. Pi -> VPN)
sudo ufw allow out on tun0
# Set defaults (also see /etc/default/ufw)
sudo ufw default deny incoming
sudo ufw default deny outgoing
Isso também é combinado com a entrada da tabela NAT em /etc/ufw/before.rules
mencionada na postagem original para manipular eth0 -> tun0
"roteamento".
E, finalmente, meu /etc/dnsmasq.conf
contém a seguinte entrada server
:
# Force VPN by selecting public DNS
server=8.8.8.8
# Do not read from /etc/resolv.conf and friends for system DNS
no-resolv
# Do not poll /etc/resolv.conf and friends for system DNS
no-poll
A execução de um traceroute
confirma que as solicitações enviadas para 8.8.8.8 estão acima da VPN e, por configuração (DHCP implícito), o cliente usará como padrão o Pi para seu DNS, que por sua vez usa essa configuração.
Isso é um embrulho!