Product SiteDocumentation Site

Capítulo 10. Infraestructura de red

10.1. Puerta de enlace
10.2. Certificados X.509
10.2.1. Crear certificados de confianza gratuitos
10.2.2. Infraestructura de llave pública: easy-rsa
10.3. Red virtual privada
10.3.1. OpenVPN
10.3.2. Red privada virtual con SSH
10.3.3. IPsec
10.3.4. PPTP
10.4. Calidad del servicio
10.4.1. Principio y mecanismo
10.4.2. Configuración e implementación
10.5. Enrutamiento dinámico
10.6. IPv6
10.6.1. Túneles
10.7. Servidores de nombres de dominio (DNS)
10.7.1. Software DNS
10.7.2. Configurando bind
10.8. DHCP
10.8.1. Configuración
10.8.2. DHCP y DNS
10.9. Herramientas de diagnóstico de red
10.9.1. Diagnóstico local: netstat
10.9.2. Diagnóstico remoto: nmap
10.9.3. «Sniffers»: tcpdump y wireshark
Linux goza de toda la herencia de Unix sobre redes, y Debian provee un conjunto completo de herramientas para crear y administrarlas. Este capítulo examina estas herramientas.

10.1. Puerta de enlace

Una puerta de enlace es un sistema que enlaza varias redes. Este término usualmente se refiere al «punto de salida» de una red local en el camino obligatorio hacia las direcciones IP externas. La puerta de enlace está conectada a cada una de las redes que enlaza y actúa como router para transmitir paquetes IP entre sus varias interfaces.
Cuando una red local utiliza un rango de direcciones privadas (no enrutables en Internet), la puerta de enlace necesita implementar enmascarado de dirección («address masquerading») para que los equipos en la red puedan comunicarse con el mundo exterior. La operación de enmascarado es un tipo de proxy que funciona a nivel de red: se reemplaza cada conexión saliente de una máquina interna con una conexión desde la puerta de enlace misma (ya que la puerta de enlace tiene una dirección externa y enrutable), los datos que pasan a través de la conexión enmascarada son enviados a la nueva conexión y los datos recibidos en respuesta son enviados a través de la conexión enmascarada a la máquina interna. La puerta de enlace utiliza un rango de puertos TCP dedicados para este propósito, generalmente con números muy altos (mayores a 60000). Cada conexión que proviene de una máquina interna parece, para el mundo exterior, una conexión que proviene de uno de esos puertos reservados.
La puerta de enlace también puede realizar dos tipos de traducción de direcciones de red («Network Address Translation» o NAT). El primer tipo, NAT de destino (DNAT) es una técnica para alterar la dirección IP de destino (y/o el puerto TCP o UDP) para una conexión (generalmente) entrante. El mecanismo de seguimiento de conexiones también altera los paquetes siguientes en la misma conexión para asegurar continuidad en la comunicación. El segundo tipo de NAT es NAT de origen (SNAT), del que el enmascarado es un caso particular; SNAT modifica la dirección IP de origen (y/o el puerto TCP o UDP) de una conexión (generalmente) saliente. En lo que respecta a DNAT, todos los paquetes en la conexión son gestionados de forma apropiada por el mecanismo de seguimiento de conexiones. Sepa que NAT sólo es relevante para IPv4 y su espacio de direcciones limitado; en IPv6, la amplia disponibilidad de direcciones reduce enormemente la utilidad de NAT permitiendo que todas las direcciones «internas» sean enrutables directamente en Internet (esto no implica que se pueda acceder a las máquinas internas ya que los firewalls intermedios puede filtrar el tráfico).
Suficiente teoría, pongámonos prácticos. Convertir un sistema Debian en una puerta de enlace sólo es cuestión de activar la opción apropiada en el núcleo Linux a través del sistema de archivos virtual /proc/:
# echo 1 > /proc/sys/net/ipv4/conf/default/forwarding
También se puede activar esta opción automáticamente durante el inicio si /etc/sysctl.conf o un archivo de configuración en /etc/sysctl.d/ define la opción net.ipv4.conf.default.forwarding como 1.

Ejemplo 10.1. El archivo /etc/sysctl.conf

net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
Puede conseguir el mismo efecto para IPv6 simplemente reemplazando ipv4 con ipv6 en la orden manual y utilizando la línea net.ipv6.conf.all.forwarding en /etc/sysctl.conf.
Activar enmascarado de IPv4 es una operación un poco más compleja que involucra configurar el firewall netfilter.
De forma similar, utilizar NAT (para IPv4) necesita configurar netfilter. Debido a que el propósito principal de este componente es filtrar paquetes, se enumeran los detalles en el Capítulo 14: “Seguridad (revise la Sección 14.2, “Firewall o el filtrado de paquetes”).