Published on Thursday September 11th, 2008 .
Trabajo administrando maquinas Unix y Linux remotas por SSH. Muy amenudo me encuentro en la situacion de necesitar bajar algun paquete rpm o deb, algun parche,… o ejecutar un software que requiere conexion a Internet para actualizarse, registrarse,… y lo tipico es que la maquina en cuestion no tenga conexion a Internet.
Quizas podria pedir el acceso a traves de un proxy corporativo o bien que la gente de redes me abra temporalmente el acceso a la web a traves del firewall, pero eso son tramites y tiempo perdido.
Sin embargo, en mi puesto de trabajo, tengo acceso por un lado a la maquina Unix por SSH y por otro lado tengo acceso a Internet a traves de la red corporativa (o con una tarjeta 3G en el CPD ;-) )(directamente o mediante proxy). Vamos a ver como montar un tunel SSH y un proxy de andar por casa para unir ambas cosas y conseguir conexion temporal a la web desde la maquina Unix!
Continue reading ‘Conectarse a la web desde una maquina Unix sin conexión directa a Internet’
ShareThis / Compartelo
Published on Thursday February 7th, 2008 .
En un RedHat EL 5, al hacer un yum con proxy recibo el siguente mensaje: “Error: Cannot open/read repomd.xml file for repository: rhel-i386-server-5″
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5 (Tikanga)
# export http_proxy="http://localhost:8888"
# yum update
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
Setting up Update Process
Setting up repositories
Error: Cannot open/read repomd.xml file for repository: rhel-i386-server-5
En el proxy recibimos lo siguiente:
[Fiddler] Request Header parsing failed. Request was:
43 4F 4E 4E 45 43 54 20 78 6D 6C 72 70 63 2E 72 68 6E 2E 72 65 64 68 61 CONNECT xmlrpc.rhn.redha
74 2E 63 6F 6D 3A 34 34 33 20 48 54 54 50 2F 31 2E 31 0D 0A 0D 0A t.com:443 HTTP/1.1....
Encontre la solucion googleando un poco (solo una pagina hablaba de ello), pero probe la solucion y funciono:
It’s a bug in the crypto lib of python. It doesn’t add the HOST in the
headers of the HTTP/1.1.
Hay que editar el fichero /usr/lib/python2.4/site-packages/M2Crypto/httpslib.py en la maquina y añadir la linea siguiente entre las lineas 165 y 166:
msg = msg + "Host: %s:%d\\r\\n" % (self._real_host, self._real_port)
Quedando asi:
def _get_connect_msg(self):
""" Return an HTTP CONNECT request to send to the proxy. """
msg = "CONNECT %s:%d HTTP/1.1\\r\\n" % (self._real_host, self._real_port)
msg = msg + "Host: %s:%d\\r\\n" % (self._real_host, self._real_port)
if self._proxy_auth:
msg = msg + "%s: %s\\r\\n" % (self._AUTH_HEADER, self._proxy_auth)
msg = msg + "\\r\\n"
return msg
Una vez hecho esto, ya funciona bien:
# yum check-update
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
Setting up repositories
rpmforge 100% |=========================| 1.1 kB 00:00
rhel-i386-server-5 100% |=========================| 1.4 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 1.5 MB 00:00
################################################## 6175/6175
primary.xml.gz 100% |=========================| 1.1 MB 00:05
################################################## 3219/3219
ShareThis / Compartelo
Recent Comments