Algunos protocolos no trabajarán adecuadamente con masquerading porque presuponen cosas sobre números de puerto, o datos cifrados en sus cadenas de datos sobre direcciones y puertos - estos últimos protocolos necesitan un proxi específico en el código masquerading para que funcionen.
Masquerading no puede manejar todos los servicios de entrada. Hay unos pocas formas de permitirlos, pero son completamente independientes de masquerading, y son realmente parte de la práctica estándar de cortafuegos.
Si no requiere altos niveles de seguridad simplemete puede redirecionar los puertos. Hay varias formas para hacer esto - Yo uso un programa modificado redir ( espero que este disponible en sunsite y mirrors). Si desea tener algún nivel de autorización en conexiones entrantes puede usar TCP wrappers o Xinetd sobre redir (0.7 o superior) para permitir sólo direciones IP específicas, o usar alguna otra herramienta. El TIS Firewall Toolkit es un buen lugar para buscar herramientas e información.
Mas detalles pueden ser encontrados en IP Masquerade Resource.
** La siguiente lista no esta siendo mantenida durante mas tiempo. Porfavor remitase a esta pagina para saber que aplicaciones funionan atraves de un servidor Linux con IP masquerading y a IP Masquerade Resource para mas detalles. **
Generalmente, las aplicaciones que usan TCP y UDP deberían de funcionar. Si tiene alguna sugerencia sobre aplicaciones que no son compatibles con IP Masquerade, por favor envíeme correo electrónico con el nombre del cliente y una breve descripción.
Clientes Generales
todas las plataformas soportadas, navegadores web
todas las plataformas soportadas, clientes de correo electrónico
todas las plataformas soportadas, sesión remota
todas las plataformas soportadas, con el modulo ip_masq_ftp.o (no todos los servidores funcionan con ciertos clientes; p.e. algun sitio puede no ser alcanzado usando ws_ftp32 pero funciona con Netscape)
todas las plataformas soportadas, buscador de archivos (no todos los clientes archie son soportados)
todas las plataformas soportadas, cliente de noticias USENET
Windows(posiblemente soportado en todas las plataformas), navegación con realidad virtual
principalmente las plataformas basadas en UNIX, algunas variantes pueden no funcionar
todas las plataformas, con el parche ICMP
todas las plataformas soportadas, con el módulo ip_masq_irc.o
todas las plataformas soportadas
todas las plataformas soportadas
Clientes Multimedia
Windows, envío de audio por red, con el módulo ip_masq_raudio cargado
Windows, envío de audio por red
Windows, envío de audio por red
Windows, programa Cliente-Servidor 3D de conversación
Windows, programa Cliente-Servidor 3D de conversación
Windows, comunicaciones de audio de Igual-a-igual(Peer-to-peer), la gente puede ponerse en contacto con vd. si inicia vd. la conexión, pero no le pueden llamar
Windows, comunicaciones whiteboard de audio texto de Igual-a-igual, la gente puede ponerse en contacto con vd. si vd. inicia la llamada, pero ellos no pueden llamarle
todas las plataforma soportadas, con el módulo cuseeme cargado, por favor mire IP Masquerade Resource para los detalles
Windows, con el parche vdolive
Nota: Algunos clientes como IPhone y Powwow pueden trabajar incluso si vd. no es el que inicia la llamada por usar el paquete ipautofw (mire la sección 4.6)
Otros Clientes
DOS, un paquete que contiene telnet, ftp, ping, etc.
MS-Windows, controla remotamante un PC sobre TCP/IP, sólo trabaja si es cliente pero no servidor
usa ntp - protocolo de tiempo por red
Linux, paquete de administración de cuentas de red
Conecta pero la voz viaja en una dirección (sale)Trafico sólo
No puede conectar con el servidor
No puede conectar con el lado opuesto
no funcionará - requiere que sea escrito un proxy en el núcleo .
No puede trabajar por el momento(asume direcciones inválidas).
Sin probar,pero creo que no puede trabajar a menos que alguien construya un X proxy, el cual probablemente es un programa externo al código de masquerading. Una forma de hacer que esto funcione es usar un ssh como el enlace y usar un X proxy interno que haga las cosas funcionar!
Esta sección proporciona una guía más exhaustiva del uso de ipfwadm.
Esta es una configuración para un sistema de cortafuegos/masquerade detrás de un enlace PPP con la siguiente dirección PPP estática.El interfaz de confianza es 192.168.255.1, el interfaz PPP ha sido cambiado para proteger al culpable :). Listé cada interfaz de entrada y salida individualmente para capturar IP spoofing también como ruta relleno y/o masquerading. Además algo no explicitamente permitido esta prohibido !
#!/bin/sh # # /etc/rc.d/rc.firewall, define la configuración del cortafuegos, invocado desde # rc.local. # PATH=/sbin:/bin:/usr/sbin:/usr/bin # comprobación, espera un bit luego limpia toda norma del cortafuegos. # descomente las siguientes lineas si quiere que el cortafuegos se # desconecte automaticamente pasados 10 minutos # (sleep 600; \ # ipfwadm -I -f; \ # ipfwadm -I -p accept; \ # ipfwadm -O -f; \ # ipfwadm -O -p accept; \ # ipfwadm -F -f; \ # ipfwadm -F -p accept; \ # ) & # Entrante, purga y pone la política por defecto de denegar. La verdad es que la # política por defecto es irrelevante porque hay un cierre de toda # norma con denegar y anotar ipfwadm -I -f ipfwadm -I -p deny # interfaz local, máquinas locales, van a cualquier sitio válido ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0 # interfaz remota, reclamando ser máquinas locales, IP spoofing, perdido ipfwadm -I -a deny -V su.dirección.ppp.estática -S 192.168.0.0/16 -D 0.0.0.0/0 -o # interfaz remota, cualquier origen, es válido ir a direcciones PPP permanentes ipfwadm -I -a accept -V su.dirección.PPP.estática -S 0.0.0.0/0 -D su.dirección.PPP.estática/32 # el interfaz loopback es válido. ipfwadm -I -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0 # cierra toda norma, todas las otras entradas son denegadas y registradas. Lástima # que no hay un opción de registro en la política pero esto hace el trabajo en su # lugar ipfwadm -I -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o # Saliente, purga y pone la política por defecto de denegar. La verdad es que # la política por defecto es irrelevante porque hay un cierre de toda norma con # denegar y anotar ipfwadm -O -f ipfwadm -O -p deny # interfaz local, cualquier origen con destino a la red local es válido ipfwadm -O -a accept -V 192.168.255.1 -S 0.0.0.0/0 -D 192.168.0.0/16 # saliente para la red local sobre el interfaz remoto , stuffed routing, denegado ipfwadm -O -a deny -V su.dirección.PPP.estática -S 0.0.0.0/0 -D 192.168.0.0/16 -o # saliente desde la red local sobre el interfaz remoto, stuffed masquerading, # denegado ipfwadm -O -a deny -V su.dirección.PPP.estática -S 192.168.0.0/16 -D 0.0.0.0/0 -o # saliente desde la red local sobre el interfaz remoto, stuffed masquerading, # denegado ipfwadm -O -a deny -V su.dirección.PPP.estática -S 0.0.0.0/0 -D 192.168.0.0/16 -o # algo más saliente sobre la interfaz remota es válido. ipfwadm -O -a accept -V su.dirección.PPP.estática -S su.dirección.PPP.estática/32 -D 0.0.0.0/0 # la interfaz loopback es válido. ipfwadm -O -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0 # norma de capturar todo, todo lo otro saliente es denegado y anotado. Lástima # que no hay una opción de registro en la política pero esto hace # el trabajo en su lugar. ipfwadm -O -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o # Envíos, purga y pone la política por defecto de denegar. La verdad es que # la política por defecto es irrelevante porque hay una cierre de toda norma con # denegar y anotar. ipfwadm -F -f ipfwadm -F -p deny # Enmascaramiento (Masquerade) desde la red local sobre el interfaz local # hacia cualquier sitio. ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0 # norma de capturar todo, el resto de envíos son denegados y anotados. Lástima # que no hay una opción de registro en la política, pero esto hace el # trabajo en su lugar. ipfwadm -F -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o
Puede bloquear el tráfico para un sitio en particular usando -I, -O o -F. Recuerde que el conjunto de las normas son examinadas desde arriba hacia abajo y -a significa "añadir" a los valores existententes de la norma, así cualquier restricción necesita venir antes de las normas generales. Por ejemplo (sin probar) :-
Usando normas -I. Probablemente es la más rápida pero sólo detiene las máquinas locales, el cortafuegos puede todavía acceder a sitios "prohibidos". Por supuesto le puede interesar permitir esa combinación .
... inicio de la norma -I ... # rechaza y anota el interfaz local, las máquinas locales van a 204.50.10.13 ipfwadm -I -a reject -V 192.168.255.1 -S 192.168.0.0/16 -D 204.50.10.13/32 -o # interfaz local, máquinas locales, ir a cualquier sitio es válido ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0 ... fin de la norma -I ...
Usando la norma -O. Más lento porque los paquetes van primero através de masquerading pero esta norma incluso detiene los accesos del cortafuegos a los sitios prohibidos.
... inicio de la norma -O ... # deniega y anota las salidas a 204.50.10.13 ipfwadm -O -a reject -V su.dirección.PPP.estática -S su.dirección.PPP.estática/32 -D 204.50.10.13/32 -o # cualquier otra salida sobre el interfaz remoto es válida ipfwadm -O -a accept -V su.dirección.PPP.estática -S su.dirección.PPP.estática/32 -D 0.0.0.0/0 ... fin de la norma -O ...
Usando la norma -F. Probablemente más lento que -I y esto todavía solo detiene a las máquinas enmascaradas (por ejemplo: las internas), el cortafuegos puede todavía acceder a sitios prohibidos
... inicio de la norma -F ... # deniega y anota desde la red local sobre el interfaz PPP hacia 204.50.10.13. ipfwadm -F -a reject -W ppp0 -S 192.168.0.0/16 -D 204.50.10.13/32 -o # Enmascara(Masquerade) desde la red local sobre interfaces locales hacia # cualquier sitio. ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0 ... fin de la norma -F ...
No es necesario una norma especial para permitir a 192.168.0.0/16 para ir a 204.50.11.0, está cubierto por la norma global
Hay más que una forma de codificar el interfaz en las normas de arriba. Por ejemplo en lugar de -V 192.168.255.1 puede poner -W eth0, en lugar de -V su.dirección.PPP.estática y puede usar -W ppp0. La eleción es más que otra cosa personal y de documentación.
IPautofw es un transportador genérico de TCP y UDP para masquerading de Linux. Generalmente para utilizar un paquete el cual requiere UDP necesita ser cargado un módulo específico de ip_masq; ip_masq_raudio, ip_masq_cuseeme, ... Ipautofw actúa de una forma más genérica, enviará cualquier tipo de tráfico incluído aquel que los módulos especificos no envían. Esto puede crear un agujero de seguridad si no se administra corrrectamente.