Logo de AulaDigital

NAT COMO 4

Linux 2.4 NAT COMO: Puesta al día rápida con respecto a los núcleos 2.0 y 2.2 Página siguiente Página anterior Índice general

4. Puesta al día rápida con respecto a los núcleos 2.0 y 2.2

Lo siento por aquellos que todavía estén aturdidos por la transición desde 2.0 (ipfwadm) a 2.2 (ipchains). Hay buenas y malas noticias.

Primero, puede seguir usando ipchains o ipfwadm como antes. Para hacerlo, necesita cargar los módulos del núcleo «ipchains.o» o «ipfwadm.o» que encontrará en la última distribución de netfilter. Son mutuamente exclusivos (está advertido), y no deberían combinarse con ningún otro módulo de netfilter.

Una vez haya instalado uno de estos módulos puede utilizar ipchains e ipfwadm con normalidad, excepto por las siguientes diferencias:

  • Establecer los tiempos límite (timeout) con ipchains -M -S o ipfwadm -M -s no hace nada. Como los límites de tiempo con la nueva infrastructura NAT son más grandes, no debería haber problema.
  • Los campos init_seq, delta y previous_delta en la lista ampliada de enmascaramiento (verbose masquerade listing) siempre son 0.
  • Listar los contadores y ponerlos a cero al mismo tiempo «-Z -L» ya no funciona: los contadores no se pondrán a cero.

Los hackers también se darán cuenta de que:

  • Ahora puede asociar un programa (bind) a los puertos 61000-65095 incluso si está haciendo enmascaramiento. El código de enmascarado asumía que no había nada en este rango, de manera que los programas no lo podían usar.
  • El parche (no documentado) de «getsockname», que podían utilizar los programas de proxy transparente para averiguar el destino real de la conexión no funciona.
  • El parche (no documentado) bind-to-foreign-address (asociado-a-una-dirección-externa) tampoco está implementado; se usaba para completar la ilusión del proxy transparente.

4.1 ¡Sólo quiero enmascarar! ¡Ayuda!

Esto es lo que la mayoría de la gente quiere. Si tengo una conexión PPP con IP dinámica (si no sabe lo que es, entonces tiene una), simplemente querré decirle a mi máquina que todos los paquetes que vengan de la red interna deberían aparentar venir de la máquina que tiene el enlace PPP.

# Cargue el módulo NAT (esto carga también los otros).
modprobe iptable_nat

# Agrega (-A) una regla a la tabla NAT (-t nat), después del
# encaminamiento (POSTROUTING) para todos los paquetes que salgan por
# ppp0 (-o ppp0) enmascarando la conexión (-j MASQUERADE).
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Ponga en marcha el reenvío de IP (IP forwarding)
echo 1 > /proc/sys/net/ipv4/ip_forward

Fíjese que no está haciendo filtrado de paquetes: para eso, lea el COMO de Filtrado de Paquetes: «Mezclando NAT con Filtrado de Paquetes».


Página siguiente Página anterior Índice general