Algunos protocolos no funcionarán adecuadamente con masquerading porque presuponen cosas sobre números de puerto; --o lo impiden datos cifrados en sus cadenas de información sobre direcciones y puertos-- estos últimos protocolos necesitan un proxy específico en el código masquerading para que funcionen.
El Masquerading no puede manejar todos los servicios de entrada. Existen 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 simplemente puede redireccionar
los puertos. Hay varias formas para hacer esto --Yo uso un programa
modificado llamado redir
(espero que este disponible en sunsite y
réplicas)--. 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 direcciones IP específicas, o usar alguna otra
herramienta. El TIS Firewall Toolkit es un buen lugar para buscar
herramientas e información.
Se puede encontrar más detalles en
http://ipmasq.home.ml.org
.
La siguiente lista no será mantenida durante más tiempo.
Por favor,
remítase a
http://masqapps.home.ml.org
para saber qué aplicaciones
funcionan a través de un servidor Linux con IP masquerading y a
http://ipmasq.home.ml.org/
para más 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 módulo
ip_masq_ftp.o
(no todos los servidores funcionan con ciertos
clientes; por ejemplo algún sitio puede no ser alcanzado usando
ws_ftp32
, pero sí 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 tipo pizarra 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 plataformas soportadas, con el módulo cuseeme
cargado, por favor mire en
http://ipmasq.home.ml.org/
para los detalles.
Windows, con el parche vdolive
.
Nota: Algunos clientes como IPhone y Powwow pueden funcionar incluso si
Vd. no es el que inicia la llamada, si usa el paquete ipautofw
(mire la sección
ipautofw)
Otros Clientes
DOS, un paquete que contiene telnet, ftp, ping, etc.
MS-Windows, control remoto de PCs sobre TCP/IP, sólo funciona 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) sólo.
No puede conectar con el servidor.
No puede conectar con el lado opuesto.
no funcionarán - requieren que sea escrito un proxy en el núcleo.
No puede funcionar por el momento (asume direcciones no válidas).
Sin probar, pero creo que no podrá funcionar 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 funcionar las cosas!
ipfwadm
. 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. ¡Todo aquello no explícitamente permitido esta prohibido!
#!/bin/sh
#
# /etc/rc.d/rc.firewall, define la configuracion del cortafuegos, invocado
# desde rc.local.
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin
# comprobacion, 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 establece la politica por defecto de denegar. La
# verdad es que la politica por defecto es irrelevante porque hay un
# cierre de toda norma con denegar y anotar
ipfwadm -I -f
ipfwadm -I -p deny
# interfaz local, maquinas locales, van a cualquier sitio valido
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 maquinas locales, IP spoofing, perdido
ipfwadm -I -a deny -V su.direccion.ppp.estatica -S 192.168.0.0/16 -D 0.0.0.0/0 -o
# interfaz remota, cualquier origen, es valido ir a direcciones PPP permanentes
ipfwadm -I -a accept -V su.direccion.PPP.estatica -S 0.0.0.0/0 -D su.direccion.PPP.estatica/32
# el interfaz loopback es valido.
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.
# Lastima que no haya una opcion de registro, aunque 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 politica por defecto de denegar. La verdad es
# que la politica 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 valido
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.direccion.PPP.estatica -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.direccion.PPP.estatica -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.direccion.PPP.estatica -S 0.0.0.0/0 -D 192.168.0.0/16 -o
# algo mas saliente sobre la interfaz remota es valido.
ipfwadm -O -a accept -V su.direccion.PPP.estatica -S su.direccion.PPP.estatica/32 -D 0.0.0.0/0
# el interfaz loopback es valido.
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.
# Lastima que no hay una opcion de registro en la politica 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
# Envios, purga y pone la politica por defecto de denegar. La verdad es
# que la politica 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 envios son denegados y anotados.
# Lastima que no hay una opcion de registro en la politica, 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 maquinas 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, maquinas locales, ir a cualquier sitio es valido
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 a travé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.direccion.PPP.estatica -S su.direccion.PPP.estatica/32 -D 204.50.10.13/32 -o
# cualquier otra salida sobre el interfaz remoto es valida
ipfwadm -O -a accept -V su.direccion.PPP.estatica -S su.direccion.PPP.estatica/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 de 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.direccion.PPP.estatica
y puede usar -W ppp0
. La
elección es más que otra cosa personal y de documentación.
diald
le será de
gran utilidad.
diald
, por favor mire en
http://home.pacific.net.sg/~harish/diald.config.html
diald
e ip_masq
hayan sido configurados, puede
ir a alguna de las máquinas clientes e iniciar una sesión web, telnet o
ftp.
diald
detectará peticiones entrantes, luego llamará a su ISP y
establecerá la conexión.
ipautofw
.
ftp://ftp.netis.com/pub/members/rlynch/ipautofw.tar.gz
es un
transportador genérico de TCP y UDP para masquerading de Linux.
Generalmente para utilizar un paquete que requiera UDP necesitará cargar
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
específicos no envían. Esto puede crear un agujero de seguridad si no se
administra correctamente.