1. Introducción
Este documento tiene como objeto estudiar el funcionamiento de NAT y
analizar el problema que presentan determinados protocolos con su uso.
Posteriormente se presenta una lista de aplicaciones que se basan en
protocolos problemáticos y que necesitan un soporte específico.
Por último se recogen los puertos que son necesarios abrir y
direccionar en los routers para que cada puesto de la red local tenga
acceso a la aplicación
que esté usando.
2. Origen y funcionamiento
del NAT
- Introducción teórica para comprender la
técnica DEL nat.
Tradicionalmente cada equipo conectado a una red IP ha necesitado
una dirección exclusiva para poder ser identificado. La longitud
de las direcciones IP utilizadas actualmente es de 32 bits, por lo
que teóricamente hay más de 4.000 millones de direcciones
posibles; es decir, se podrían conectar a Internet hasta este
número de equipos diferentes. Debido a la forma de asignar
las direcciones, muchas se pierden y no se pueden utilizar, por lo
que con el paso del tiempo y el crecimiento de Internet, las direcciones
se han convertido en un recurso escaso. Por todo ello surge la necesidad
de desarrollar técnicas que permitan hacer un mejor aprovechamiento
del espacio de direccionamiento, hasta que se implante la siguiente
versión del protocolo IP (IPv6), que solucionará el
problema de la limitación de direcciones, además de
mejorar otros aspectos técnicos como en enrutamiento y la autoconfiguración.
Una de las técnicas que pretenden solucionar este problema
es NAT (Network Address Translation), que permite conectar varios
PCs de una misma subred a Internet, utilizando únicamente una
dirección IP pública para ello. NAT se aprovecha
de las características de TCP/IP, que permiten a un PC mantener
varias conexiones simultáneas con un mismo servidor remoto.
Esto es posible gracias a los campos de las cabeceras que definen
unívocamente cada conexión, estos son: dirección
origen, puerto origen, dirección destino y puerto destino.
Las direcciones identifican los equipos de cada extremo y los puertos
cada conexión entre ellos.
Como sólo queremos utilizar una dirección pública,
ésta se asigna al equipo que implementa NAT (de ahora en adelante
router), mientras que los ordenadores de la subred poseen direcciones
privadas estas últimas sólo son válidas para
identificar al ordenador en el ámbito de la subred. El router
multiplexa el tráfico de la subred y lo presenta a Internet
como si hubiera sido generado todo por una misma máquina. Esto
se consigue sustituyendo cada dirección origen privada de las
cabeceras de los paquetes IP por la dirección pública,
por lo tanto todos los paquetes de salida tendrán la misma
dirección origen. Para poder identificar entonces cada tráfico
de los diferentes ordenadores, se utiliza el número de puerto
de cada conexión. Como estos deben ser únicos, el router
se encarga también de realizar una conversión de puertos
(NAPT, Network Address Port Translation). Para hacer todo esto, el
router debe mantener una tabla con la dirección y puerto real
de la máquina, el número de puerto que se le ha asignado,
y dirección y puerto destino. De esta forma el router puede
entregar los paquetes de vuelta a los ordenadores correspondientes.
Resumiendo, los paquetes de vuelta contendrán todos la misma
dirección destino, pero con diferente número de puerto
que será lo que identifique a cada conexión y el router
sepa así a quién mandarlo.

