Para los usuarios de DHCP, puede haber ocasiones en las que necesite editar /etc/resolv.conf
para usar otros servidores de nombres. Luego, después de un período de tiempo (o después de reiniciar el sistema), descubre que sus cambios /etc/resolv.conf
se han revertido.
Este tutorial muestra tres métodos para evitar que DHCP cambie el /etc/resolv.conf
en Debian o Ubuntu.
Método 1: cambie la configuración de la interfaz a estática
- En una nube vps, no sugiero usar este método.
- Si utiliza este método, es posible que el proceso de reinicio (hasta que pueda iniciar sesión a través de ssh) tarde más.
Primero, necesitamos obtener la IP / máscara de red / puerta de enlace del servidor. Ejecute el siguiente comando.
ifconfig | grep "inet addr" | head -n 1 | awk '{print $2, $4}'
Esto proporciona la IP del servidor y la máscara de red. Mirando el resultado de ejemplo ...
addr:1.2.3.4 Mask:255.255.254.0
... la dirección IP del servidor es 1.2.3.4 y la máscara es 255.255.254.0 .
Para obtener la dirección de la puerta de enlace, ejecute el siguiente comando.
netstat -rn | grep '^0.0.0.0' | awk '{print $2}'
En este ejemplo, usaré la dirección de la puerta de enlace 1.2.3.1 .
Ahora que tenemos la IP / máscara de red / puerta de enlace , edite /etc/network/interfaces
.
vim /etc/network/interfaces
Realice las siguientes ediciones:
# Comment out this line
# iface eth0 inet dhcp
# Add these contents
iface eth0 inet static
address 1.2.3.4
mask 255.255.254.0
gateway 1.2.3.1
Recuerde, debe reemplazar estos valores con la IP / máscara de red / puerta de enlace apropiada del servidor.
Guarde y salga, luego reinicie.
Método 2: protege contra escritura tus servidores de nombres
Cambia tus servidores de nombres editando /etc/resolv.conf
. Una vez que haya realizado sus ediciones, proteja contra escritura ese archivo.
chattr +i /etc/resolv.conf
La +i
escritura de la opción (atributo) protege el /etc/resolv.conf
archivo en Linux para que nadie pueda modificarlo, ni siquiera el usuario root.
Si necesita eliminar el atributo de protección contra escritura, use el siguiente comando.
chattr -i /etc/resolv.conf
Método 3: usar ganchos DHCP
Este es el método que más recomiendo usar.
Editar /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
.
vim /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
Realice las siguientes ediciones:
#!/bin/sh
make_resolv_conf(){
:
}
Guardar y Salir.
Actualice los permisos en el nodnsupdate
archivo.
chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
Reinicia tu servidor. Ahora puede actualizar los servidores de nombres editando /etc/resolv.conf
sin preocuparse por la reversión.