11.2. Configuración del Núcleopara enmascaramiento IP

Para usar la función del enmascaramiento IP el núcleo debe ser compilado precisamente con soporte de enmascarmiento. Se deben seleccionar las siguientes opciones al configurar un núcleo de la serie 2.2:
    Networking options  --->
    	[*] Network firewalls
    	[*] TCP/IP networking
    	[*] IP: firewalling
    	[*] IP: enmascaramiento
    	--- Protocol-specific masquerading support will be built as modules.
    	[*] IP: ipautofw masq support
    	[*] IP: ICMP masquerading
Nótese que partes del soporte de enmascaramiento están disponibles únicamente como módulos. Esto significa que habrá que ejecutar “make modules” además del habitual “make bzImage” cuando se compile el núcleo.

Los núcleos de la serie 2.4 no presentan el soporte de enmascaramiento Ip como una opción de la compilación. En su lugar, se debe seleccionar la opción del filtrado de paquetes de red:
    Networking options  --->
        [M] Network packet filtering (replaces ipchains)

En los núcleos de la serie 2.2 cierto número de módulos de asistencia para ciertos protocolos se crean durante la compilación del núcleo. Algunos protocolos comienzan estableciendo una conexión hacia fuera y entonces reciben una conexión desde fuera en otro puerto. Normalmente eso no podría ser enmascarado, puesto que no hay forma para la máquina GNU/Linux de asociar la segunda conexión con la primera sin meterse dentro del propio protocolo. Los módulos asistentes hacen justamente eso: examinan los datagramas y permiten que el enmascaramiento funcione para los protocolos que soportan. Protocolos que de otra forma serían imposibles de enmascarar. Los protocolos soportados son:

MóduloProtocolo
ip_masq_ftpFTP
ip_masq_ircIRC
ip_masq_raudioRealAudio
ip_masq_cuseemeCU-See-Me
ip_masq_vdolivePara VDO Live
ip_masq_quakeQuake, de IdSoftware

Esos módulos deben ser cargados manualmente mediante la orden insmod. Nótese que no pueden ser cargados por el demonio kerneld. Cada uno de esos módulos acepta como argumento el puerto en el que debe escuchar. Para el módulo RealAudio™ se podría poner:[1]
    # insmod ip_masq_raudio.o ports=7070,7071,7072
Los puertos especificados dependen del protocolo. El mini-HOWTO del enmascaramiento IP (IP masquerade mini-HOWTO), escrito por Ambrose Au, trata con más detalle los módulos asistentes y cómo configurarlos.[2]

El paquete netfilter contiene módulos que realizan funciones similares. Por ejemplo, para que se hagan cargo del seguimiento de las sesiones FTP, se deben cargar los módulos ip_conntrack_ ftp y ip_nat_ ftp.o.

Notas

[1]

Real Audio es una marca de Progressive Networks Corporation.

[2]

Ambrose es accesible en la dirección de correo ambrose@writeme.com.