¿Cómo configuro proxies sin GUI?

79

¿Cómo se configura el proxy en las versiones de Servidor Ubuntu o Mínimo (CLI) usando el terminal?

Asad
fuente

Respuestas:

108

Los proxies de todo el sistema en CLI Ubuntu / Server deben establecerse como variables de entorno.

  • Abra el /etc/environmentarchivo con vi(o su editor favorito). Este archivo almacena las variables de todo el sistema inicializadas en el arranque.
  • Agregue las siguientes líneas, modificando adecuadamente. Debe duplicar en mayúsculas y minúsculas porque (desafortunadamente) algunos programas solo buscan uno u otro:

    http_proxy = "http://myproxy.server.com:8080/"
    https_proxy = "http://myproxy.server.com:8080/"
    ftp_proxy = "http://myproxy.server.com:8080/"
    no_proxy = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    HTTP_PROXY = "http://myproxy.server.com:8080/"
    HTTPS_PROXY = "http://myproxy.server.com:8080/"
    FTP_PROXY = "http://myproxy.server.com:8080/"
    NO_PROXY = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    
  • apt-get, aptitude, Etc, no guarda las variables de entorno cuando se usa normalmente con sudo. Así que configúrelos por separado; crear un archivo llamado 95proxiesen /etc/apt/apt.conf.d/, e incluyen los siguientes:

    Adquirir :: http :: proxy "http://myproxy.server.com:8080/";
    Adquirir :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    Adquirir :: https :: proxy "https://myproxy.server.com:8080/";
    

Finalmente, cierre sesión y reinicie para asegurarse de que los cambios surtan efecto.


Fuentes: 1 , 2 . Consulte 1 en particular para obtener ayuda adicional, incluido un script para activar / desactivar rápidamente los proxies.

ish
fuente
Necesito ayuda en esto. He estado probando esto en un Ubuntu Server 12.04 virtual durante un tiempo y no funciona. Lo tengo trabajando con un Ubuntu 12.04 virtual (no servidor). Pero usé la GUI para aplicar la configuración global. He intentado con citas como sugiere el enlace inferior, y no me ayudó. Si estoy ingresando una dirección IP en lugar de un nombre de dominio.com, ¿cambia el formato? He probado varias combinaciones de cosas.
Frantumn
¿estás seguro https_proxy = "http?
BBK
Bueno, esta no es una gran respuesta desde mi punto de vista porque la información del proxy (incorrecta) que proporcioné al momento de la instalación no se encuentra en / etc / environment.
James T Snell
1
En mi caso, Ubuntu 12.04, no fue necesario cerrar sesión y reiniciar para asegurarme de que los cambios surtan efecto. Ejecuto: reinicio del administrador de red de sudo service
Daniel Mora
1
@BBK incluso cuando use https, es posible que deba conectarse al proxy a través de http, lo que básicamente permite que el servidor proxy escuche su conexión presumiblemente segura.
s3lph
9

Si tiene un proxy de autenticación, las URL serán diferentes. En lugar de:

"http://myproxy.server.com:8080/"

Tendras:

"http://user_name:[email protected]:8080/"

Tenga en cuenta que todavía son URL, por lo que las contraseñas (y posiblemente los nombres de usuario) tendrán que estar codificadas en URL .

Por ejemplo, un nombre de usuario muruy una contraseña de se )qv3TB3LBm7EkP}verían así:

"http://muru:)qv3TB3LBm7EkP%[email protected]:8080/"

Esto se puede hacer de varias maneras:

  1. Existen varios sitios web para codificar:
  2. Programático:

En un apuro, puede usar man urlpara ver qué caracteres deben codificarse:

An escaped octet is encoded as a character triplet, 
consisting of the percent character "%" followed by 
the two hexadecimal digits representing the octet code...

Y los códigos de octeto están disponibles en man ascii.

muru
fuente
0
                                 Proxy Environment Variables:

http_proxy: servidor proxy para tráfico HTTP
https_proxy: servidor proxy para tráfico HTTPS
ftp_proxy: servidor proxy para tráfico FTP
no_proxy: patrones para direcciones IP o nombres de dominio que no deberían usar el proxy

El valor de cada configuración de proxy, excepto no_proxy, utiliza la misma plantilla. proxy_http=username:password@proxy-host:port

Proxy de configuración temporal: export HTTP_PROXY=user:[email protected]:8080

Configuración de proxy persistente: utilícela vim ~/.bash_profilepara abrir el archivo de configuración de bash, luego coloque las siguientes líneas dentro de él

export http_proxy=username:password@proxyhost.com:8080
export https_proxy=username:password@proxyhost.com:8081
export no_proxy=localhost, 127.0.0.1, *.my.lan

utilizar source ~/.bash_profilepara aplicar los cambios

Yossarian42
fuente
error tipográfico en la última línea de ejemplos de "exportación" ('exprot' debería ser 'exportación'). Traté de editarlo para aplicar la corrección, pero aparentemente las ediciones tienen que ser "6 caracteres o más" ...
Jeremy Davis
1
Gracias, lo he corregido.
Yossarian42