lunes, 27 de junio de 2011

Actualización de Iphones, Ipods a través de Dansguardian

Hola, esta vez voy ha tratar algo que me aconteció en el trabajo y es que todo el mundo me acusaba al creer que yo les estaba bloqueando el acceso para la actualización de iphones ipads, ipods etc, a través del itunes, es por ello que les comparto esto.

En la empresa donde trabajo tengo como filtrado de contenidos a Dansguardian, y aunque considero que está bien afinada la restricción de sitios no deseados resulta que mis usuarios quienes salen al internet a través de este filtro no podían actualizar sus iphones ni ipads, ipods etc, y el problema básicamente es porque las direcciones a donde se conecta el itunes para su sincronización el Dansguardian lo califica como mal formada.

Como funciona esto?

Simple, cuando un usuario que tiene un iphone o cualquiera de los dispositivos mencionados y quiere actualizar alguna de sus aplicaciones o simplemente el sistema operativo este lo hace a través de una aplicación que se llama itunes, al escojer buscar actualizaciones salía un mensaje "No se ha podido contactar con el servidor de actualizaciones de software del Iphone", en primera instancia pensé que además de ello necesitaba la apertura de un puerto adicional y efectivamente la conexión que hace itunes hacia los sitios de apple es a través de 443 TCP (https) pero aun así el problema percistía, entonces investigando un poco encontré que el problema estaba en dansguardian, actualmente yo trabajo con la version 2.9.9.4 sin embargo al querer hacer las actualizaciones de sistema operativo de un iphone a través de tcpdump pude ver que en el proceso de actualización que realiza el itunes este se conecta a las siguientes direcciones:

- ax.init.itunes.apple.com.
- itunes.apple.com.
- ax.phobos.apple.com.edgesuite.net.

El problema de estas direcciones es que todas terminan en punto, entonces es por ello que dansguardian lo bloquea porque sostiene que al finalizar con un punto el url entonces es una dirección mal formada y no lo deja pasar pese a que las había puesto como excepciones pero ni así funcionaba.

Solución:

Lo que hice fué sacar a estas direcciones de dansguardian, es decir los redireccioné directamente hacia el puerto 80 como es esto?

Se supone que si tenemos corriendo dansguardian en nuestro servidor linux este escucha en el puerto 8080 entonces seguro tenemos una regla como esta para re dirigir el tráfico hacia el dansguardian.

(Tomando en cuenta que eth1 es mi red interna)
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080

Para re direccionar el tráfico de las direcciones antes mencionadas e indicar que no deseo que pasen por dansguardian si no mas bien que directo pasen por el puerto 80 hice lo siguiente:

$ nslookup ax.init.itunes.apple.com
Name: a771.da1.akamai.net
Address: 208.44.23.128
Name: a771.da1.akamai.net
Address: 208.44.23.104

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -d 208.44.23.128/32 -j ACCEPT

Lo mismo toca hacer para las otras direcciones mencionadas, una cosa adicional recuerden que iptables es secuencial entonces estas reglas deben estar antes de la re dirección hacia dansguardian.

La otra opción que podrían hacer es actualizar la versión de dansguardian, según dice ya se soluciona este bug.
Bueno espero que les haya servido nos vemos en el siguiente post.
Saludos,

miércoles, 2 de marzo de 2011

Huawei E1756C de Movistar funcionando en Debian Squeeze

Resulta que en el trabajo me regalaron un modem de movistar para poder conectarme a la red de la empresa en cualquier momento que me encuentre fuera de ella, así poder solucionar o dañar algo en la misma según sea del caso. El modem es un Huawei E1756C 3.5 G de movistar y lo primero que vi fué los requisitos del sistema para que este funcionara, como era de esperarse funciona en todos los windows y también en mac osx pero en gnu/linux nada que ver "que raro" dije yo pero bueno ha trabajar se ha dicho.

Bueno una vez conectado el modem lo primero es ver como nos reconoce el mismo entonces para eso podemos verlo con:

#lsusb

la salida del mismo muestra algo como esto:



Como podemos ver en la primera línea después de ingresar el comando mencionado el sistema nos reconoce el modem como un huawei tecnologies, en mi caso lo reconoció sin problema pero si no nos hubiese reconocido lo que tenemos que hacer es instalar la siguiente aplicación para que nos reconozca el modem, esto lo hacemos con el comando:

# apt-get install usb-modeswitch

Bueno ahora ya lo tenemos reconocido al modem, este por lo general trabaja con el puerto /tty/USB0, al momento de conectar el modem lo podemos ver abriendo una consola y poniendo el comando:

# tail -f /var/log/syslog

En este caso teniendo el modem reconocido tenemos que ver como conectarnos al proveedor de servicio es movistar, podría hacerlo a través de NetworkManager si usara Gnome, pero lamentablemente ese no es mi caso yo uso KDE 4.3 así que lo hice a través de wvdial que es una aplicación que permite hacer el llamado al proveedor de servicio, entonces debemos instalarla así:

# apt-get install wvdial

Una vez instalado el programa lo editamos, en mi caso y para ecuador voy ha poner la configuración que funcionó:

En el archivo que se encuentra en /etc/wvdial.conf

[Dialer reset]
Modem = /dev/ttyUSB0
Init1 = AT

[Dialer movistar]
Modem = /dev/ttyUSB0
Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init5 = AT+CGDCONT=1,"IP","navega.movistar.ec","",0,0
Modem Type = Analog Modem
Phone = *99#
ISDN = 0
Baud = 9600
Username = movistar
Password = movistar
New PPPD = yes

La siguiente configuración hace referencia a un diler creado que se llama movistar, este tiene comandos que envía al modem a inicializarse, posteriormente navega.movistar.ec es a donde se conecta el modem, Phone=*99# es el número de marcado, Baud = 9600 hace referencia a la velocidad en baudios, e iniciamos una instancia con el demonio pppd.

Para conectarnos solo debemos ejecutar el comando:

# wvdial movistar

Este automáticamente se conecta, aquí una terminal que detalla mi conexión:




Para para la conexión solamente debemos digitar Ctrl + C, una cosa que me pasó es que los dns que movistar los puso no funcionaron entonces lo que hice fué poner los dnss de google y funcionó perfecto.

Bueno no es mas por hoy, espero lo disfruten y comprueben que las cosas que son solo para windows si funciona también en GNU/Linux.