Servidor DNS en Raspberry Pi

Ammar Ali 15 febrero 2024
  1. Servidor DNS en Raspberry Pi
  2. Configurar dirección IP estática en Raspberry Pi
  3. Configurar el servidor DNS en Raspberry Pi
  4. Pruebe el servidor DNS en Raspberry Pi
Servidor DNS en Raspberry Pi

Este tutorial analizará el uso de DNS para transformar direcciones IP en nombres de dominio fáciles de usar en Raspberry Pi y para mejorar el tiempo de cálculo de las solicitudes de DNS de una computadora.

Servidor DNS en Raspberry Pi

El DNS o sistema de nombres de dominio transforma las direcciones IP legibles por computadora de un nombre de dominio legible por humanos como 192.168.0.1 a algo como webname.com. Cuando queremos abrir un sitio web, escribimos su nombre en la barra de búsqueda, pero la computadora no lo entiende y usa DNS para transformar el nombre de dominio en una dirección IP que la computadora puede entender.

Podemos usar DNS en una Raspberry Pi para transformar nuestra dirección IP en un nombre de dominio, y también mejorará el tiempo de cómputo de las solicitudes de DNS en una computadora. Podemos vincular nuestros ordenadores o móviles con el servidor DNS de Raspberry Pi, y cada vez que realicemos una petición DNS, el servidor DNS de Raspberry Pi determinará la dirección IP de esa petición y guardará la respuesta en la memoria caché.

Esto significa que si volvemos a solicitar el mismo dominio, el DNS de Raspberry Pi devolverá la respuesta desde el caché, reduciendo el tiempo de cómputo. Nuestra computadora también hace lo mismo; cuando abrimos una aplicación por primera vez y la cerramos, la computadora la guarda en la memoria caché, y cuando la volvemos a ejecutar, la computadora ejecuta la aplicación desde la memoria caché, lo que reduce el tiempo de apertura de la aplicación.

Configurar dirección IP estática en Raspberry Pi

Antes de instalar y configurar el servidor DNS en Raspberry Pi, debemos usar una dirección IP estática en nuestra Raspberry Pi porque una dirección IP dinámica puede cambiar por sí misma y necesitamos una dirección IP que permanezca igual todo el tiempo. Siga los pasos a continuación para configurar una dirección IP estática en Raspberry Pi.

Podemos usar el dominio del cliente DHCP, que maneja las direcciones IP, para obligar a nuestra Raspberry Pi a usar una dirección IP estática. Necesitamos cambiar algunas configuraciones en el archivo de configuración de DHCPCD en Raspberry Pi.

Primero, necesitamos obtener cierta información, como la dirección IP del enrutador y Raspberry Pi. Para verificar la dirección IP del enrutador, debemos ejecutar el siguiente comando en la terminal.

ip r | grep default

Producción :

default via 10.0.2.2 dev eth0 proto dhcp src 10.0.2.15 metric 202

La primera dirección IP es la dirección IP del router, que en este caso es 10.0.2.2, que debemos anotar porque se utilizará más adelante.

A continuación, necesitamos obtener la dirección IP actual del servidor DNS usando el siguiente comando.

sudo nano /etc/resolv.conf

Producción :

domain Home
nameserver 127.0.0.1

El código anterior abrirá el archivo de configuración, que se puede cerrar usando CTRL+x desde el teclado. La dirección IP en el código anterior es la dirección IP del servidor DNS, que es 127.0.0.1, y también debemos anotarlo.

Ahora, podemos abrir el archivo dhcpcd.conf usando el siguiente comando para modificarlo.

sudo nano /etc/dhcpcd.conf

El comando anterior abrirá el archivo de configuración de DHCPCD, y tenemos que ingresar las siguientes líneas de código al final del archivo.

interface <eth0 or wlan0>
static ip_address=<static IP>/24
static routers=<router IP>
static domain_name_servers=<dns server IP>

En la primera línea del código anterior, tenemos que escribir eth0 para ethernet o wlan0 para WIFI, dependiendo de la red de nuestra Raspberry Pi. En la segunda línea, tenemos que cambiar la IP estática con la dirección IP que queremos asignar a la Raspberry Pi.

