Utilice dnsmasq como DNS para OpenVPN

Utilice dnsmasq como DNS para OpenVPN

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.0en el /etc/hostsarchivo y, cuando lo hago nslookup thatdomain.com, obtengo la 0.0.0.0respuesta.

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.confarchivo 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.1se resuelve correctamente 0.0.0.0como se esperaba, según lo descrito en el /etc/hostsarchivo.

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=tun0está habilitada en dnsmasq y un netstat -pluntindica 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

información relacionada