La página del manual de yum.conf describe varias variables relacionadas con el proxy:
proxy URL to the proxy server that yum should use. proxy_username username to use for proxy proxy_password password for this proxy
Pero, ¿cómo especificar un proxy SOCKS?
Supongo que lo anterior es solo para servidores proxy HTTP normales ...
dante
lugar. Su comando essocksify app args
similar a tsocks. (y al igual que tsocks.conf para el comando tsocks, también necesita socks.conf para el comando socksify). Sin embargo, para socksifyyum
, recomiendo la respuesta de @Klaus. Modificar /etc/yum.conf es mejor.Agregue esta línea a
/etc/yum.conf
(tengo la idea de la publicación de DaPillow)proxy=socks5://ip:port
En caso de que sea necesaria la resolución del nombre de host a través del proxy, gracias a Danny de los comentarios esto lo haría:
proxy=socks5h://ip:port
Funcionó para mí usando yum 3.4.3 en Fedora 21.
fuente
Como señaló enzitib,
tsocks
se puede usar para usar un proxy SOCKS conyum
.Para ser más detallado, uno puede usarlo así:
Por defecto, tsocks usa SOCKS versión 4, pero puede configurar 5 a través de la directiva 'server_type'. Para las opciones de usuario / contraseña están las directivas 'default_user' / 'default_pass' y las variables de entorno TSOCKS_USERNAME / TSOCKS_PASSWORD.
fuente
Estoy usando CentOS6.x con yum-3.2.29-81, curl / libcurl 7.19.7-53 y tengo este mismo problema. Tengo servidores yum detrás de un firewall y quiero usar yum sobre una configuración de proxy SOCKS5 usando ssh. Idealmente, quiero hacer esto sin requerir tsocks, proxychains o cualquier otra utilidad de "socksification".
Configuré la conexión SOCKS5 usando:
Busqué en las fuentes de yum python y vi que usan pycurl que envuelve libcurl (también tenga en cuenta que todas las variables de entorno proxy - http_proxy, HTTP_PROXY, all_proxy, ALL_PROXY, etc., estaban inicialmente indefinidas). Además, verifiqué que ~ / .curlrc estaba vacío, por lo que no contaminó los resultados de mi prueba.
Quería ver si podía obtener curl para hablar a través del proxy socks5:
devolvió con éxito la página web remota, por lo que fue una buena señal: mostrar que libcurl puede usar los servidores proxy SOCKS5. Sin embargo, definir una variable de entorno
no fue suficiente:
ha fallado.
En este punto, cambié a usar un programa de prueba de Python test.py :
Ahora corriendo
fallará al buscar, pero se ejecuta
buscará con éxito http: // some-server / some-url . Entonces, me parece que esta combinación yum / libcurl (ciertamente antigua) que se envía con CentOS6 no está configurando correctamente el tipo de proxy dentro de libcurl. Creo que lo que está sucediendo es que el PROXYTYPE está predeterminado a un proxy HTTP estándar en lugar de identificar el esquema socks5: // dentro de la URL especificada en la variable de entorno http_proxy .
En cualquier caso, el siguiente parche para /usr/lib/python2.6/site-packages/urlgrabber/grabber.py funcionó para permitirme acceder a http: // repositorios yum a través de un proxy SOCKS5. Dentro de PyCurlFileObject # _set_opts (self, opts = {}), agregue:
alrededor de la línea 1205, justo antes
Con este cambio,
se conecta con éxito a todos mis repositorios http: // yum en el otro lado del firewall a través del proxy SOCKS5 ssh.
Por supuesto, uno podría exportar la variable de entorno http_proxy dentro de su shell para evitar especificarla antes de cada invocación de yum .
fuente
Proxychaines
¡También es una buena opción para ti!¡primero descárguelo y configure la información de sus calcetines en el
proxychains.conf
archivo e ingreseproxyxhanes
antes de cualquier comando que desee usar calcetines proxy!fuente
Agregue esta línea
/etc/yum.conf
y asegúrese de usar el protocolo esperado (no http):fuente
Options Error: Error parsing "proxy = "socks5h://abc.mnl.xyz.com:9999/ # "": URL must be http, ftp or https not "socks5h"