Servidor DNS en Raspberry Pi
- Servidor DNS en Raspberry Pi
- Configurar dirección IP estática en Raspberry Pi
- Configurar el servidor DNS en Raspberry Pi
- Pruebe el 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.
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é.