Para aprender, estoy escribiendo mi propio servidor DNS de almacenamiento en caché (al estilo dnsmasq, pero en Python). Desde DHCP, NetworkManager obtiene servidores de nombres ascendentes y los coloca en formato /etc/resolv.conf
. Mi sistema también busca /etc/resolv.conf
servidores de nombres para consultar.
Necesito colocar mi propio servidor DNS ( 127.0.0.1
) /etc/resolv.conf
para que mi sistema lo consulte, pero NetworkManager sobrescribirá el archivo. Si no permito/configuro NetworkManager para que no sobrescriba /etc/resolv.conf
, mi servidor DNS no podrá encontrar servidores de nombres de almacenamiento en caché porque NetworkManager no los escribe allí.
Parece que hay /etc/resolv.conf
enlaces simbólicos a /var/run/NetworkManager/resolv.conf
, así que supongo que podría hacer que mi servidor DNS encuentre servidores ascendentes allí. Solo quisiera chattr -i /etc/resolv.conf
evitar que NetworkManager lo sobrescriba. ¿Es así como se supone que debo hacerlo o hay una manera mejor?
Respuesta1
chattr funcionará. Le dice a NM que deje resolv.conf en paz. Alternativamente, ver rc-manager
en man NetworkManager.conf
.
NM siempre escribirá en su resolv.conf interno en var/run, por lo que puedes eliminarlo. O usa nmcli -f all device show
, o usa un script de despachador ( man NetworkManager
).
Finalmente, podrías escribir tu propio complemento DNS. Pero eso requiere que reconstruyas NM desde la fuente, y la API del complemento tampoco es pública/estable.