20 May
Proxy ISA, problemas para actualizar Linux
Categoría HowTo | Posteado por Patricio Ávila 15 ComentariosBueno, este problema me ocurrió al intentar actualizar un equipo con linux conectado a la red de mi oficina, sencillamente el equipo no conectaba a los repositorios, haciendo imposible la instalación-actualización de los paquetes del sistema.

Flickr @declanjewell
Investigando un poco averigüé primero que el proxy, usado por mi empresa es el ISA server proxy(no me excomulguen, pero en mi empresa solo se usa software propietario además no trabajo en TI así es que estoy perdonado
) , el cual para permitir el acceso a la red verifica que el equipo use Windows, además de que valida que el usuario y la contraseña esten registrados en el dominio, hasta aquí todo bien ya que poseo un usario y una password para acceder a internet, pero no cumplo con la condición de usar Windows, así es que recurro a San Google, y me encuentro con Cntlm Authentication Proxy.
Cntlm Authentication Proxy, es un proxy que se debe instalar en la máquina que queremos conectar a la red que utiliza el isa server y actua como el proxy de un proxy (un poco enredado esto), pero mejor dejemonos de tantas palabras y vamos a la acción.
Para esta demostración use un pendrive con Fedora 10(no use ubuntu justamente para dejar en claro que Cntlm sirve para cualquier distro, además era el unico linux que tenía a mano en la oficina hoy
).
No mostraré aquí como configurar la red ya que ese es otro cuento y lo dejo para que lo investiguen por su cuenta.
Para demostrar que el sistema no actuliaza tratamos de hacerlo digitando lo siguientre en la consola
limpiamos (en ubuntu apt-get clean all)
[root@localhost ~]# yum clean all
Loaded plugins: refresh-packagekit
Cleaning up Everything
Luego tratamos la actualización del sistema propiamente tal (en ubuntu apt-get update)
[root@localhost ~]# yum update all
Loaded plugins: refresh-packagekit
Could not retrieve mirrorlist http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-10&arch=i386 error was
[Errno 4] IOError:
Error: Cannot retrieve repository metadata (repomd.xml) for repository: fedora. Please verify its path and try again
Aquí queda claro que no puede recibir la informacion del repositorio, lo que indica un error de conexión
El camino al a solución
Bueno lo primero es poder bajar el paquete para nuestra distribución, el cual debido a las restricciones de acceso que tenemos a la red deberemos descargar e instalar a mano, desde aquí
Siguiendo, para instalar el paquete en Fedora tecleamos los siguiente (en ubuntu dpkg -i cntlm-0.35.1-1 i386.deb ):
[root@localhost Descargas]# rpm -ivh cntlm-0.35.1-1.i386.rpm
Preparing... ########################################### [100%]
1:cntlm ########################################### [100%]
Ahora ya tenemos Cntlm instalado, lo que nos falta es configurar el sistema para poder actualizar nuestro Linux, el archivo de configuración es /etc/cntlm.conf.
Lo abrimos para modificarlo con cualquier editor de texto, no pondré todo el contenido del archivo acá solo lo que hay que modificar para que funcione.
- Username usuario_windows
- Domain midominio.cl
- Password clave_usuario_windows
- Proxy ip_del_proxy:puerto
Luego de esto tenemos todo configurado. por lo que debemos indicarle a nuestro sistema que use como proxy del system a cntlm, que corre en nuestra máquina, para ello vamos al menú Sistema ->preferencias->Internet y red->Proxy de la red y como como proxy para todos los protocolos ponemos localhost y en el puerto el 3128, que en el archivo de configuración se puede cambiar en el parámetro Listen.
O si queremos que el uso del proxy también funcione en modo consola (no gráfico) editamos el archivo /etc/profile agregando las siguientes lineas:
set http_proxy=http://user:clave@server:port
export http_proxy=http://user:clave@server:port
Finalmente ejecutamos el siguiente comando :
[root@localhost etc]# cntlm -v
Default config file opened successfully
cntlm: Proxy listening on 127.0.0.1:3128
cntlm: Resolving proxy proxy.midominio.cl...
cntlm: Resolving proxy proxy.midominio.cl...
cntlm: Workstation name used: localhost.localdomain
cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
cntlm[3887]: Cntlm ready, staying in the foreground
La opción – v es para que muestre la salida de lo que esta haciendo y nos señala claramente que está bien configurado y escuchando en la dirección de loopback 127.0.0.1 en el puerto 3128.
Tras esto podremos actualizar sin problemas el sistema o instalar paquetes a través de la consola o los gestores de paquetes.
Solo queda recordar que cuando nos conectemos en otro lugar debemos cambiar el proxy del sistema y no ejecutar el comando cntlm.
Se que este tema es un poco rebuscado, pero nace de una necesidad personal y de que el tema está muy poco documentado en general.
Cualquier corrección o aporte técnico al tema es bienvenido y agradecido.























