Debian nunca usa la dirección de puerta de enlace del enrutador en resolv.conf
¿Cómo podría configurar Debian para que (nunca use el enrutador como solucionador de nombres de dominio) no muestre la dirección de puerta de enlace del enrutador (servidor de nombres 192.168.1.1) en /etc/resolv.conf cuando reinicio la computadora o ejecuto /sbin/dhclient
?
Utilizo sólo una línea en /etc/dhcp/dhclient.conf
prepend domain-name-servers x.x.x.x,y.y.y.y,z.z.z.z;
Este es mi archivo /etc/network/interfaces:
auto eth0 iface eth0 inet static address 192.168.1.170 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 getaway 192.168.1.1 up route add -net default gw 192.168.1.1 netmask 0.0.0.0 eth0 dns-nameservers x.x.x.x y.y.y.y z.z.z.z
Si ejecuto /sbin/dhclient /etc/init.d/networking reinicio
mi /etc/resolv.conf contiene:
nameserver x.x.x.x
nameserver y.y.y.y
nameserver z.z.z.z
nameserver 192.168.1.1
Respuesta1
En primer lugar, limpie su configuración. ¿Se supone que su eth0
interfaz debe estar configurada con una dirección IP estática o con DHCP? Si está estático, ¿por qué estás ejecutando dhclient
? Si es DHCP, ¿por qué /etc/network/interfaces
enumera los parámetros de IP estática y iface eth0 inet static
en lugar de iface eth0 inet dhcp
? Además, no hay ninguna razón por la que necesite agregar una ruta predeterminada mediante su up route
comando, ya que ya especificó la ruta predeterminada como gateway
parámetro.
Ahora tenga en cuenta que, según el nombre, prepend domain-name-servers
agrega servidores DNS a la lista proporcionada por el servidor DHCP. No los reemplaza.
Recomiendo que, en lugar de solicitar dhclient
personalizar los servidores de nombres que desea utilizar, utilice el resolvconf
marco. resolvconf
coordina todas las diferentes fuentes posibles de información del servidor de nombres DNS (incluidos clientes DHCP separados que se ejecutan en una o más interfaces de red, servidores DNS locales que desea utilizar como solucionadores y configuración estática) y centraliza la creación de un único /etc/resolv.conf
archivo coherente. Es mucho mejor que dejar que varias cosas diferentes se las arreglen /etc/resolv.conf
y hacer que se pisoteen unas a otras tratando de hacerlo.
Instale el resolvconf
paquete si aún no está instalado. Esto deshabilitará automáticamente dhclinent
la manipulación directa del /etc/resolv.conf
archivo.
Ahora su requisito es que no desea utilizar los servidores de nombres proporcionados por el servidor DHCP, así que comente la línea que eth*
dice /etc/resolvconf/interface-order
. Asegúrese de comentar también la última línea del archivo que dice *
; de lo contrario, eth0
aún se considerará.
A continuación, desea utilizar un conjunto de servidores de nombres aprovisionados estáticamente. Dado que son globales del sistema (no están relacionados con el estado de ninguna interfaz determinada), puede agregarlos como servidores de nombres en la interfaz lo en /etc/network/interfaces
:
iface lo inet loopback
dns-nameservers x.x.x.x y.y.y.y z.z.z.z
Y luego ifdown lo; ifup lo
activar esto.
Respuesta2
Otro punto: getaforma en que 192.168.1.1 debería ser gcomióforma 192.168.1.1 (¿por eso probablemente tuvo que agregar la ruta predeterminada para que algo funcione?)
Respuesta3
Si es posible evitarlo, no utilice su puerta de enlace como solucionador en absoluto.
Tienen notoriamente errores al realizar proxy DNS; consulte RFC 5625.
Tiene una máquina Linux perfectamente funcional: simplemente coloque en ella una copia de BIND o, mejor aún, "Unbound".
ObDisclaimer: escribí ese RFC.