Avec les versions d'Ubuntu à interface graphique, il est aisé de configurer le proxy (ou serveur mandataire) dans le centre de configuration du système. Afin de passer le proxy via le terminal, la modification de quelques fichiers est nécessaire.
Durant cet article, les notations suivantes seront utilisées :
A.A.A.A
: adresse IP du proxyPPPP
: port du proxyutil
: nom d'un utilisateur du proxymdp
: mot de passe de l'utilisateur
Définition du proxy de manière temporaire
La définition du proxy de manière temporaire, pour l'utilisateur en cours, se fait avec la commande export
en précisant la variable d'environnement associée au protocole que vous voulez rediriger vers le proxy :
- Pour HTTP :
export http_proxy="http://A.A.A.A:PPPP/";
- Pour HTTPS :
export https_proxy="http://A.A.A.A:PPPP/";
- Pour FTP :
export ftp_proxy="http://A.A.A.A:PPPP/";
Si vous devez vous authentifier pour passer le proxy :
- Pour HTTP :
export http_proxy="http://util:mdp@A.A.A.A:PPPP/";
- Pour HTTPS :
export https_proxy="http://util:mdp@A.A.A.A:PPPP/";
- Pour FTP :
export ftp_proxy="http://util:mdp@A.A.A.A:PPPP/";
Vous pouvez également avoir besoin de définir des réseaux ou adresses qui n'ont pas à être redirigés vers le proxy. Cela se fait en valorisant la variable d'environnement no_proxy
(et éventuellement NO_PROXY
). Par exemple :
export no_proxy="localhost,127.0.0.1,192.168.1.0/24"
Remarques :
- Si vous avez un ou plusieurs caractères spéciaux dans votre mot de passe, il est parfois nécessaire de le(s) coder en héxadécimal afin d'éviter les erreurs lors de la validation de la commande.
- Dans certains cas, vous devez également valoriser les variantes en majuscule de ces variables d'environnement (
HTTP_PROXY
,HTTPS_PROXY
etFTP_PROXY
).
Définition du proxy de manière permanente
Pour tous les utilisateurs du système
Solution 1 : avec la commande export
La première solution pour définir les variables d'environnement dédiées au proxy pour tous les utilisateurs et d'insérer les commandes export
de valorisation de ces variables (celles utilisées pour la définition temporaire d'un proxy) dans un fichier s'excutant au démarrage du système.
Vous pouvez donc ajouter ces lignes de commande :
- A la fin du fichier
/etc/profile
- Dans un fichier de script se terminant dans
.sh
stocké dans le répertoire/etc/profile.d/
Solution 2 : valorisation directe des variables d'environnement
L'autre solution consiste à valoriser directement les variables dans le fichier /etc/environment
qui est lu à chaque ouverture de session. Ce fichier n'accepte pas les commandes, vous n'avez donc plus besoin d'utiliser la commande export
. Ajoutez donc à la fin du fichier les instructions suivantes pour définir un proxy pour les protocoles HTTP, HTTP et FTP :
http_proxy="http://A.A.A.A:PPPP/"
https_proxy="http://A.A.A.A:PPPP/"
ftp_proxy="http://A.A.A.A:PPPP/"
Evidemment, vous pouvez indiquer un utilisateur et un mot de passe, comme avec la commande export
, et valoriser la variable no_proxy
pour définir des exceptions.
Pour un utilisateur particulier du système
Le passage par un proxy nécessite souvent une authentification, il est donc préférable que chaque utilisateur déclare ses propres variables d'environnement avec son identifiant et son mot de passe personnels.
Pour cela, les utilisateurs doivent ajouter les commandes de valorisation des variables d'environnement dans un fichier caché se trouvant dans le répertoire personnel (home
) de l'utilisateur, comme pour le fichier /etc/profile
. Il y a plusieurs fichiers possibles :
-
~/.profile
: fichier executé lors du démarrage d'une session graphique ou d'une session en mode console. ~/.bashrc
: fichier executé à chaque utilisation du shell ainsi qu'a la connexion à l'environnement graphique (moins performant car exécuté à chaque nouvelle instance du terminal par exemple).
Définition du proxy seulement pour apt-get
Les solutions proposées ci-dessus permettent de passer un proxy quelque soit le service ou le programme utilisé. Si vous souhaitez définir le proxy seulement pour la mise à jour et l'installation des paquets, il suffit de créer un fichier dans le répertoire /etc/apt
(par exemple, le fichier /etc/apt/apt.conf
ou un fichier dans le répertoire /etc/apt/auth.conf.d
ou le répertoire /etc/apt/apt.conf.d
). A l'interieur de ce fichier, ajouter les lignes suivantes :
Acquire::http::proxy "http://A.A.A.A:PPPP/";
Acquire::https::proxy "http://A.A.A.A:PPPP/";
Acquire::ftp::proxy "http://A.A.A.A:PPPP/"
;
Ou, si une identification est nécessaire :
Acquire::http::proxy "http://util:mdp@A.A.A.A:PPPP/";
Acquire::https::proxy "http://util:mdp@A.A.A.A:PPPP/";
Acquire::ftp::proxy "http://util:mdp@A.A.A.A:PPPP/";