OpenVPN y systemd-resolve

9

¿Cómo se usa el dns empujado a través de un servidor openvpn con systemd resuelto?

Antes de decidir 'actualizar' a systemd-networkd. Podría usar alguna variante del script openvpn-resolv-conf para llamar a resolvconf para administrar entradas en /etc/resolv.conf al establecer con éxito un túnel vpn.

Esto me permitiría resolver nombres en el extremo remoto del túnel vpn.

Ahora que systemd-resolve gestiona /run/systemd/resolved/resolv.conf ¿es posible agregar automáticamente DNS enviado a través de una conexión openvpn a la lista de servidores de nombres utilizados para la resolución?

sw1nn
fuente

Respuestas:

2

Editar : a partir de hoy, esta solución es en su mayoría obsoleta. Los usuarios de versiones más recientes de systemd deben consultar la solución dada por Piotr Dobrogost.

El truco es crear un archivo de configuración de red temporal con la configuración de DNS y luego reiniciar systemd-networkpara que aplique la configuración global de DNS.

He escrito un script modificado que hace exactamente eso. Puede verificarlo aquí: update-systemd-network.sh

WGH
fuente
Encuentro que hay una condición de carrera con la creación de rutas empujadas a través de la configuración de openvpn al reiniciar systemd-networkd. Sin embargo, en lugar de crear una nueva configuración de red y reiniciar systemd-networkes posible crear un archivo muy similar en /run/systemd/resolved-conf.d/y luego reiniciar systemd-resolvedel cual parece funcionar
sw1nn
Parece que las características anteriores en systemd-resolve se agregaron en 229 después de mi pregunta original.
sw1nn
Según @grawity de #systemd: la forma correcta de hacerlo funcionar es llamar a org.freedesktop.resolve1.Manager.SetLinkDNS()través de DBus
Piotr Dobrogost el