Si bien existen diferentes tecnologías que buscan simplificar la configuración de los clientes P2P, una de las optimizaciones más importantes que cualquier usuario puede hacer para mejorar la velocidad de descarga es abrir puertos manualmente en el router. El proceso presenta variaciones que obedecen a la amplia cantidad de modelos disponibles, pero su esencia sigue siendo la misma en todos los casos, y hoy trataremos de explorarla un poco más de cerca.
La semana pasada una amiga comenzó a detectar síntomas extraños en su cliente P2P. Transferencias congeladas y descargas nuevas a baja velocidad surgieron de la nada, y con un poco de trabajo detectivesco vía chat descubrimos que el culpable era un nuevo firewall de McAfee que ella había instalado. Una vez retirado del camino, abrir los puertos en el router correctamente fue cuestión de un par de pasos adicionales, y de acuerdo a sus palabras, la diferencia de rendimiento es más que notable. Se supone que elementos como el uPnP deberían eliminar la necesidad de abrir puertos, pero la acumulación de experiencias en estos últimos años nos indica que el viejo método es superior. El problema es que la apertura de puertos no es intuitiva. Requiere ingresar a la configuración interna del router, navegar a través de su interfaz (que suele ser pésima), cruzarse en el camino con términos demoníacos (STP-MAC Cloning-QoS-NAT-DMZ, etc.), y finalmente llegar a la sección indicada. Por suerte, la Web ofrece un volumen de información cada vez más amplio sobre módems, routers, híbridos, puntos de acceso y otros dispositivos que permiten la apertura de puertos.
El ejemplo que voy a mencionar hoy está dividido en dos, con una pequeña parte enfocada sobre un módem-router Cisco DPC2420, y otra en un clásico Linksys WRT54G con DD-WRT instalado. El primer paso es asignar una dirección IP estática en la placa de red del ordenador que posee el cliente P2P. ¿Por qué es necesario esto? En términos muy relajados, el router «necesita saber» para qué dirección es la apertura de puertos. El sistema DHCP tiende a mantener las cosas relativamente estables, pero existe la posibilidad de que un día asigne una dirección IP diferente, y si eso sucede, el router no podrá hacer su trabajo. Para comenzar, abre una consola de sistema («cmd» dentro de Ejecutar, o «Símbolo de sistema» en Accesorios), y ejecuta allí el comando «ipconfig». Esto presentará la dirección IP asignada a tu tarjeta de red. Seguramente utiliza el formato «192.168.1.x», «192.168.0.x» o «10.0.0.x», pero es importante saber este dato con exactitud. Ahora vamos a «Centro de redes y recursos compartidos» en el Panel de Control, un clic en «Cambiar configuración del adaptador», otro clic con el botón secundario sobre la placa de red, y escogemos «Propiedades». Luego ingresamos a las propiedades del módulo «Protocolo de Internet versión 4 (TCP/IPv4)», y aquí es en donde reemplazamos la asignación automática de IP por una dirección manual. ¿Qué dirección colocamos? La realidad es que tenemos un poco más de libertad de la que aparenta, pero debemos seguir la línea de la puerta de enlace, o sea, el IP del router. Por ejemplo, si el IP del router es 192.168.1.1, la dirección puede ser el número siguiente, 192.168.1.2, o cualquier otra hasta un máximo de 192.168.1.254, aunque ciertos routers usan esa última dirección como default. El objetivo es claro: La dirección IP debe ser estática, al mismo tiempo que evitamos conflictos con otros dispositivos. El valor de la máscara de subred permanece en 255.255.255.0, y la puerta de enlace en 192.168.1.1. Los valores de DNS pueden quedar en automático, o ser reemplazados con servidores DNS externos, al estilo de OpenDNS y Google DNS.
Una vez aplicados los cambios, cargamos nuestro cliente P2P preferido, e ingresamos a sus propiedades de conexión. El contenido de este artículo está basado en qBittorrent, pero su esencia es válida para otros clientes BitTorrent, e incluso clientes compatibles con la red eDonkey, con eMule a la cabeza. Lo recomendable es escoger un número de puerto alto, de modo tal que logremos evadir colisiones con servicios que reclamen un uso exclusivo de puertos bajos. Cualquier cosa por arriba de 25000 debería ser seguro, y en mi caso se trata de 29541. Es necesario desactivar uPnP y la selección aleatoria de puertos, porque si llegara a modificarse con cada nueva instancia, lo que hagamos más adelante en el router no tendrá valor alguno.
Armados con la dirección IP estática y el número de puerto, es hora de ensuciarse las manos en la configuración interna del router. Para hacer esto nos apoyamos en cualquier navegador, ingresamos la dirección IP del router como dirección Web, e introducimos el nombre de usuario y la contraseña. En la gran mayoría de los modelos vemos a «admin» como user y pass, y otras combinaciones como «admin» y «1234». Otros modelos dejan el nombre de usuario o la contraseña en blanco. Si por algún motivo tu proveedor cambió el nombre de usuario y la contraseña, deberás reclamar estos datos. A pesar de lo que digan al otro lado del teléfono, no hay ninguna excusa que justifique negarte esta información… aunque existe el recurso de un «reset» general en el dispositivo para borrar esos valores. Si fuiste tú quien compró al router, no vas a tener este inconveniente.
Sí, lo admito: Las interfaces internas de configuración en los routers son un verdadero desastre. Completamente anti-usuario por donde se las mire. Las traducciones son horribles, y algunos de los parámetros dan miedo… pero sabemos exactamente lo que queremos, por lo tanto, es cuestión de encontrar la ruta correcta. El recurso en línea número uno para conocer mejor la configuración de tu router es el portal llamado PortForward.com. Ingresa a la base de datos de routers, busca tu marca y modelo (si no aparece en la lista, un modelo similar debería servir), localiza la aplicación que deseas configurar, y sigue los pasos ingresando tanto el número IP estático de la tarjeta de red como el puerto que escogiste en el cliente. En el módem-router Cisco DPC2420 esto implica visitar la pestaña «Setup», hacer clic en la sección «Port Forwarding», y llenar todos los campos: Dirección IP local (IP estática), puerto de inicio y puerto de cierre (el mismo puerto para ambos), protocolo (depende del uso, pero aquí colocamos Both), y una tilde en «Enable». El proceso bajo DD-WRT es muy similar, con la diferencia de que debemos hacer clic en la pestaña «NAT/QoS», para después ingresar a «Port Forwarding» y asignar cada entrada, que en DD-WRT necesitan un nombre.
En general no es necesario reiniciar los dispositivos una vez que reciben nuevos puertos para abrir, pero lo recomiendo de todos modos. Si has llegado a este punto, entonces felicitaciones: Los puertos para tu cliente P2P deberían estar abiertos apropiadamente. Si el ordenador posee algún firewall basado en software, necesitará registrar la excepción adecuada para el cliente P2P y/o los puertos que hayas abierto (esto «debería» ser automático), no sea cosa de que te suceda lo mismo que a mi amiga. Después está la posibilidad de que el proveedor aplique throttling a pesar de la apertura de puertos. En esas situaciones se recomienda activar la ofuscación de tráfico sobre cada cliente… pero esa, es otra historia. ¡Buena suerte!