Proxy ISA, problemas para actualizar Linux | LinuxChillan
on Mayo 25 2009
[...] Proxy ISA, problemas para actualizar Linux | LinuxChillanwww.linuxchillan.org/2009/05/20/proxy-isa-problemas-para-act… por pgavilaf hace pocos segundos [...]
jaime
on Junio 10 2009
Patricio.
Muy bueno tu HOW TO, simplemente me soluciono el problema que tenia en al trabajo al tratar de conectar mi notebook con ubuntu en mi trabajo. El firefox me funcionaba de maravilla pero no la actualizacion.
Voy a compartir el enlace de tu pagina para conocimiento universal.
gracias!!
elkan's status on Tuesday, 16-Jun-09 12:45:34 UTC - Identi.ca
on Junio 16 2009
[...] Problemas para actualizar tu linux por culpa de un proxy ISA aqui la soución http://ur1.ca/5rlv [...]
Gunther Kramm
on Agosto 10 2009
Compadre, de mucha utilidad.. llevo tiempo tratando de salir por el proxy ISA y siempre tuve el problema en la autenticacion, lei cientos de tutoriales y ninguno funcaba.. salio todo OK, gracias
Patricio Ávila
on Agosto 10 2009
De Nada Dunther, esa es la idea que sirva a todos.
Saludos
genomy
on Noviembre 5 2009
me da un error, algo escribi mal
cannot bind por 3128. address alredy in use
chivas
on Noviembre 9 2009
genomy }}}
Seguro que ya utilizas ese puerto:
– para otro servicio
– o cntlm ya esta iniciado como daemon (/etc/init.d/cntlm)
cocoloco
on Noviembre 10 2009
Yo tambien tengo el mismo error:
cannot bind por 3128. address alredy in use
como puedo solucionar este error, ya que al editar (/etc/init.d/cntlm) no se que hay que hacer
Patricio Ávila Figueroa
on Noviembre 10 2009
A ver el tema es el siguiente si cntlm se configura como demonio, no hay que ejecutarlo manualmente desde la consola.
Para saber si todo está ok hagan cntlm -v y les mostrará en que está el proxy.
Si definitivamente hay otro proceso usando el puerto 3128 se puede definir cualquier otro cambiando el parametro Listen en el archivo /etc/cntlm.conf, esto ya lo dice el tutorial (es solo por si no ha buen comprensión lectora).
Saludos gracias por los comentarios y cualquier duda haganla llegar a la lista de linux chillan, ya que los comentarios los leo poco.
jiro
on Noviembre 11 2009
Disculpen mi ignorancia, aun me da el error
que otro puerto puedo configurar en el lisen
funcionara el 8080
cntlm: Cannot bind port 3128: Address already in use!
cntlm: Resolving proxy 192.168.15.90…
cntlm: Resolving proxy 192.168.15.90…
cntlm: No proxy service ports were successfully opened.
Exitting with error. Check daemon logs or run with -v.
jiro
on Noviembre 11 2009
ya esta bien configurado, pero trate de instalar el VLC desde getor de paquetes y siempre me da el error, hay algo mas que debo configurar o reiniciar o estara malo el puerto.
ya casi lo consigo.
root@genomy-laptop:~# cntlm -v
Default config file opened successfully
cntlm: Proxy listening on 127.0.0.1:5865
cntlm: Resolving proxy 192.168.15.90…
cntlm: Resolving proxy 192.168.15.90…
cntlm: Workstation name used: genomy-laptop
cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
cntlm[11502]: Cntlm ready, staying in the foreground
jiro
on Noviembre 11 2009
Funciono,
Les agradezco.
ya pude instalar programas
funcionan los puertos 8080,5865,3130,
con estos me funciono,
aclaracion
se me habia quedado configurar el proxy de la red.
Patricio Ávila Figueroa
on Noviembre 11 2009
Que bien jiro que lograste configurar todo, en cuanto a que puerto, funciona con cualquiera que quieras usar siempre que no este usado por otro protcolo por ejemplo yo no usaría el 80(http), el 21(ftp) el 25(smtp) y varios mas que son usados por servisios básicos del sistema, en cuanto a los demas queda al gusto tuyo.
Lo otro para los usuarios de gnome hay una opcion que se llama proxy del sistema allí debes poner los parametros que le diste a cntlm y todas las aplicaciones de gnome que requieran proxy leerán esa conf y así evitan ir aplicación por aplicación.
Saludos gracias por los comentarios, ya que jamás pense que este post le sirviera a alguien mas que a mi
.
Jorge Juarez
on Febrero 12 2010
Exelente trabajo, trabaja de maravilla.
Alejandro
on Marzo 24 2010
Hola: Excelente la guia, tengo una duda:
Quiero realizar lo mismo desde una maquina virtual con linux corriendo en windows como host.
Instale el NTLMAPS en windows y comprobe que funciona OK, (seteo el proxy en 127.0.0.1:5865). Hasta aqui todo bien, ahora el tema es como hacer para ver setear este proxy desde la maquina virtual y asi poder actualizar paquetes y acceder a internet desde la misma.
Muchas Gracias,
Alejandro.