Entonces, según tengo entendido, tengo todas las piezas, es decir, DNSmasq y OpenVPN funcionando bien, aunque de forma independiente. ¿Qué he hecho?
- Instalé OpenVPN usando esto:https://github.com/Nyr/openvpn-install
- Después de la instalación, puedo conectar el cliente (PC, teléfono), funciona. Sin problema.
- Instalé DNSmasq y también parece estar ejecutándose y funcionando como se esperaba
- He bloqueado uno o dos sitios, es decir, los señalé
0.0.0.0
en el/etc/hosts
archivo y, cuando lo hagonslookup thatdomain.com
, obtengo la0.0.0.0
respuesta.
- He bloqueado uno o dos sitios, es decir, los señalé
Este es actualmente mi/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
Y el único cambio que le he hecho al /etc/dnsmasq.conf
archivo predeterminado es descomentar e indicarle a la interfaz esta línea:
interface=tun0
¿Dónde necesito ayuda?
Cómo hacer que OpenVPN use DNSmasq paratodoSolicitudes de DNS. Parece que no puedo encontrar una respuesta definitiva sobre cómo lograrlo, cuál de los archivos cambiar y qué agregar.
¿Me falta algún paso?
Editar: con la configuración anterior, cuando entro al servidor openvpn (el dnsmasq también se ejecuta en el mismo servidor), y lo hago
nslookup google.com 10.8.0.1
, se resuelve correctamente
Cuando lo hago, nslookup blockthis.com 10.8.0.1
se resuelve correctamente 0.0.0.0
como se esperaba, según lo descrito en el /etc/hosts
archivo.
El problema es que, cuando me conecto desde el cliente a openvpn, de alguna manera openvpn no entrega la resolución dns a dnsmasq, sin embargo, la línea interface=tun0
está habilitada en dnsmasq y un netstat -plunt
indica que el puerto 53 está en funcionamiento, escuchado por dnsmasq.
Respuesta1
Bien, lo resolví. Necesario para abrir el Firewall.
ufw allow out on tun0
ufw allow in on tun0