3.1 NAT avanzado. Introducción
Derivado de la utilización de NAT surge un problema
con algunas aplicaciones y protocolos. Este problema aparece cuando
la dirección IP de origen se incluye también en el campo
de datos del paquete. Si esta dirección llega sin ninguna
modificación al destino, el equipo remoto no sabrá qué
hacer con ella, ya que se trata de una dirección privada. También
puede ser causante de problemas el que el número de puerto
esté dentro del campo de datos, por lo que es necesaria su
traducción. Si se quiere que la aplicación funcione
correctamente, NAT debería introducirse en cada paquete e irlos
modificando según van saliendo. Este paso no es trivial,
y requiere que NAT soporte de forma específica el protocolo
usado para poder realizar los cambios y sustituir la dirección
privada por la pública.
En los siguientes apartados se recogen los protocolos que requieren
un soporte específico y las aplicaciones que basan su funcionamiento
en ellos. Además se hace un análisis de por qué
ocurre esto y la necesidad de que requieran un tratamiento especial.
3.2 Lista de protocolos que requieren soporte
específico
A continuación se realiza una recopilación de los protocolos
de uso más extendido que necesitan un soporte específico
a la hora de traducir las direcciones y puertos usados.
a) H.323
b) FTP
c) FTP PASV
d) IRC, soporte de DCC
a) H.323
Una de las aplicaciones más conocida que utiliza H.323 es el
Microsoft Netmeeting, con el que se pueden realizar sesiones de
videoconferencia.
El
H.323 es una familia de estándares definidos por el ITU para
las comunicaciones multimedia sobre redes LAN y a través de
redes IP, incluyendo Internet. Está definido específicamente
para tecnologías LAN que no garantizan una calidad de servicio
(QoS). Algunos ejemplos son TCP/IP e IPX sobre Ethernet, Fast Ethernet
o Token Ring. La tecnología de red más común
en la que se está implementando H.323 es IP.
El
H.323 comprende una serie de estándares y se apoya en una serie
de protocolos que cubren los distintos aspectos de la comunicación,
tal y como el H.225, H.245, RTP, etc. Es en alguno de estos protocolos
donde se da el problema con el uso de NAT, ya que introducen direcciones
y números de puertos en el campo de datos de los paquetes:
- H.225
El H.225 es un protocolo montado sobre TCP encargado del control de
la llamada: señalización, registro y admisión,
y sincronización del flujo de voz. El mensaje de "Setup"
contiene información del usuario necesaria para la sesión
de conferencia, como el nombre identificador, localización
geográfica, comentarios, etc. además de la dirección
IP del usuario y el puerto TCP que usará para control en la
fase de establecimiento.
- H.245
El H.245 también está montado sobre TCP, y contiene
procedimientos de señalización de los canales lógicos.
Estos procedimientos se proporcionan para fijar las prestaciones del
emisor y receptor, tipo de codificación, apertura y cierre
de canales lógicos, etc. Es precisamente en los mensajes de
gestión de apertura de canales lógicos donde aparece
la dirección IP del equipo y el número de puerto que
utilizará, concretamente en los paquetes de "Request.
Open Logical Channel" y "Response. Open Logical Channel
Ack".
El mensaje de "Request. Open Logical Channel" se envía
al equipo remoto para solicitar la apertura de canales lógicos.
Contiene, en la parte correspondiente a "Media Control Channel",
la dirección IP origen (campo "Network") y el número
de puerto UDP que utilizará para control mediante RTCP (Real
Time Control Protocol). Los puertos que se usan para control siempre
son impares. Si no se especifican los puertos UDP para transmisión
de audio y vídeo, se escogerán siguiendo la especificación
RFC1889: puertos pares inmediatamente inferiores al utilizado por
RTCP (por ejemplo, para RTCP el 49535, para audio el 49534 y para
vídeo el 49532).
El mensaje de "Response. Open Logical Channel Ack" se manda
en respuesta a una solicitud de apertura de canal lógico. En
él se indican a la otra parte de la conexión, además
de la dirección IP del equipo, los puertos UDP que se utilizarán
para recibir, tanto audio y vídeo como señalización.
- RSVP
RSVP (Resource reSerVation Protocol) es un protocolo de señalización
de reservas encargado de transportar especificaciones de tráfico,
peticiones de reserva y disponibilidad de recursos. Gracias a este
protocolo los receptores pueden reservar recursos de la red para flujo
de datos. Para realizar una sesión de videoconferencia se utiliza
este mecanismo, siempre que la red lo soporte, para intentar garantizar
un determinado ancho de banda. Los mensajes RSVP se mandan a lo largo
de toda la sesión cada cierto tiempo para refrescar en los
nodos el estado de la reserva. Los mensajes RSVP van en paquetes IP,
y llevan la dirección del equipo origen en campos como "IP4
source address" y "IP4 next/previous hop address".
Como se puede observar, para garantizar un correcto funcionamiento
de las aplicaciones que se basen en H.323 es necesario que al hacer
NAT, el router se encargue también de meterse dentro de los
paquetes H.225, H.245 y RSVP para realizar la traducción
de direcciones y de puertos.
b) FTP
FTP
(File Transfer Protocol) es un protocolo que permite la transferencia
de ficheros entre un equipo servidor y cliente. FTP se apoya sobre
TCP para crear una conexión virtual para el control (que usa
el puerto TCP 21 en el servidor y lo abre el cliente) y posteriormente
se crea otra conexión independiente, también sobre TCP,
para la transferencia de información (para el servidor será
por defecto el puerto 20 y el cliente negociará el suyo).
Para
realizar una transferencia de datos (en cualquiera de los dos sentidos),
el cliente realiza una petición al servidor. El cliente debe
informar al servidor del puerto que usará para el canal de
transferencia de información. El comando "PORT"
permite pasar estos datos mediante un parámetro que especifica
tanto la dirección IP del cliente como el puerto TCP. La información
de este parámetro (32 bits de la dirección IP + 16 bits
del puerto TCP) se divide en bloques de 8 bits, que se codifican en
formato decimal y se transmiten como una cadena de caracteres, separando
cada bloque con una coma (ver RFC 959). De esta manera la información
que llega al servidor es en el formato:
PORT
h1,h2,h3,h4,p1,p2
Los
bits de la dirección IP más altos son los representados
por h1, y el número de puerto lo dan p1 y p2. El comando "PORT"
es enviado siempre por la máquina cliente, y posteriormente
es el servidor quien se encarga de abrir el canal de comunicación
a través de ese puerto para enviar o recibir datos.
Por
lo tanto, para que este proceso se realice de manera correcta usando
NAT, es necesario que el módem del CLIENTE FTP se introduzca
en los paquetes que invocan el comando "PORT", y
traduzca la dirección y puerto de la máquina por los
que usa el módem.
c) FTP PASV
FTP PASV (FTP en modo pasivo) es una variación de lo comentado
en el anterior punto. En una sesión de FTP "normal"
el cliente abre una conexión en el puerto FTP (TCP 21), y es
el servidor quien abre después un canal de datos desde su puerto
TCP 20, y esto puede ser peligroso en términos de seguridad.
Por ello se creó el FTP pasivo, en el que es el propio cliente
quien se encarga de abrir el canal de datos. La mayoría de los
navegadores (por ejemplo todos los Microsoft Internet Explorer inferiores
a la versión 5.0) y algunos clientes FTP trabajan en modo pasivo.
El método que se sigue es el siguiente. El cliente envía
al servidor el comando "PASV", indicándole que
quiere trabajar en modo pasivo. El servidor, en respuesta, manda un
mensaje informando de su dirección IP y del puerto TCP al que
enviará los datos con un formato similar al "PORT",
antes comentado (como se puede ver, es ahora el servidor quien impone
el número de puerto). Cuando el cliente recibe este paquete se
encarga de abrir la conexión.
Es evidente que en el caso de tener un SERVIDOR FTP funcionando con
un router configurado con NAT, es necesario que éste traduzca
la dirección IP privada del paquete de respuesta a la petición
de entrada al modo pasivo.
d) IRC, soporte de DCC
IRC (Internet Relay Chat) es uno de los servicios más populares
de Internet, ofreciendo la posibilidad de chatear (intercambiar mensajes
de texto) con cualquier persona del mundo. Para ello es necesario
disponer de un cliente de IRC instalado en nuestro PC, por ejemplo
mIRC (uno de los más populares), Pirch y Virc para Windows,
o Ircle para Mac.
Estos clientes tienen otras funcionalidades como el envío y
recepción de DCC, permitiendo al usuario el intercambio de
archivos con otros clientes o establecer sesiones seguras de chat
privado. Es en el envío de DCC donde puede haber problemas
si se está haciendo uso de NAT en el router: los paquetes TCP
que avisan a otro cliente de la petición de envío de
DCC contienen dentro del campo de datos información del usuario,
como su dirección IP. Un paquete de este tipo conteniene la
siguiente cadena con la información conflictiva:
"DCC send ( )"
La dirección IP es necesaria para que el equipo destino sepa
a quién contestar. Si el PC envía la petición
con su dirección IP privada no se podrá llevar a cabo
la comunicación con éxito, por lo tanto es imprescindible
que el router traduzca esta dirección, o que el PC tenga conocimiento
de la dirección IP pública y sea él mismo quien
envíe el paquete correctamente. Esta segunda opción
es la utilizada por el cliente IRC probado en el laboratorio, el mIRC,
cuando se configura la opción de "Local Info"
con el "Lookup Method" en modo "Server".
De esta manera el uso de NAT no influye en el envío o recepción
de DCCs ya que el PC sabe cuál es la dirección pública
que le corresponde. El comportamiento de otros clientes de IRC puede
ser diferente y requerir que el router soporte específicamente
este protocolo.
4. Lista de puertos usados por aplicaciones
Independientemente de si una aplicación se apoya o no en un
protocolo que requiera soporte específico, si se intenta acceder
al router sin que se haya realizado una petición previa por
parte de algún puesto de la red local se rechazará la
conexión. Este comportamiento de firewall es intrínseco
al funcionamiento del NAT, ya que en estos casos el router no tiene
conocimiento de cuál es el PC al que van dirigidos los paquetes,
y, por lo tanto, los rechaza. Es necesario redireccionar los puertos
del router hacia una determinada máquina dentro de la red local,
para que así cualquier petición realizada desde Internet
hacia ese puerto (por ejemplo, si se monta un servidor web en la red
local) sea dirigida al puesto elegido por el usuario para funcionar
con esa aplicación.
En las pruebas realizadas en el laboratorio se verificó el
correcto funcionamiento de aplicaciones abriendo los siguientes puertos:
- NetMeeting: se basa en el protocolo H.323, y es
necesario abrir
los puertos TCP de control 1503 y 1720.
- Servidor FTP: puerto TCP 21.
- Servidor Telnet: puerto TCP 23.
- Servidor Web: puerto TCP 80.
- mIRC: para acelerar la entrada a
los servidores de IRC es conveniente abrir el puerto TCP 1080, en
caso contrario no es posible acceder a ellos hasta que no salte un
"time out". Algunos servidores utilizan el servicio de identificación
"IDENT", por lo que también es recomendable abrir
ese puerto en el router. El número de puerto es configurable por el cliente, y en el caso del mIRC el puerto por defecto es el TCP 113.
El resto de aplicaciones que requieren la apertura y direccionamiento
de los puertos no han sido probadas y verificadas en el laboratorio.
Esta información puede ser obtenida directamente de la página
web de "Practically Networked", concretamente en http://practicallynetworked.com/sharing/
app_port_list.htm
, (VER ANEXO 1) pero como se ha comentado antes, estos datos no han
sido verificados en nuestros laboratorios.
Anexo1: Lista de puertos usados por aplicaciones
Lista de puertos usados por aplicaciones (fuente: http://practicallynetworked.com/sharing
/app_port_list.htm)
Emnsajería y conferencia
Active
Worlds
(Watch Out! Opens a wide port range!)
IN TCP 3000
IN TCP 5670
IN TCP 7777
IN TCP 7000-7100
[0000]
Type=TCP
Translation=NORMAL
Port=5670
[0001]
Type=TCP
Translation=NORMAL
Port=7777
[0002]
Type=TCP
Translation=NORMAL
Port=7000-7100
[0003]
Type=TCP
Translation=NORMAL
Port=3000
AIM
Talk
OUT TCP 4099
IN TCP 5190
Calista
IP phone
OUT TCP 5190
IN UDP 3000
CuSeeMe
(Watch Out! Opens a wide port range!)
OUT UDP 24032
IN UDP 1414 [use H.323 protocol if available]
IN UDP 1424 [use H.323 protocol if available]
IN TCP 1503
IN TCP 1720 [use H.323 protocol if available]
IN UDP 1812 1813
IN TCP 7640
IN TCP 7642
IN UDP 7648
IN TCP 7648
IN TCP 7649 7649
IN UDP 24032
IN UDP 56800
OUT UDP 1414 [use H.323 protocol if available]
OUT UDP 1424 [use H.323 protocol if available]
OUT TCP 1503
OUT TCP 1720 [use H.323 protocol if available]
OUT UDP 1812 1813
OUT TCP 7640
OUT TCP 7642
OUT UDP 7648
OUT TCP 7648
OUT TCP 7649
OUT UDP 56800
Delta
Three PC to Phone
(Watch Out! Opens a wide port range!)
IN TCP 12053 [use CuSeeMe protocol if available]
IN TCP 12083
IN UDP 12080
IN UDP 12120
IN UDP 12122
IN UDP 24150 - 24179
Dialpad
OUT TCP 7175
IN UDP 51200 51201
IN TCP 51210
IN TCP 1584 1585
OUT TCP 8680 8686
Dwyco
Video Conferencing
(Watch Out! Opens a wide port range!)
IN UDP 12000 - 16090
IN TCP 1024 - 5000
IN TCP 6700 - 6702
IN TCP 6880
Go2Call
IN UDP 2090 2091
IN TCP 2090
H.323
compliant video player,
NetMeeting 2.0, 3.0, Intel Video Phone
(Watch Out! Opens a wide port range!)
(Incoming calls are not possible
due to NetMeeting assigning ports dynamically.)
OUT TCP 1720
IN UDP 1024 65534 [use H.323 protocol if available]
OUT UDP 1024 65534 [use H.323 protocol if available]
IN TCP 1024 1502 [use H.323 protocol if available]
OUT TCP 1024 1502 [use H.323 protocol if available]
IN TCP 1504 1730 [use H.323 protocol if available]
OUT TCP 1504 1730 [use H.323 protocol if available]
IN TCP 1732 65534 [use H.323 protocol if available]
OUT TCP 1732 65534 [use H.323 protocol if available]
OUT TCP 1503 1503
OUT TCP 1731 1731
IN TCP 1503 1503
IN TCP 1731 1731
Hotline
Server
IN TCP 5500 - 5503
IN UDP 5499
The TCP Ports enabled are 5500 - 5503 (This is for the standard 5500
Hotline port)
If
you change the default port, then you must enable the 3 ports after
it (so if you choose 4000 then you must enable 4000 - 4003)
The
UDP port enabled 5499 is required only if you want to list your
server on a tracker (the data stream is only outgoing so if you want
to
disable in bound on a firewall it would work fine)
ICQ
In ICQ under "Preferences & security", "Preferences"
and Connections, click on "I am behind a firewall or proxy"
then click on "Firewall Settings". Then select "I don´t
have a SOCKS Proxy server on my firewall" or "I am using
another Proxy server". Click Next. Click "Use the following
TCP listen ports for incoming event" and set the TCP ports for
20000 to 20019 for the first user, 20020 to 20039 for the second user,
20040 to 20059 for the third user, etc.
OUT
UDP 4000
IN TCP 20000 20019 for one user
OR
IN TCP 20000 20039 for two users
OR
IN TCP 20000 20059 for three users, etc.
ICUII
Client
OUT TCP 2019
IN TCP 2000 2038
IN TCP 2050 2051
IN TCP 2069
IN TCP 2085
IN TCP 3010 3030
OUT TCP 2000 2038
OUT TCP 2050 2051
OUT TCP 2069
OUT TCP 2085
OUT TCP 3010 3030
Internet
Phone
OUT UDP 22555
mIRC
DCC / IRC DCC.
The IRC port is usually 6667, but is sometimes 7000
OUT TCP 6667
or
OUT TCP 7000
IN TCP 113
mIRC
Chat
OUT TCP 100
IN TCP 101
mIRC
Fserve
OUT TCP 110
IN TCP 111
mIRC
IDENT
IN UDP 113
mIRC
Send
OUT TCP 120
IN TCP 121
mIRC
Get
OUT TCP 130
IN TCP 131
OUT TCP 132
MSN
Messenger
NOTE: Shut off any personal firewall programs such as BlackIce, ZoneAlarm,
etc.
Ports 6891-6900 enable File send,
Port 6901 is for voice communications
Allows Voice, PC to Phone, Messages, and Full File transfer capabilities.
Thnx to Brad King & Bill Finch Jr.
IN TCP 6891 - 6900
IN TCP 1863
IN UDP 1863
IN UDP 5190
IN UDP 6901
IN TCP 6901
Net2Phone
OUT UDP 6801
IN UDP 6801
One additional UDP and one TCP port in the range of 1 to 30000
must be mapped. Ports 6802 and 6803 are suggested. These
ports must be mapped in your firewall, then set in the Net2Phone client
as follows:
1) Click on Net2Phone´s "Menu" button.
2) Select "Preferences".
3) Click on the "Network" tab.
4) Enter 6802 for the Client TCP Port.
5) Enter 6803 for the Client UDP Port.
Pal
Talk [support page]
Each computer using Pal Talk must use a different OUT port number,
starting at 5001 and incrementing by 1.
OUT TCP 5001
IN UDP 2090 2091 [voice]
IN TCP 2090 2091
IN TCP 2095 [file transfer]
IN TCP 5200 5203 [answering service (future)]
IN TCP 8080 [video]
IN UDP 8090 - 8290 [group voice]
PhoneFree
IN UDP 1034 - 1035
IN UDP 9900 - 9901
IN TCP 1034 - 1035
IN TCP 2644
IN TCP 8000
This Mapping is needed to hear the audio from the incoming party,
outgoing audio would work without it.
** According to phonefree the ports you need open are:
8000 TCP For Server access
1034 UDP Voice in/out
1035 TCP Voice in/out
2644 TCP Personal Communication Center
I found that port range 9900-9901 UDP is also needed but not mentioned
at phonefree support.
Also shut off any other firewall programs you may have running.
To
make PC-TO-PHONE calls, it seems only UDP port 9900 must be opened
(the fewer ports open, the better!).
Polycom
ViaVideo H.323
IN TCP 3230 - 3235
IN UDP 3230 - 3235
NOTE: I needed to set these ports to dial out.
Also enable on ViaVideo (under H.323 QoS) ´Use Fixed Ports´ 3230-3235
TCP & UDP
Roger
Wilco [support page]
IN TCP 3782
IN UDP 3782
IN UDP 3783 [only needed for RW Base station]
Speak
Freely
IN UDP 2074 - 2076
Yahoo
Messenger Chat
IN TCP 5000 - 5001
Yahoo
Messenger Phone
IN UDP 5055
Audio y Video
Audiogalaxy
Satellite [updated 12/13/00]
(Watch Out! Opens a wide port range!)
IN TCP 41000 - 50000
IN TCP 1117-5190
Camerades
IN TCP 2047 2048
IN UDP 2047 2048
GNUtella
IN TCP 6346
IN UDP 6346
Napster
OUT TCP 6699
IN TCP 6699
QuickTime
4 Server
IN TCP 6970
IN UDP 6970 - 7000
QuickTime
4 Client & RealAudio on Port 554
(Watch Out! Opens a wide port range!)
OUT TCP 554
IN UDP 6970 - 32000
RealAudio
on Port 7070
OUT TCP 7070
IN UDP 6970 - 7170
ShoutCast
Server
IN TCP 8000 - 8005
Juegos
Aliens
vs. Predator
(Watch Out! Opens a wide port range!)
IN UDP 80
IN UDP 2300 - 2400
IN UDP 8000 - 8999
Asheron´s
Call [support page] [mapping info]
OUT UDP 9000, 9004, 9008, 9012
IN UDP 9000, 9001, 9004, 9005, 9012, 9013
NOTE! You may also need to open the MSN Game Zone and DX ports
Bungie.net,
Myth, Myth II Server
IN TCP 3453
Dark
Reign 2
IN TCP 26214
IN UDP 26214
Delta
Force (Client and Server)
OUT UDP 3568
IN TCP 3100 3999
OUT TCP 3100 3999
IN UDP 3100 3999
OUT UDP 3100 3999
Elite
Force
IN UDP 26000
IN UDP 27500
IN UDP 27910
IN UDP 27960
Everquest
(Watch Out! Opens a wide port range!)
IN TCP 7000
IN UDP 5999
IN UDP 1024 6000
Note: May have to open this last UDP range even wider
Fighter
Ace II
(Watch Out! Opens a wide port range!)
IN TCP 50000 - 50100
IN UDP 50000 - 50100
for
DX play also open these ports:
IN TCP 47624
IN TCP 2300 - 2400
IN UDP 2300 - 2400
Half
Life Server
IN TCP 27015
Heretic
II Server
IN TCP 28910
Hexen
II
Each computer hosting Hexen II must use a different port number, starting
at 26900 and incrementing by 1. IN
UDP 26900 (for first player)
KALI
Each computer using KALI must use a different port number, starting
at 2213 and incrementing by 1.
IN
UDP 2213 (for first player)
IN UDP 6666
Motorhead
server
IN UDP 16000
IN TCP 16000
IN TCP 16010 - 16030
IN UDP 16010 - 16030
The ports 16010-16030 are ports I specified in the MotorHead dedicated
server client ports section. You need to specify client ports so that
Motorhead does not assign client ports randomly.
MSN
Game Zone [support page] [DX support page]
(Watch Out! Opens a wide port range!)
IN TCP 6667
IN TCP 28800 - 29000
for
DX play also open these ports:
IN TCP 47624
IN TCP 2300 - 2400
IN UDP 2300 - 2400
Need
for Speed - Porche
IN UDP 9442
Outlaws
IN UDP 5310
IN TCP 5310
Quake2
(Client and Server)
IN UDP 27910
QuakeIII
Each computer playing QuakeIII must use a different port number, starting
at 27660 and incrementing by 1. You´ll also need to do the following:
1. Right click on the QIII icon
2. Choose "Properties"
3. In the Target field you´ll see a line like "C:\Program Files\Quake
III Arena\quake3.exe"
4. Add the Quake III net_port command to specify a unique communication
port for each system. The complete field should look like this: "C:\Program
Files\Quake III Arena\quake3.exe" +set net_port 27660
5. Click OK.
6. Repeat for each system behind the NAT, adding one to the net_port
selected (27660,27661,27662)
IN UDP 27660 (for first player)
Rainbow
Six (Client and Server)
OUT TCP 2346
IN TCP 2346
Rogue
Spear
OUT TCP 2346
IN TCP 2346
Starcraft
IN UDP 6112
Ultima
IN TCP 5001-5010 Game
IN TCP 7775-7777 Login
IN TCP 8888 Patch
IN TCP 8800-8900 UO Messenger
IN TCP 9999 Patch
IN TCP 7875 UOMonitor
Port
7875 is not used by the game, but by UOMonitor, which many players
use to monitor server status.
Unreal
Tournament server
IN UDP 7777 (default gameplay port)
IN UDP 7778 (server query port
IN UDP 7779+ (UDP 7779+ are allocated dynamically for each
helper UdpLink objects, including UdpServerUplin
objects. Try starting with 7779-7781 and add
ports if needed.))
IN UDP 27900 (server query, if master server uplink is enabled.
Some master servers use other ports, like 27500)
IN TCP 8080
(Port 8080 is for UT Server Admin. In the [UWeb.WebServer] section
of the server.ini file, set the ListenPort to 8080 (to match the mapped
port above) and ServerName to the IP assigned to the router from your
ISP.)
Westwood
Online C&C Tiberian Sun & Dune 2000
Note: Westwood Online supports only one user per public IP address
at any given time. Apprule courtesy of Quantus´ World
OUT TCP 4000
IN TCP 4000
IN UDP 1140 1234
IN TCP 1140 1234
OUT UDP 1140 1234
OUT TCP 1140 1234
ZNES
IN UDP 7845 [Uasr Quake Translation si se puede]
Servidores comunes
FTP Server on your LAN
IN TCP 21
POP3 Mail Server on your LAN
IN TCP 110
SMTP Mail server" on your LAN
IN TCP 25
TELNET Server on your LAN
IN TCP 23
WEB Server on your LAN
IN TCP 80
BAYVPN
OUT UDP 500
CITRIX
Metaframe
IN TCP 1494
CarbonCopy32
host on your LAN
(Watch Out! Opens a wide port range!)
IN TCP 1680
IN UDP 1023-1679
Deerfield
MDaemon Email Server
IN TCP 3000
IN TCP 3001
FW1VPN
OUT UDP 259
Laplink
Host
IN TCP 1547
Lotus
Notes Server
IN TCP 1352
NTP
(Network Time Protocol)
OUT UDP 123
IN UDP 123
pcANYHWERE
host on your LAN
IN TCP 5631
IN UDP 5632
IN UDP 22
RAdmin
(Fama Tech)
IN TCP 4899
Remote
Anything
FAQ page
IN TCP 3999 - 4000
IN UDP 3996 - 3998
Remotely
Possible Server
IN TCP 799
Shiva
VPN
(set the mobile option in the Shiva VPN client software to be your
public IP address)
OUT UDP 2233
IN UDP 2233
Virtual
Network Computing (VNC)
IN TCP 5500
IN TCP 5800
IN TCP 5900
Windows
2000 Terminal Server
(probably also works for NT Terminal services)
IN TCP 3389
IN UDP 3389
VPN Windows
TCP 1723