Cómo configurar dnsmasq en Ubuntu Server 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq es un servidor DNS local muy ligero. dnsmasq también se puede configurar como servidor de caché DNS y servidor DHCP. dnsmasq tiene compatibilidad con IPv4 e IPv6, incluidos DHCPv4 y DHCPv6. dnsmasq es ideal para redes pequeñas.

En este artículo, le mostraré cómo usar dnsmasq para configurar un servidor DNS local, almacenar en caché el servidor DNS y el servidor DHCP. Entonces empecemos.







Topología de la red:

Esta es la topología de red de este artículo. Aquí, lo configuraré enrutador como servidor DNS y DHCP con dnsmasq. enrutador tiene 2 interfaces de red, una ( ens33 ) se conecta al internet y el otro ( ens38 ) se conecta a un interruptor de red . Todos los demás hosts ( host1 , host2 , host3 ) en la red utiliza el servidor DHCP configurado en el enrutador para la asignación automática de direcciones IP y el servidor DNS para la resolución de nombres.





Configuración de IP estática:

En mi topología de red, vio mi enrutador tiene dos interfaces ens33 y ens38 . ens33 conecta el enrutador a Internet y ens38 está conectado a un conmutador de red , a las que se conectan otras computadoras de la red. Tendré que usar DHCP para obtener una dirección IP para el ens33 interfaz de mi ISP para la conexión a Internet. Pero el ens38 La interfaz debe configurarse manualmente.





Usemos la red 192.168.10.0/24 para la interfaz ens38 y otras computadoras en la red. Si utilizo la red 192.168.10.0/24, entonces la dirección IP del ens38 La interfaz del enrutador debe ser 192.168.10.1/24. Esta es la dirección IP del servidor DNS dnsmasq y del servidor DHCP.

NOTA: El nombre de su interfaz de red puede ser diferente. Puede averiguar qué es para usted con el ip a mando.



En Ubuntu Server 18.04 LTS, puede usar netplan para configurar las interfaces de red. El archivo de configuración de netplan predeterminado es /etc/netplan/50-cloud-init.yaml .

Primero, abra el archivo de configuración /etc/netplan/50-cloud-init.yaml con el siguiente comando:

$sudo nano /etc/netplan/50-cloud-init.yaml

Ahora, escriba las siguientes líneas y guarde el archivo presionando + x seguido por y y .

Ahora, reinicia tu enrutador con el siguiente comando:

$sudoreiniciar

Una vez el enrutador arranca, las direcciones IP deben asignarse como se esperaba.

Instalación de dnsmasq:

dnsmasq está disponible en el repositorio oficial de paquetes de Ubuntu. Por lo tanto, puede instalarlo fácilmente utilizando el administrador de paquetes APT.

Usos de Ubuntu resuelto por el sistema de forma predeterminada para administrar los servidores DNS y el almacenamiento en caché de DNS. Antes de instalar dnsmasq, debe detener y deshabilitar resuelto por el sistema servicios. De lo contrario, no podrá ejecutar dnsmasq en absoluto.

Para detener el resuelto por el sistema service, ejecute el siguiente comando:

$sudosystemctl detener systemd-resuelto

Para deshabilitar el resuelto por el sistema service, ejecute el siguiente comando:

$sudosystemctl deshabilitar systemd-resuelto

Por defecto, el /etc/resolv.conf El archivo está vinculado a otro archivo de configuración de systemd, como puede ver en la captura de pantalla a continuación. Pero ya no lo queremos.

Entonces, quita el /etc/resolv.conf enlace con el siguiente comando:

$sudo rm -v /etc/resolv.conf

Ahora, crea un nuevo /etc/resolv.conf archivo y configure el servidor DNS de Google como el servidor DNS predeterminado con el siguiente comando:

$echo 'servidor de nombres 8.8.8.8' | sudo tee /etc/resolv.conf

Ahora, actualice la caché del repositorio de paquetes APT con el siguiente comando:

$sudoactualización apta

Ahora, instale dnsmasq con el siguiente comando:

$sudoaptoInstalar en pcdnsmasq

dnsmasq debe estar instalado.

Configuración del servidor DNS dnsmasq:

El archivo de configuración de dnsmasq es /etc/dnsmasq.conf . Para configurar dnsmasq como servidor DNS, debe modificar este archivo.

El valor por defecto /etc/dnsmasq.conf El archivo contiene mucha documentación y opciones comentadas. Por lo tanto, creo que es mejor cambiar el nombre del /etc/dnsmasq.conf archivo a /etc/dnsmasq.conf.bk y crea uno nuevo.

