¿Cuál es la "forma correcta" de efectuar cambios en /etc/resolv.conf con /etc/resolv.conf.d en su lugar?

11

Yo, los viejos tiempos, resolv.confera estático y lo editaste tú mismo.

Más tarde, el cliente DHCP lo reescribiría, usando algunas entradas estáticas y lo que obtuvo del arrendamiento DHCP.

En estos días, algunas distribuciones, como la mía (Linux Mint 18.1) tienen un /etc/resolv.conf.dmecanismo con varios subdirectorios de scripts, y, bueno, no puedo entenderlo.

¿Cuál es la forma correcta, entonces,

  • para indicar que quiero usar o no usar los servidores DNS obtenidos en el contrato de arrendamiento de DHCP?
  • agregar entradas fijas a resolv.conf, siempre o como alternativa cuando no hay un servidor de nombres obtenido mediante arrendamiento DHCP?
  • tomar decisiones sobre el orden relativo en el archivo?

No me importa escribir algunos guiones propios si los tengo, simplemente no quiero "trabajar en contra" del mecanismo existente o hacer un trabajo duplicado.

einpoklum
fuente
44
Desinstalo resolvconfen los servidores ... unix.stackexchange.com/questions/286195/…
Rui F Ribeiro
También puede configurar dhclientpara ignorar / reemplazar la información de DNS de DHCP; No estoy seguro de que haya un mecanismo /etc/resolv.conf.dpara hacer esto (pero no uso Mint y no tengo esos scripts).
dirkt
@dirkt: En realidad, en este momento, la única entrada que entra en mi /etc/resolv.confes localhost (que ejecuta dnsmasq), por lo que no tengo claro cómo interactúan dnsmasq, el mecanismo resolv.conf.d y el cliente DHCP.
einpoklum

Respuestas:

2

La respuesta es simple: la resolv.conf.dcarpeta existe en / etc / resolvconf / y contiene archivos head / base / original y tail. cada uno de ellos, si se edita, actualizará el resolv.confarchivo en / etc /

supongamos que desea poner alguna dirección DNS estática al comienzo de resolv.conf/ etc / (porque en cada reinicio se restablece automáticamente a su configuración predeterminada) necesita editar el headarchivo en /etc/resolvconf/resolvconf.d/ y escribir por ejemplo:

nameserver 1.1.1.1
nameserver 1.0.0.1

después de eso reinicie el servicio resolvconf usando:

sudo service resolvconf restart

ahora cat resolv.confen / etc / y verá los nuevos cambios.

lo mismo se aplica si desea colocar cosas al final del archivo, use en taillugar de head/etc/resolvconf/resolvconf.d/

PD: esto es 100% probado y funciona Ubuntu y Debian

Editar: ya respondí las dos últimas viñetas de su pregunta, ahora con respecto a la primera viñeta que habla sobre cómo no usar la dirección DNS proporcionada por DHCP. Realmente depende de qué software / paquete DNS haya instalado, por lo tanto, le recomiendo que revise esta publicación y asegúrese de leer también la que se encuentra debajo en caso de que la tenga dnsmasq.

M03
fuente
1
+1, pero esto solo explica cómo hacer parte de lo que pregunté.
einpoklum
0

resolve.conf y algunos mecanismos como estos existen desde años anteriores hasta ahora. No hay línea de comandos dhclient, resolvconfque manejan este archivo, Sin embargo, en años recientes Linux introducir nueva interfaz para la configuración de NetworkManager con el nombre de nmcli . Este es un comando rico para administrar todas las configuraciones de red persistentes (no el tiempo de ejecución). puedes usar algo como:

$ nmcli connection modify eth0 ipv4.dns 8.8.8.8

Este comando será sobrescribir el resolv.confarchivo. En RHCA, se recomienda no editar resolv.conf a mano y usar sus comandos. Sobre el directorio resolvconf que ha mencionado, puedo decir que puede haber algunos servicios que tengan su propia configuración para DNS, por lo que la usan como su propia configuración como OpenVpn. También puede consultar el /etc/nsswitcharchivo para obtener más información sobre la resolución.

Ali Ghasempour
fuente
No creo que esto realmente responda mi pregunta.
einpoklum
Bueno, tal vez esta es mi señorita entendida sobre su pregunta, pero el nsswitcharchivo es una de sus respuestas.
Ali Ghasempour
Creo que @einpoklum quiere tener el control del orden de los servidores DNS en resolv.conf(ver man resolv.conf), no del orden de los medios utilizados para resolver ( man nsswitch.conf). Pero tu respuesta es interesante, no obstante.
xhienne
Gracias por su interés . Hasta donde sé, resolv.conf es un archivo secuencial y su prioridad de resolución es de arriba a abajo.
Ali Ghasempour