Então, pelo que entendi, tenho todas as peças, ou seja, DNSmasq e OpenVPN funcionando bem, embora de forma independente. O que eu fiz?
- Instalei o OpenVPN usando isto:https://github.com/Nyr/openvpn-install
- Após a instalação, consigo conectar o cliente (PC, telefone), funciona. Não há problema.
- Instalei o DNSmasq e também parece estar funcionando e funcionando conforme o esperado
- Bloqueei um ou dois sites, ou seja, indiquei-os
0.0.0.0
no/etc/hosts
arquivo e, quando o façonslookup thatdomain.com
, recebo a0.0.0.0
resposta
- Bloqueei um ou dois sites, ou seja, indiquei-os
Este é atualmente o meu/etc/openvpn/server/server.conf
local 134.122.60.252
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 10.8.0.1"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
explicit-exit-notify
duplicate-cn
E a única alteração que fiz no /etc/dnsmasq.conf
arquivo padrão foi remover o comentário e indicar a interface nesta linha:
interface=tun0
Onde preciso de ajuda?
Como fazer o OpenVPN usar DNSmasq paratodosSolicitações de DNS. Simplesmente não consigo encontrar uma resposta definitiva sobre como conseguir isso, quais arquivos alterar e o que adicionar.
Estou faltando alguma etapa?
Editar: Com a configuração acima, quando eu ssh no servidor openvpn (o dnsmasq também roda no mesmo servidor), e eu faço
nslookup google.com 10.8.0.1
, resolve corretamente
Quando faço nslookup blockthis.com 10.8.0.1
isso, ele resolve conforme 0.0.0.0
o esperado, conforme descrito no /etc/hosts
arquivo.
O problema é que quando eu me conecto do cliente ao openvpn, de alguma forma o openvpn não está entregando a resolução do DNS para o dnsmasq, mas a linha interface=tun0
está habilitada no dnsmasq, e netstat -plunt
indica que a porta 53 está funcionando, ouvida pelo dnsmasq.
Responder1
Ok, resolvi. Necessário para abrir o Firewall.
ufw allow out on tun0
ufw allow in on tun0