Menu

Un llamado de atención para aquellos técnicos que configuran los access points en los bares (o Cómo configurar un DHCP correctamente en entornos de alta rotatividad de hosts)

20/09/2011 - Troubleshooting

En mi escala bohemia, no hay nada por encima de disfruta un buen café con leche, mientras nerdeo con mi notebook. Si es invierno mejor.  El hecho de tener el café humeante frente a mi nariz mientras estoy probando una nueva feature de Exchange 2010 o diseñando un workflow de sharepoint es algo sublime.  Ver la gente pasar con sus abrigos, respirando el aire frío y exhalando el vapor que sale de sus bocas, producto de la diferencia de temperatura corporal.  Una sensación inigualable para mí.  Lamentablemente este cuadro pintorezco (que hasta podría ser un pasaje de La Tregua de Mario Benedetti Open-mouthed smile) se ve interrumpido por el siguiente diálogo:

– Mozo, no hay internet…

El mozo asoma una mueca y yo adivino que es lo que está pensando: Este Nerd otra vez rompiendo los granos de café con su notebook.

– Si que hay internet – dice finalmente el mozo. – tenemos clientes que están utilizando el servicio.

En ese momento me surgen contradicciones que tengo que manejar dentro de mi cabeza.  La primera es cómo le explico que el DHCP agotó sus direcciones de reserva y no tiene más alocaciones disponibles en el pool, sin darle una charla teórica de 40 minutos acerca de las redes de ordenadores. La segunda es, porqué el técnico y/o personal que asistió en la configuración del router, no pensó un poco más acerca de los clientes (de red, no de café!!!) que iba a tener en este access point.

– El problema está en el router, sé que hay internet, pero si lo reinicias yo me voy a poder conectar – y ahí le lanzo una con mi mejor cara de Sledge Hammer (más parecida a las fotos del tipo Sos Groso, sábelo) – Confía en mí, se exactamente lo que hago.

Luego de una reiniciada se resuelven mis problemas y ya puedo ponerme a trabajar. 

El contrato de alquiler

No hay técnico, consultor, ingeniero o entusiasta de la computación que no sepa el concepto de Dirección IP Dinámica y Estática. Aquellos que nos perfilamos de nerd desde chiquitos aprendemos a decir DHCP casi en conjunto con la palabra Mamá, Papá y Cloud Computing Open-mouthed smile.

El DHCP (Dynamic Host Configuration Protocol) es un protocolo que permite asignarnos, mediante un alquiler (o lease) una dirección IP.  El rango de direcciones IP está definido por el administrador del servicio. Adicionalmente se configuran opciones como Default Gateway, name servers y Domain Suffix. Todas estas opciones, en conjunto con la dirección IP nos permiten acceder a nuestros recursos de red e interactuar con nuestros servidores y clientes. Una de las características que tiene este alquiler es que tiene vencimiento.  El vencimiento le permite al cliente que obtiene esa dirección IP poder tomar ciertas decisiones a intervalos regulares definidos por el tiempo de duración.

Cualquier host que se conecta a una red y obtiene una dirección IP mediante un DHCP realizará un refresh de esa dirección IP al 50% del tiempo por el cuál la dirección IP fue alquilada.  Esto significa que si yo tengo una dirección IP que tiene un día de alquiler, a las 12 horas estaré tratando de refrescar la validez de la misma.  En caso de no contactar al DHCP en ese momento, el host llegará aproximadamente al 90% del tiempo para volve a intentar refrescar esa dirección IP. Llegado el 100%, y no pudiendo contactar al servidor original, el host remueve la dirección IP y se configura (según sistema operativo) con una dirección APIPA (169.254.0.0/16) o simplemente 0.0.0.0 (dirección inespecífica)

La PC intentará refrescar la dirección IP cuando se prenda la máquina, o cuando el administrador del host realice un intento de renovación (en windows ipconfig /renew).

En algunos casos puedo liberar esa dirección IP (rescindir el “contrato”) mediante una operación forzada por el administrador (ipconfig /release).

No tengo más propiedades para alquilar

Todo esto sería una anecdota si nosotros tuviesemos un pool infinito de direcciones IP en el DHCP. Lamentablemente, como lo es la vida, el pool es finito. Es decir, se acaba. En la medida que el DHCP no reciba peticiones de liberación (ipconfig /release) estará forzado a mantener el alquiler en su tabla de alocaciones hasta que el servicio se detenga (ehh mozo, reiniciame el router!!) o el tiempo de alquiler haya expirado. En este último caso, el DHCP libera la dirección IP alquilada al host y la vuelve a poner en el Pool de direcciones IP Disponibles.

La mayoría de los equipos de conectividad en bares y confiterías de mi ciudad son equipos hogareños, lo cuál está bien. Generalmente vienen configurados de fabrica como DHCP, generalmente alocan desde la dirección 100 a la 150 (si si… ya adivinaste la marca) y generalmente tienen un alquiler de un día (si si, antes eran azules, ahora son negros Open-mouthed smile).

La duración del contrato

Existen cada vez más dispositivos con conectividad WiFi. Muchos de ellos se conectan automáticamente cuando detectan la red WiFi cercana (ej. Smartphones y tablets). Sumando las notebooks que puedan llegar a conectarse en un bar, tranquilamente se pueden alcanzar 50 direcciones IP por día.  Dado que el alquiler dura EXACTAMENTE un día, las direcciones IP expirarán al día siguiente a la misma hora que fueron alquiladas.  Por ende, es habitual que cuando el bar abra por la mañana y me tenga como parroquiano, tenga que reiniciar el router para que me pueda asignar una dirección IP.

Como resolver el problema

Si soy el que toma el café, y me acuerdo de la configuración IP puedo configurar una dirección estática (o fija) al azar teniendo encuenta el rango de direcciones IP que entrega el DHCP (y si no pruebo con la configuración típica, esto es 192.168.1.0/24 – gateway 192.168.1.1 y DNS los que me gusten – si no son los de speedy mejor!!)

Si soy el dueño del bar o el técnico que configura, tengo dos caminos.  El camino corto, que es efectivo hasta que crezca la cantidad de dispositivos conectados, sería aumentar el pool de direcciones IP Alocadas (por ej. llevarlo de 50 a 100) – Esto permitirá que haya más direcciones disponibles a la hora de obtener una dirección IP, y permitirá que las que fueron alquiladas se expiren correctamente.

El camino de los campeones, el camino de los sabios, el camino de los que resuelven las cosas para siempre, sería bajar el tiempo de alquiler de las direcciones IP.  Dado que no podemos forzar a la gente a que, antes de abonar su consumición, realice un ipconfig /release, podemos hacer que dichas direcciones IP se alquilen y vuelvan rápidamente al pool teniendo en cuenta el patrón de nuestros parroquianos.  Para esto no es necesario un análisis exhaustivo de conducta social ni nada parecido. Simplemente podemos hacer que las direcciones IP sean alquiladas por una, dos o cuatro horas a lo sumo.  Dado que el cliente va a renovar la dirección IP al 50% del tiempo, el cliente no va a perder conectividad cada una, dos o cuatro horas. Y de la misma manera, el DHCP podrá devolver más rápido las direcciones IP al pool.

 LeaseTime

Puntualmente, el bar en donde me encuentro ahora (muy famoso de por cierto) hace mal las cosas. El tiempo de alquiler de la dirección IP es de 3 días.  Yo estoy sentado en una mesa. No tengo una cama para quedarme a dormir por la noche. No tiene sentido – que desperdicio.

Mejores prácticas para un parroquiano nerd Feliz