Configuración Avanzada de Redes en Linux: IPTables, NAT y Servidor DHCP

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,72 KB

Configuración Inicial del Sistema y Nombres de Máquina

Para mantener la organización, es fundamental asignar nombres claros a todos los equipos de la red.

Cambiar el nombre de la máquina:

nano /etc/hostname

Identificación de Adaptadores de Red

Antes de configurar las direcciones IP, debemos identificar los nombres de los adaptadores de red en el router o servidor.

Comandos para verificar adaptadores:

ifconfig -a
o bien
ip address

Configuración de Direcciones IP Estáticas

Una vez identificados los adaptadores, procedemos a cambiar las direcciones IP de las tarjetas de red. Esta configuración se realiza típicamente en el archivo /etc/network/interfaces.

Nota importante: Solo la interfaz que sale a internet debe llevar configurado el Gateway (Puerta de Enlace).

Ejemplo de Configuración de Interfaces

# Conexión enp0s3 (Interfaz de salida a Internet)
allow-hotplug enp0s3
iface enp0s3 inet static
    address 192.168.2.214
    netmask 255.255.255.0
    gateway 192.168.2.1

# Conexión enp0s8 (Red Interna 1)
allow-hotplug enp0s8
iface enp0s8 inet static
    address 10.114.1.1
    netmask 255.255.255.0

# Conexión enp0s9 (Red Interna 2)
allow-hotplug enp0s9
iface enp0s9 inet static
    address 10.114.2.1
    netmask 255.255.255.0

Gestión de DNS y Enrutamiento

Configuración de DNS

Para verificar o modificar los servidores DNS utilizados por el sistema:

nano /etc/resolv.conf

Reiniciar Servicios de Red

Una vez configuradas las IPs en todos los equipos, es necesario reiniciar el servicio de red o levantar y bajar las interfaces específicas.

service networking restart
o bien
ifdown enp0s3, enp0s8, enp0s9
ifup enp0s3, enp0s8, enp0s9

Activación del IP Forwarding

Para que el equipo actúe como router y pueda reenviar tráfico entre las diferentes redes, debemos activar el forwarding de IP.

Editamos el archivo /etc/sysctl.conf y descomentamos la línea:

nano /etc/sysctl.conf

# Descomentar la siguiente línea:
net.ipv4.ip_forward=1

Después de esto, se recomienda hacer ping a las otras redes para verificar la conectividad básica.

Añadir DNS en el Router

Añadimos las direcciones de los servidores DNS en el archivo /etc/resolv.conf del router:

nano /etc/resolv.conf

# Ejemplo de IPs de DNS:
nameserver 192.168.128.62
nameserver 192.168.128.63

Configuración de NAT y Firewall (IPTables)

Comandos Básicos de IPTables

  • Para ver las reglas de filtrado actuales:
    iptables -L
  • Para borrar todas las reglas de la tabla NAT:
    iptables -t nat -F

Implementación de NAT (Masquerading)

Realizamos NAT en el router para permitir que las redes internas (10.114.1.0/24 y 10.114.2.0/24) salgan a internet a través de la interfaz externa (asumiendo que enp0s8 y enp0s9 son las interfaces internas).

iptables -t nat -A POSTROUTING -s 10.114.1.0/24 -o enp0s3 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.114.2.0/24 -o enp0s3 -j MASQUERADE

Persistencia de Reglas de IPTables

Para que las reglas de firewall se mantengan después de un reinicio, instalamos el paquete iptables-persistent.

apt-get install iptables-persistent

Guardar las Reglas

Guardamos las reglas configuradas:

iptables-save > /etc/iptables.rules
iptables-save > /etc/iptables/rules.v4

Verificación y Gestión

  • Para comprobar que las reglas NAT se añadieron:
    iptables -t nat -L
  • Para eliminar una regla de POSTROUTING: Se utiliza -D (Delete) en lugar de -A (Append).
  • Iniciar el servicio Iptables persistent (si es necesario):
    service iptables-persistent start

Implementación del Servidor DHCP (ISC-DHCP-SERVER)

Instalación y Configuración de Interfaces

Instalamos el servidor DHCP en el equipo:

apt-get install isc-dhcp-server

Para limitar el acceso del servicio a interfaces específicas, editamos el archivo de configuración por defecto:

nano /etc/default/isc-dhcp-server

Donde definimos las interfaces que escucharán peticiones DHCP:

INTERFACES="enp0s8 enp0s9"

Configuración del Archivo DHCP

El archivo principal de configuración es /etc/dhcp/dhcpd.conf.

nano /etc/dhcp/dhcpd.conf

Comandos de Gestión DHCP

  • Para hacer una copia de seguridad del archivo de configuración:
    mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old
  • Para ver a qué clientes el DHCP ha hecho un préstamo (leases):
    cat /var/lib/dhcp/dhcpd.leases
  • Para reiniciar el servicio:
    service isc-dhcp-server restart

Ejemplos de Subredes DHCP

1. Rango de Cesión Básico

Define únicamente el rango de direcciones IP a ceder:

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.60 192.168.1.90;
}

2. Rango de Cesión y Parámetros Adicionales

Si además de la dirección IP y la máscara, se desea proporcionar la puerta de enlace (routers) y los servidores DNS para permitir la navegación por Internet:

subnet 192.168.128.0 netmask 255.255.255.0 {
    option routers 192.168.128.254;
    option domain-name-servers 192.168.128.62, 192.168.128.63;
    range 192.168.128.70 192.168.128.90;
}

Troubleshooting del Servicio DHCP

Para verificar el estado del servicio y buscar errores:

service isc-dhcp-server status

# Si hay errores, revisar el log del sistema:
less /var/log/syslog

Creación de Reserva de Dirección IP (IP Fija)

Para asegurar que un equipo específico reciba siempre la misma dirección IP, se utiliza la reserva basada en la dirección MAC (Hardware ethernet).

# Reserva IP para server02
host server02 {
    hardware ethernet 00:0C:29:C9:46:80; # Dirección MAC del cliente
    fixed-address 192.168.1.50;
    option routers 192.168.1.254;
    option domain-name "smr.ald";
}

Entradas relacionadas: