Si te conectas usando openvpn a tu VPN del trabajo es probable que hayas tenido alguna vez problemas para acceder a dominios internos de la VPN porque dnsmasq no te actualizaba la configuración de servidores DNS que te proporcionaba tu gateway de acceso VPN. En mi caso, con un gateway Cisco, al conectar la VPN con openconnect no me configuraba las DNS bien.

Rebuscando un poco, encontré que se pueden definir servidores DNS predeterminados para los dominios que tu quieras en la configuración de dnsmaq, veamos como:

Como root, editamos el archivo /etc/NetworkManager/dnsmasq.d/dnsmasq.conf (es probable que haya que crearlo)

Añadimos lineas del estilo

server=.dominio.tld/172.16.1.1
server=.otrodominio.oficina/10.10.10.1
server=.otrodominiomas.local/10.10.10.1
server=dominio.aparte.local/10.10.10.2

Como puedes ver, esta configuración resulta muy flexible ya que solo tenemos que enumerar una única vez a dnsmasq todos los dominios para los que tiene que enrutar las peticiones DNS hacia otro servidor de nombres distinto.

Para aplicar los cambios, he probado a reconectar la VPN, incluso a meter un kill -HUP a dnsmasq, pero no se aplicaban, así que una opción segura para que se apliquen es un simple reinicio del equipo. No te eches las manos a la cabeza, ya que los cambios son persistentes. Mucho peor era tener que editar el /etc/resolv.conf a mano cada vez que nos conectábamos a la VPN 🙂

Espero que este truco para configurar dnsmasq para cuando utilizamos Openconnect te haya sido util!