En este artículo veremos como configurar proxy en Linux desde la interfaz de línea de comandos (CLI).
- Introducción (Volver al índice General)
Si el equipo a configurar pertenece a una red en la que para acceder a Internet se hace a través de un proxy tendremos que configurarlo, de lo contrario, tendremos problemas a la hora de, por ejemplo, instalar paquetes, actualizarlo o incluso hacer una instalación desde cero.Veremos varios métodos para configurar un proxy desde la interfaz de línea de comandos (CLI). Veremos soluciones permanentes, modificando archivos de sistema y temporales, como son la asignación de valores a variables de entorno.
Nota: En los ejemplos siguientes asumimos que nuestro servidor proxy está configurado para dar servicio por HTTP y HTTPS mediante la misma URL.
- Solución permanente (Volver al índice General)
Para configurar el proxy de forma permanente en nuestro sistema es necesario modificar los siguiente archivos:- Modificar el archivo environment (Volver al índice General)
En este archivo se guardan las variables de entorno permanentes. Este archivo de sistema se procesa al inicio del equipo.
Para configurar el proxy utilizando este archivo haremos lo siguiente:
- Servidor proxy sin autenticación (Volver al índice General)
Si el servidor proxy no requiere autenticación, desde la consola ejecutaremos los siguientes comandos:Primero editamos el archivo
/etc/environment
:$ sudo nano /etc/environment
Y a continuación añadimos las líneas de configuración del proxy:
... http_proxy=nombre-servidor-o-ip:puerto https_proxy=nombre-servidor-o-ip:puerto ftp_proxy=nombre-servidor-o-ip:puerto ...
Por ejemplo:
... http_proxy=proxy.zeppelinux.es:8080 https_proxy=192.168.100.254:8080 ...
- Servidor proxy con autenticación (Volver al índice General)
Si el servidor proxy requiere autenticación, desde la consola ejecutaremos los siguientes comandos:Primero editamos el archivo
/etc/environment
:$ sudo nano /etc/environment
Y a continuación añadimos las líneas de configuración del proxy:
... http_proxy=usuario:contraseña@nombre-servidor-o-ip:puerto https_proxy=usuario:contraseña@nombre-servidor-o-ip:puerto ftp_proxy=usuario:contraseña@nombre-servidor-o-ip:puerto ...
Por ejemplo:
... http_proxy=mortadelo:sucontraseña@proxy.zeppelinux.es:8080 https_proxy=mortadelo:sucontraseña@192.168.100.254:8080 ...
- Servidor proxy sin autenticación (Volver al índice General)
- Configurar el proxy para los gestores de paquetes (Volver al índice General)
- Para apt (Volver al índice General)
La gestión de paquetes en sistemas Debian y derivados se realiza mediante el comandoapt
, para configurar el proxy tendremos que editar el archivo/etc/apt/apt.conf
, o en versiones más modernas deapt
, si no existe el archivoapt.conf
, podemos crear un archivo de configuración específico para el proxy en/etc/apt/apt.conf.d
. Para hacerlo, ejecutamos los siguiente comandos:Primero editamos el archivo
/etc/apt/apt.conf
(si existe):$ sudo nano /etc/apt/apt.conf
Si tenemos una versión más moderna de
apt
y no existe el archivoapt.conf
, creamos un archivo específico para el proxy en/etc/apt/apt.conf.d/
al que llamaremos (el nombre puede ser el de vuestra elección)00proxy
:$ sudo nano /etc/apt/apt.conf.d/00proxy
Y a continuación añadimos las líneas de configuración del proxy:
... Acquire::http::Proxy "http://usuario:contraseña@nombre-servidor-o-ip:puerto"; Acquire::https::Proxy "https://usuario:contraseña@nombre-servidor-o-ip:puerto"; Acquire::ftp::Proxy "ftp://usuario:contraseña@nombre-servidor-o-ip:puerto"; ...
Por ejemplo:
Acquire::http::Proxy "http://mortadelo:sucontraseña@192.168.100.254:8080"; Acquire::https::Proxy "https://mortadelo:sucontraseña@proxy.zeppelinux.es:8080";
- Para pacman (Volver al índice General)
La gestión de paquetes en sistemas Arch Linux y derivados se realiza mediante el comandopacman
, para configurar el proxy tendremos que editar algunos archivos. Para hacerlo, ejecutamos los siguiente comandos:Editamos el fichero de configuración de
pacman
:$ sudo nano /etc/pacman.conf
Descomentamos la línea que comienza por
XferCommand
y deberá quedar como sigue:... XferCommand = /usr/bin/wget --passive-ftp --proxy=on -c -O %o %u ...
Guardamos el archivo y editamos el archivo de configuración de la herramienta
wget
, utilizada para la descarga de paquetes:$ sudo nano /etc/wgetrc
Y a continuación añadimos las líneas de configuración del proxy:
... http_proxy = http://usuario:contraseña@nombre-servidor-o-ip:puerto https_proxy = https://usuario:contraseña@nombre-servidor-o-ip:puerto use_proxy = on ...
- Para yum (Volver al índice General)
La gestión de paquetes en sistemas RedHat/CentOS y derivados se realiza mediante el comandoyum
, para configurar el proxy tendremos que editar el archivo/etc/yum.conf
. Para hacerlo, ejecutamos los siguiente comandos:Primero editamos el archivo
/etc/yum.conf
:$ sudo nano /etc/yum.conf
Y a continuación añadimos las líneas de configuración del proxy:
... proxy=http://nombre-servidor-o-ip:puerto proxy_username=usuario proxy_password=contraseña ...
Por ejemplo:
... proxy=http://proxy.zeppelinux.es:8080 proxy_username=mortadelo proxy_password=sucontraseña ...
- Para apt (Volver al índice General)
- Modificar el archivo environment (Volver al índice General)
- Solución temporal (Volver al índice General)
Las variables de entorno donde se guarda la configuración del proxy sonhttp_proxy
,https_proxy
oftp_proxy
. En este punto veremos como se declara la variable, comprobaremos el cambio realizado y aprenderemos a eliminar la configuración del proxy.- Servidor proxy sin autenticación (Volver al índice General)
Si el servidor proxy no requiere autenticación, desde la consola ejecutaríamos algunos de los siguientes comandos:$ export http_proxy=http://nombre-servidor-o-ip:puerto/
$ export https_proxy=https://nombre-servidor-o-ip:puerto/
Por ejemplo:
$ export http_proxy=http://proxy.zeppelinux.es:8080/
$ export https_proxy=https://192.168.100.254:8080/
- Servidor proxy con autenticación (Volver al índice General)
Si el servidor proxy requiere autenticación, desde la consola ejecutaríamos algunos de los siguientes comandos:$ export http_proxy=http://usuario:contraseña@nombre-servidor-o-ip:puerto/
$ export https_proxy=https://usuario:contraseña@nombre-servidor-o-ip:puerto/
Por ejemplo:
$ export http_proxy=http://mortadelo:sucontraseña@proxy.zeppelinux.es:8080/
$ export https_proxy=https://mortadelo:sucontraseña@192.168.100.254:8080/
Nota: Con los comandos anteriores, las variables solo están disponibles para el usuario que las declara, es decir, si un usuario declara las variables estas no estarán disponibles para otro usuario, ni siquiera para el root. Para que las vean todos los usuarios habría que hacerlas permanentes declarándolas en el archivo
/etc/profile
, aunque lo normal, es declarar las variables permanentes para todos los usuarios en el archivo /etc/environment, como hemos visto en el punto anterior. - Comprobar la configuración del proxy (Volver al índice General)
Para comprobar que han surtido efecto los cambios, podemos hacerlo con los comandosecho
oprintenv
:$ echo $http_proxy http://mortadelo:sucontraseña@proxy.zeppelinux.es:8080/
$ printenv http_proxy http://mortadelo:sucontraseña@proxy.zeppelinux.es:8080/
Repetiríamos los mismos pasos para comprobar la variable
https_proxy
o cualquier otra variable conocida. - Eliminar la configuración del proxy (Volver al índice General)
Para eliminar la configuración del proxy, utilizaremos el comandounset
oexport
:$ unset http_proxy
o también:
$ export http_proxy=
Repetiríamos los mismos pasos para eliminar la variable
https_proxy
o cualquier otra variable conocida.
- Servidor proxy sin autenticación (Volver al índice General)
Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
Configuración de privacidad y de cookies.
Deja una respuesta