En la tercera línea, tenemos que agregar la dirección IP del enrutador, que recuperamos arriba, que era 10.0.2.2. En la cuarta línea, tenemos que agregar la dirección IP del servidor DNS, que puede ser la misma que encontramos en los pasos anteriores, que es 127.0.0.1 u otra dirección IP DNS como 8.8.8.8 de Google .

Después de eso, tenemos que guardar los cambios que hicimos en el archivo de configuración usando CTRL+x y luego y y luego ENTER . Tenemos que reiniciar nuestra Raspberry Pi usando el comando sudo reboot para que se carguen los nuevos ajustes y la Raspberry Pi se conectará con el router usando la nueva dirección IP estática.

Configurar el servidor DNS en Raspberry Pi

Después de configurar una dirección IP estática, necesitamos actualizar el sistema operativo Raspberry Pi e instalar el servidor DNS usando los siguientes comandos en la terminal.

sudo apt update
sudo apt upgrade
sudo apt install dnsmasq

Necesitamos ejecutar los comandos anteriores uno por uno y, si solicita permiso, ingrese y para instalar un paquete. A continuación, debemos abrir el archivo dnsmasq.conf para modificar algunas configuraciones usando los siguientes comandos.

sudo nano /etc/dnsmasq.conf

El comando anterior abrirá un archivo de configuración y necesitamos encontrar y reemplazar algunas líneas. Podemos usar CTRL+W para abrir la barra de búsqueda y buscar la siguiente línea de código y reemplazarla.

Podemos escribir texto dentro de la barra de búsqueda y luego encontrarlos presionando ENTER.

Encontrar:

#domain-needed

Reemplazar con:

domain-needed

El comando anterior permitirá que el servidor DNS reenvíe los nombres que no contengan . o .com en ellos y mantener los nombres dentro de la red local como localhost.

Encontrar:

#bogus-priv

Reemplazar con:

bogus-priv

El comando anterior evitará que el servidor DNS envíe consultas inversas a los servidores ascendentes y la dirección IP de la red local no se enviará a los servidores DNS.

Encontrar:

#no-resolv

Reemplazar con:

no-resolv

Los comandos anteriores evitarán que el DNS lea el archivo de configuración para los servidores ascendentes.

Encontrar:

#server=/localnet/192.168.0.1

Reemplazar con:

server=8.8.8.8
server=8.8.4.4

El comando anterior hará que el servidor DNS use el servidor DNS de Google para servidores ascendentes.

Encontrar:

#cache-size=150

Reemplazar con:

cache-size=1000

Los comandos anteriores aumentarán el tamaño de la memoria caché, aumentando la cantidad de solicitudes que el servidor DNS almacenará en la memoria caché. Ahora, tenemos que guardar los cambios que hicimos en el archivo de configuración usando CTRL+X e ingresando y y luego ENTER desde el teclado.

Necesitamos reiniciar el servidor DNS y verificar su estado usando los siguientes comandos.

sudo systemctl restart dnsmasq
sudo systemctl status dnsmasq

Tenemos que ejecutar los comandos anteriores uno por uno en la terminal, y el segundo comando mostrará algo como Activo: activo (en ejecución) junto con otra información, lo que significa que el servidor DNS está activo y en ejecución.

Pruebe el servidor DNS en Raspberry Pi

Para probar el servidor DNS, podemos usar la herramienta dig, que se puede instalar con el siguiente comando.

sudo apt install dnsutils

Después de instalarlo, podemos usar el siguiente comando para probar nuestro servidor DNS.

dig ammar.com @localhost

En el comando anterior, estamos usando @localhost con el comando dig, que lo utilizará para la búsqueda de DNS y devolverá el siguiente resultado.

prueba de DNS

Si volvemos a ejecutar el comando anterior, el tiempo de consulta en la imagen de arriba disminuirá, lo que significa que la solicitud anterior se guardó en la memoria caché.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Artículo relacionado - Raspberry Pi