Puede cambiar el nombre del archivo de configuración con el siguiente comando:

$sudo mv -v /etc/dnsmasq.conf/etc/dnsmasq.conf.bk

Ahora, crea el archivo de configuración /etc/dnsmasq.conf como sigue:

$sudo nano /etc/dnsmasq.conf

Ahora, escriba las siguientes líneas y guarde el archivo presionando + x seguido por y y .

# Configuración de DNS
Puerto=53

dominio necesario
falso-priv
orden estricto

expand-hosts
dominio= ejemplo.com

NOTA: Cambio example.com a su propio nombre de dominio.

Ahora, reinicie el servicio dnsmasq con el siguiente comando:

$sudosystemctl reiniciar dnsmasq

Sin errores. ¡Excelente!

Ahora tienes que configurar 192.168.10.1 como la dirección predeterminada del servidor DNS en el /etc/resolv.conf .

Para hacer eso, abre /etc/resolv.conf archivo con el siguiente comando:

$sudo nano /etc/resolv.conf

Ahora, escriba servidor de nombres 192.168.10.1 antes de la línea servidor de nombres 8.8.8.8 como se muestra en la captura de pantalla a continuación. Luego guarde el archivo.

Eso es todo.

Agregar registros DNS:

Ahora, puede agregar sus entradas de DNS al / etc / hosts expediente.

Primero, abra el / etc / hosts archivo con el siguiente comando:

$sudo nano /etc/Hospedadores

Ahora, escriba sus entradas de DNS en el siguiente formato:

IP_ADDR DOMAIN_NAME

Agregué 4 entradas router.example.com (192.168.10.1) , host1.example.com (192.168.10.51) , host2.example.com (192.168.10.52) , y host3.example.com (192.168.10.53) como se marca en la captura de pantalla a continuación. Puede agregar tantas entradas DNS como desee.

Una vez que haya terminado, guarde el archivo presionando + x seguido por y y .

Ahora, reinicie el servicio dnsmasq con el siguiente comando:

$sudosystemctl reiniciar dnsmasq

Prueba del servidor DNS:

Como puede ver, la resolución de DNS local funciona.

$ustedrouter.example.com

La resolución de nombres de Internet también funciona.

$ustedgoogle.com

Configuración del servidor DHCP:

Para configurar el servidor DHCP, abra el archivo de configuración dnsmasq /etc/dnsmasq.conf de nuevo de la siguiente manera:

$sudo nano /etc/dnsmasq.conf

Ahora, agregue las líneas marcadas al final del archivo. Luego guarde el archivo.

# Configuración DHCP
rango-dhcp = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = option: router, 192.168.10.1
dhcp-option = opción: dns-server, 192.168.10.1
dhcp-option = opción: máscara de red, 255.255.255.0

dhcp-host = 00: 0C:29: A5: BD: 4A, 192.168.10.51
dhcp-host = 00: 0C:29: A5: BD: 5B, 192.168.10.52
dhcp-host = 00: 0C:29: A5: BD: 6C, 192.168.10.53

Aquí, gama dhcp se utiliza para establecer el rango de direcciones IP que el servidor DHCP asignará a los hosts.

opción dhcp se utiliza para configurar la puerta de enlace ( opción: enrutador ), Dirección del servidor DNS ( opción: dns-server ) y máscara de red ( opción: máscara de red )

dhcp-host se utiliza para configurar direcciones IP específicas para los hosts en función de las direcciones MAC especificadas.

Ahora, reinicie el servicio dnsmasq con el siguiente comando:

$sudosystemctl reiniciar dnsmasq

Prueba del servidor DHCP:

Como puede ver, la computadora host1 obtuve la dirección IP 192.168.10.51/24 desde el servidor DHCP.

La resolución DNS también funciona desde host1 .

De la misma manera host2 y host3 también obtiene la dirección IP correcta del servidor DHCP y la resolución DNS funciona en cada uno de ellos.

A dónde ir a continuación:

Si desea obtener más información sobre dnsmasq, consulte el archivo de configuración predeterminado /etc/dnsmasq.conf (ahora renombrado a /etc/dnsmasq.conf.bk ). Tiene una descripción detallada de todas las opciones de configuración de dnsmasq.

$menos /etc/dnsmasq.conf.bk

Archivo de configuración predeterminado de dnsmasq de Ubuntu Server 18.04 LTS.

Entonces, así es como configura dnsmasq en Ubuntu Server 18.04 LTS. Gracias por leer este artículo.