Diferencia entre revisiones de «Dnsmasq»

De La Wiki de KiVi
(Página creada con «sudo dnf install dnsmasq sudo systemctl stop systemd-resolved\nsudo systemctl disable systemd-resolved\nsudo systemctl mask systemd-resolved sudo firewall-cmd --zone=external --add-service=dns sudo firewall-cmd --zone=external --add-service=dhcp sudo firewall-cmd --relad sudo nvim /etc/dnsmasq.d/01_mainkivi.conf listen-address=127.0.0.1 domain-needed bogus-priv no-resolv server=208.67.222.222 server=208.67.220.220 local=/mainkivi.info/ listen-address=::…»)
 
Sin resumen de edición
 
Línea 1: Línea 1:
sudo dnf install dnsmasq


== Instalación y configuración de dnsmasq en Fedora ==


sudo systemctl stop systemd-resolved\nsudo systemctl disable systemd-resolved\nsudo systemctl mask systemd-resolved
=== ¿Qué es dnsmasq y por qué usarlo? ===
<code>dnsmasq</code> es un servicio ligero que proporciona funcionalidades de DNS, DHCP y TFTP, ideal para redes pequeñas y medianas. Su simplicidad y eficiencia lo convierten en una excelente opción para gestionar la resolución de nombres y asignación de direcciones IP en entornos controlados. En un servidor Fedora, es especialmente útil para configurar un proxy transparente o para dar servicio a múltiples clientes con una configuración mínima.


sudo firewall-cmd --zone=external --add-service=dns
Es una herramienta recomendada porque:


sudo firewall-cmd --zone=external --add-service=dhcp
* Es fácil de instalar y configurar.
* Consume pocos recursos.
* Permite resolver nombres locales sin depender de DNS externos.
* Integra DHCP y DNS en un solo servicio, facilitando la administración de la red.


sudo firewall-cmd --relad
=== Instalación de dnsmasq ===
<code>sudo dnf install dnsmasq -y</code>


=== Desactivar systemd-resolved ===
Por defecto, Fedora usa <code>systemd-resolved</code>, que puede entrar en conflicto con dnsmasq. Para desactivarlo:
<code>sudo systemctl disable --now systemd-resolved</code>
Luego, edita el archivo <code>/etc/resolv.conf</code> para apuntar a tu servidor DNS local (por ejemplo, la IP interna de tu servidor):
<code>echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf</code>
Asegúrate de que no se sobrescriba:
<code>sudo chattr +i /etc/resolv.conf</code>
=== Configuración básica de dnsmasq ===
Edita el archivo principal de configuración:
<code>sudo nano /etc/dnsmasq.conf</code>
Configuración mínima para DNS y DHCP:
<code># Escuchar en la interfaz interna
interface=eno2
# Rango de direcciones IP para clientes DHCP
dhcp-range=10.0.1.50,10.0.1.100,12h
# Servidores DNS a usar
server=8.8.8.8
server=1.1.1.1
# Dominio local
domain=red.local
# Registro de hosts
dhcp-host=AA:BB:CC:DD:EE:FF,10.0.1.10,host1,12h</code>
=== Configuración del cortafuegos ===
Añade las reglas necesarias para permitir tráfico DNS y DHCP:
<code>sudo firewall-cmd --permanent --add-service=dns
sudo firewall-cmd --permanent --add-service=dhcp
sudo firewall-cmd --reload</code>
=== Habilitar y arrancar dnsmasq ===
<code>sudo systemctl enable --now dnsmasq</code>
Verificar el estado del servicio:
<code>sudo systemctl status dnsmasq</code>
=== Prueba de funcionamiento ===
Verifica que resuelve nombres:
<code>dig google.com @127.0.0.1</code>
Y que asigna direcciones IP:
<code>sudo journalctl -u dnsmasq | grep DHCP</code>
Con esta configuración, tu servidor Fedora estará listo para servir como DNS y DHCP en tu red interna.
== Ejemplo de configuración: ==
sudo nvim /etc/dnsmasq.d/01_mainkivi.conf
sudo nvim /etc/dnsmasq.d/01_mainkivi.conf


Línea 40: Línea 92:


dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases
dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases
sudo systemctl enable dnsmaq
sudo systemctl start dnsmaq

Revisión actual - 14:23 2 mar 2025

Instalación y configuración de dnsmasq en Fedora

¿Qué es dnsmasq y por qué usarlo?

dnsmasq es un servicio ligero que proporciona funcionalidades de DNS, DHCP y TFTP, ideal para redes pequeñas y medianas. Su simplicidad y eficiencia lo convierten en una excelente opción para gestionar la resolución de nombres y asignación de direcciones IP en entornos controlados. En un servidor Fedora, es especialmente útil para configurar un proxy transparente o para dar servicio a múltiples clientes con una configuración mínima.

Es una herramienta recomendada porque:

  • Es fácil de instalar y configurar.
  • Consume pocos recursos.
  • Permite resolver nombres locales sin depender de DNS externos.
  • Integra DHCP y DNS en un solo servicio, facilitando la administración de la red.

Instalación de dnsmasq

sudo dnf install dnsmasq -y

Desactivar systemd-resolved

Por defecto, Fedora usa systemd-resolved, que puede entrar en conflicto con dnsmasq. Para desactivarlo:

sudo systemctl disable --now systemd-resolved

Luego, edita el archivo /etc/resolv.conf para apuntar a tu servidor DNS local (por ejemplo, la IP interna de tu servidor):

echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf

Asegúrate de que no se sobrescriba:

sudo chattr +i /etc/resolv.conf

Configuración básica de dnsmasq

Edita el archivo principal de configuración:

sudo nano /etc/dnsmasq.conf

Configuración mínima para DNS y DHCP:

# Escuchar en la interfaz interna
interface=eno2

# Rango de direcciones IP para clientes DHCP
dhcp-range=10.0.1.50,10.0.1.100,12h

# Servidores DNS a usar
server=8.8.8.8
server=1.1.1.1

# Dominio local
domain=red.local

# Registro de hosts
dhcp-host=AA:BB:CC:DD:EE:FF,10.0.1.10,host1,12h

Configuración del cortafuegos

Añade las reglas necesarias para permitir tráfico DNS y DHCP:

sudo firewall-cmd --permanent --add-service=dns
sudo firewall-cmd --permanent --add-service=dhcp
sudo firewall-cmd --reload

Habilitar y arrancar dnsmasq

sudo systemctl enable --now dnsmasq

Verificar el estado del servicio:

sudo systemctl status dnsmasq

Prueba de funcionamiento

Verifica que resuelve nombres:

dig google.com @127.0.0.1

Y que asigna direcciones IP:

sudo journalctl -u dnsmasq | grep DHCP

Con esta configuración, tu servidor Fedora estará listo para servir como DNS y DHCP en tu red interna.

Ejemplo de configuración:

sudo nvim /etc/dnsmasq.d/01_mainkivi.conf


listen-address=127.0.0.1

domain-needed

bogus-priv

no-resolv

server=208.67.222.222

server=208.67.220.220

local=/mainkivi.info/

listen-address=::1,127.0.0.1,192.168.1.3

expand-hosts

domain=mainkiivi.info

dhcp-range=192.168.1.100,192.168.1.200,24h

dhcp-option=option:router,192.168.1.1

dhcp-authoritative

dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases