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

Cómo instalar Blacklistd en FreeBSD 11.1

Cómo instalar Blacklistd en FreeBSD 11.1

Introducción Cualquier servicio que esté conectado a Internet es un objetivo potencial para ataques de fuerza bruta o acceso injustificado. Hay herramientas como fail2ba

How To Install Apache, MySQL and PHP (FAMP) Stack on FreeBSD 12.0

How To Install Apache, MySQL and PHP (FAMP) Stack on FreeBSD 12.0

Introduction A FAMP stack, which is comparable to a LAMP stack on Linux, is a collection of open-source software that is typically installed together t

Configurar OpenBSD 5.6 con cifrado de disco completo

Configurar OpenBSD 5.6 con cifrado de disco completo

Este tutorial le mostrará cómo configurar OpenBSD 5.6 con un disco completamente encriptado en su Vultr VPS. Una nota sobre la parte de cifrado: la mayoría de los centros de datos alrededor de

Cómo usar Sudo en Debian, CentOS y FreeBSD

Cómo usar Sudo en Debian, CentOS y FreeBSD

Usar un usuario sudo para acceder a un servidor y ejecutar comandos a nivel raíz es una práctica muy común entre Linux y Unix Systems Administrator. El uso de un sud

Cómo instalar osTicket en FreeBSD 12

Cómo instalar osTicket en FreeBSD 12

¿Usando un sistema diferente? osTicket es un sistema de tickets de soporte al cliente de código abierto. El código fuente de osTicket está alojado públicamente en Github. En este tutorial

How to Install Osclass on FreeBSD 12

How to Install Osclass on FreeBSD 12

Using a Different System? Osclass is an open source project that allows you to easily create a classified site without any technical knowledge. Its sourc

How to Install Wiki.js on FreeBSD 11

How to Install Wiki.js on FreeBSD 11

Using a Different System? Wiki.js is a free and open source, modern wiki app built on Node.js, MongoDB, Git and Markdown. Wiki.js source code is publicl

How to Install Lychee 3.1 Photo Album on a FreeBSD 11 FAMP VPS

How to Install Lychee 3.1 Photo Album on a FreeBSD 11 FAMP VPS

Using a Different System? Lychee 3.1 Photo Album is a simple and flexible, free and open source photo-management tool which runs on a VPS server. It install

Installing Fork CMS on FreeBSD 12

Installing Fork CMS on FreeBSD 12

Using a Different System? Fork is an open source CMS written in PHP. Forks source code is hosted on GitHub. This guide will show you how to install Fork CM

Crear archivo de intercambio en FreeBSD 10

Crear archivo de intercambio en FreeBSD 10

Fuera de la caja, los servidores Vultr FreeBSD no están configurados para incluir espacio de intercambio. Si su intención es una instancia de nube desechable, probablemente no necesite

Cómo cambiar el tamaño de un disco en FreeBSD

Cómo cambiar el tamaño de un disco en FreeBSD

El sistema operativo FreeBSD utiliza UFS (Sistema de archivos Unix) para su sistema de archivos de particiones raíz; también conocido como freebsd-ufs en caso de una actualización

How to Install Selfoss RSS Reader on a FreeBSD 11 FAMP VPS

How to Install Selfoss RSS Reader on a FreeBSD 11 FAMP VPS

Using a Different System? Selfoss RSS Reader is a free and open source self-hosted web-based multipurpose, live stream, mashup, news feed (RSS/Atom) reade

How to Install Matomo Analytics on FreeBSD 11

How to Install Matomo Analytics on FreeBSD 11

Using a Different System? Matomo (formerly Piwik) is an open source analytics platform, an open alternative to Google Analytics. Matomo source is hosted o

How to Enable TLS 1.3 in Nginx on FreeBSD 12

How to Enable TLS 1.3 in Nginx on FreeBSD 12

Using a Different System? TLS 1.3 is a version of the Transport Layer Security (TLS) protocol that was published in 2018 as a proposed standard in RFC 8446

How to Install Craft CMS on FreeBSD 12

How to Install Craft CMS on FreeBSD 12

Using a Different System? Introduction Craft CMS is an open source CMS written in PHP. Craft CMS source code is hosted on GitHub. This guide will show yo

Cómo instalar Backdrop CMS en un FreeBSD 11 FAMP VPS

Cómo instalar Backdrop CMS en un FreeBSD 11 FAMP VPS

¿Usando un sistema diferente? Backdrop CMS 1.8.0 es un sistema de administración de contenido (CMS) simple y flexible, amigable para dispositivos móviles, gratuito y de código abierto que nos permite

Cómo instalar ImpressPages CMS 5.0 en un FreeBSD 11 FAMP VPS

Cómo instalar ImpressPages CMS 5.0 en un FreeBSD 11 FAMP VPS

¿Usando un sistema diferente? ImpressPages CMS 5.0 es un sistema de gestión de contenido (CMS) simple y efectivo, gratuito y de código abierto, fácil de usar y basado en MVC

How to Install NodeBB forum on FreeBSD 12

How to Install NodeBB forum on FreeBSD 12

Using a Different System? NodeBB is a Node.js based forum software. It utilizes web sockets for instant interactions and real-time notifications. The NodeB

Install eSpeak on FreeBSD 12

Install eSpeak on FreeBSD 12

Using a Different System? ESpeak can generate text-to-speech (TTS) audio files. These can be useful for many reasons, such as creating your own Turin

Instalar TaskServer (taskd) en FreeBSD 11

Instalar TaskServer (taskd) en FreeBSD 11

¿Usando un sistema diferente? TaskWarrior es una herramienta de gestión de tiempo de código abierto que es una mejora en la aplicación Todo.txt y sus clones. Debido a th

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿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.