Proteja resolv.conf de DHCP en FreeBSD 10

Si está ejecutando su propio resolutor, o desea utilizar uno de un proveedor externo, es posible que /etc/resolv.confDHCP sobrescriba su archivo. Hay varias formas de resolver este problema. Dado que es probable que desee reiniciar para asegurarse de que sus cambios se mantengan, y dado que va a estar haciendo monos con la configuración de red en primer lugar, le sugiero encarecidamente que haga esto en una instancia de prueba y / o fuera del pico horas

Ahora bien, aquí hay tres métodos, de peor a mejor. Tenga en cuenta que todos los métodos en esta guía fueron escritos para FreeBSD 10. Los usuarios de Linux pueden consultar esta guía .

Método 1: usar la configuración de la interfaz estática

En mis pruebas limitadas, esto da como resultado tiempos de arranque un poco más rápidos, ya que no tiene que esperar a que DHCP asigne su configuración de red. Sin embargo, he visto mencionar en varios documentos de Vultr que el uso de la configuración de la interfaz estática está mal visto y que debe apegarse a DHCP. Supongo que tienen una buena razón para esto y, por lo tanto, he seguido usando DHCP yo mismo. Sin embargo, si decide seguir esta ruta, siga los pasos a continuación.

  • Determine la IP de su servidor, la máscara de red y la IP de la puerta de enlace.
  • Modifique /etc/rc.confpara usar estos valores en lugar de DHCP.
  • Reiniciar para probar la configuración.

Determinar IP / máscara de red / puerta de enlace

Suponiendo que su interfaz es vtnet0, realice lo siguiente:

ifconfig vtnet0 | grep inet

Esto debería proporcionarle la dirección IP y la máscara de red para su servidor:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

A FreeBSD le gusta usar hexadecimal para la máscara de red. Lo anterior se convierte a 255.255.255.0si tienes curiosidad. Puede encontrar una tabla práctica aquí , pero no tema: puede copiar la dirección hexadecimal en sus archivos de configuración (o convertirla a decimal si lo prefiere).

Puede encontrar la puerta de enlace de varias maneras. Aquí hay uno:

route get default | grep gateway devolverá algo en la línea de:

gateway: 10.10.10.1

Modificar /etc/rc.confcon nuevos valores

Armado con la IP, la máscara de red y la puerta de enlace, ahora es el momento de agregarlos a la configuración del sistema. Yo recomiendo hacer copias de seguridad de este archivo antes de hacer cualquier cambio, ya que hará que sea mucho más fácil de deshacer debe metes la pata. Ahora, abre /etc/rc.confen el editor de tu elección y realiza los siguientes cambios:

# Comment out this line:
# ifconfig_vtnet0="dhcp"

# Add these lines:
defaultrouter="10.10.10.1"
ifconfig_vtnet0="inet 10.10.10.10 netmask 0xffffff00"

Obviamente, debe asegurarse de sustituir su IP real, máscara de red y puerta de enlace por mis falsificaciones obvias.

Reiniciar y probar

Reinicie su servidor usando shutdown -r nowy asegúrese de que vuelva a funcionar correctamente. Realice las pruebas que considere necesarias para asegurarse de que todo funcione correctamente. Si no se puede acceder a la red, inicie sesión a través de la consola y revierta sus cambios. Si todo está bien, en este punto puedes poner lo que quieras resolv.confsin temor a que sea borrado.

Si por alguna razón no puede reiniciar, esto debería funcionar, pero realmente haría un reinicio adecuado si fuera usted:

service netif restart && service routing restart

Método 2: hacer resolv.confinmutable

Es un truco, pero es fácilmente la solución más rápida. No lo recomiendo porque no puedo garantizar que esto no cause algo extraño en el futuro cuando actualice a una nueva versión del sistema operativo, y es probable que dhclient se queje un montón. Dicho esto, un simple chflags schg /etc/resolv.confes todo lo que se necesita. El archivo ahora está completamente protegido contra escritura, incluso desde la raíz. Puedes verificar así:

vultr [~]# chflags schg /etc/resolv.conf
vultr [~]# ls -ol /etc/resolv.conf
-rw-r--r--  1 root  wheel  schg 50 Nov 29 06:28 /etc/resolv.conf
vultr [~]# echo "so very untouchable" >> /etc/resolv.conf
/etc/resolv.conf: Operation not permitted.

Deshacer con: chflags noschg /etc/resolv.conf

Método 3: dígale cortésmente a FreeBSD que deje su configuración sola

Esta es, con mucho, la forma más limpia y adecuada de hacer esto. Hay dos enfoques que puede tomar:

Configurar dhclient

Tomemos el ejemplo desde arriba, y digamos que todo lo que quiere hacer es poner su servidor de nombres personalizado resolv.confy no quiere perderlo cada vez que DHCP hace lo suyo. En mi caso, quiero usar el resolutor de almacenamiento en caché que instalé que escucha en localhost, así que edito /etc/dhclient.conf(que probablemente estará en blanco aparte de los comentarios) y agrego lo siguiente:

interface "vtnet0" {
    supersede domain-name-servers 127.0.0.1;
}

Esto permitirá que dhclient haga todo lo que usted necesita que haga, pero cuando el servidor DHCP le envíe una lista de servidores de nombres para usar, el suyo reemplazará (como en, reemplazará por completo) los que ofrece. Si prefiere complementar (en lugar de reemplazar) los ofrecidos, puede "agregar" o "anteponer" en lugar de "reemplazar", según corresponda.

Por cierto, si necesita más de un servidor personalizado, especifíquelos así:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Después de realizar los cambios, reinicie dhclientpara que entren en vigencia de inmediato:

service dhclient restart vtnet0

Examine su /etc/resolv.confy debería encontrar que ahora tiene sus servidores de nombres personalizados.

Al momento de escribir esto, los servidores de nombres son lo único que el servidor DHCP de Vultr ha puesto en mi resolv.conf, y lo único que me he preocupado por personalizar. Sin embargo, si alguna vez necesita anular cualquier otra configuración, consulte el excelente manual para obtener una lista completa:

man 5 dhclient.conf

Hay excelentes ejemplos en la parte inferior que deberían darle una idea de lo que puede hacer. Fuera de mi cabeza, me imagino que querrás agregar algo como supersede domain-name "example.com";si normalmente tienes una línea como esa en tu resolv.conf. Nuevamente, consulte los documentos.

Configurar resolvconf

Esta es la solución más simple si solo quiere resolv.confque se quede solo. Por el manual:

resolvconf manages resolv.conf(5) files from multiple sources, such as DHCP and VPN clients

Su configuración reside /etc/resolvconf.conf, lo que probablemente no exista en su sistema, así que siéntase libre de crearlo. Para hacer su resolv.confinmutable, agregue esto:

# prevent all updates to resolv.conf:
resolv_conf="/dev/null"

Si lo usa unboundcomo su resolución local de almacenamiento en caché, esa es la línea que agrega (junto con algunas para sí mismo). Eso es básicamente engañar resolvconfa pensar que tu /etc/resolv.confse encuentra en /dev/null. Algo un poco menos malo, pero igualmente efectivo, sería:

# disable resolvconf from running any subscribers:
resolvconf="NO"

Si desea hacer algo más sofisticado que simplemente apagarlo, las páginas del manual resolvconfy resolvconf.conftienen mucha información.



Leave a Comment

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

El impacto de la inteligencia artificial en la atención médica 2021

El impacto de la inteligencia artificial en la atención médica 2021

La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.