Por motivos que no vienen al caso discutir en este artículo tuve que instalar Debian GNU/Linux detrás de un proxy que aún utiliza NTLM como medio de autenticación, aunque NTLM ya no es recomendado por Microsoft desde hace años en pro de usar Kerberos.
Una vez instalada la distribución quería utilizar apt-get
para actualizarla e
instalar nuevos paquetes, el resultado fue que apt-get
no funciona de manera
transparente detrás de un proxy con autenticación NTLM. La solución fue
colocar un proxy interno que esté atento a peticiones en un puerto particular
en el host, el proxy interno se encargará de proveer de manera correcta las
credenciales al proxy externo.
La solución descrita previamente resulta sencilla al utilizar cntlm
. En
principio será necesario instalarlo vía dpkg
, posteriormente deberá editar los
campos apropiados en el fichero /etc/cntlm.conf
- Username
- Domain
- Password
- Proxy
Seguidamente reinicie el servicio:
# /etc/init.d/cntlm restart
Ahora solo resta configurar apt-get
para que utilice nuestro proxy interno,
para ello edite el fichero /etc/apt.conf.d/02proxy
Acquire::http::Proxy "http://127.0.0.1:3128";
NOTA: Se asume que el puerto de escucha de cntlm
es el 3128.
Ahora puede hacer uso correcto de apt-get
:
# apt-get update
# apt-get upgrade
...
NOTA FINAL: Es evidente que cualquier comando o herramienta que necesite
autenticarse contra el proxy externo deberá configurarlo para que utilice el
proxy interno, lo explicado en este artículo no solo aplica para el comando
apt-get
.