8 avr. 2009

Comment passer à travers un proxy

L'installation de Debian par le net, c'est vraiment le pied. On choisit ce qu'on veut, ça se télécharge, ça s'installe. Mais dans certains cas, ça peut se révéler un peu plus complexe que ça.

Dans le cadre de mon stage je me suis retrouvé confronté à cette installation à travers un proxy. Dans un premier temps, je n'y suis pas parvenu, ce qui m'a obligé à installer une Ubuntu 8.10 complète (juste parce que ça m'embêtait de graver 5 DVD pour Debian) pour la paramétrer ensuite.

Le proxy peut facilement être paramétrer dans le navigateur, ce qui m'empecher de travailler était le fait qu'APT ne puisse pas accéder au web.

J'ai donc découvert les différents moyens de traverser un proxy. En mode graphique il y a d'abord quelques astuces toutes simples :
  • Dans Système -> Préférences -> Serveur mandataire, on rentre l'IP du proxy, le port et l'authentification. On règle ainsi le proxy pour tout le système.
  • On peut faire la même chose, en ne paramétrant que Synaptic. Dans Synaptic on va dans Settings -> Network, on remplit les mêmes champs.

Par d'autres moyens et sans interface graphique (avec ça marche aussi), on peut maintenant aller fouiller un peu dans les fichiers de conf :

- /etc/apt/apt.conf :
Acquire::http::proxy "http://user:mdp@IP_proxy:port_proxy";

- /etc/wgetrc :
# You can set the default proxies for Wget to use for http and ftp.
# They will override the value in the environment.
http_proxy = http://user:mdp@IP_proxy:port_proxy
ftp_proxy = http://user:mdp@IP_proxy:port_proxy
# If you do not want to use proxy at all, set this to off.
use_proxy = on

Attention à ne pas mettre de "/" après le numéro de port du proxy.

- .bashrc
export http_proxy=http://login:mdp@IP_proxy:port_proxy
export HTTP_PROXY=$http_proxy
export ftp_proxy=$http_proxy
export FTP_PROXY=$http_proxy

Après avoir correctement paramétrer tout ça, je continuais à avoir des problèmes d'authentification sur le proxy. Après avoir réfléchi comme un ouf, le ventre plein du repas pris chez l'ami Tabarez (ce qui explique probablement ce regain d'activité cérébrale), j'ai fini par comprendre que le problème ne venait pas de la configuration. Le problème étant en fait dû aux droits alloués à l'utilisateur dont je me servais.

En utilisant les mêmes paramètres, avec un compte admin, hop, plus de problèmes. On repart donc de zéro, on reprend la Netinstall de Debian et à l'étape du paramétrage du proxy on rentre donc "http://user:mdp@IP_proxy:port_proxy" avec un utilisateur qui a tous les droits qui vont bien. Et après toutes ces recherches on peut enfin commencer à travailler, nom de dieu.

Malin 1, Proxy 0.

Voilà pour ce post un peu plus technique qu'à mon habitude qui, je l'espère, pourra en aider d'autres sur le web.

6 commentaires:

MaTT a dit…

gg :p

Intéressant !

Tix And Tux a dit…

J'ai tout compris ne t'inquiète pas, je pourrais même t'aider un peu si t'as besoin de moi ...

Je plaisante bien sûr !

Tix

JYPINO a dit…

Vraiment super, merci j'y avais jamais pensé, j'utilisais un proxy juste pour pour la messagerie instantanée et parfois pour la navigation.

Mal1n a dit…

@Matt: merci :p

@Tix: tkt pas, bientôt tu comprendras tout ça

@Jypino: je suis content que ça serve à quelqu'un, parce que je me suis tellement pris la tête là dessus :)

Kr][sS a dit…

ne peut-on pas configurer le proxy à un seul endroit et faire en sorte que ça marche pour firefox/wget/synaptic ?

j'ai l'impression que la conf système dispo dans système/préférences/serveur mandataire ne s'applique pas à tous les logiciels...

A+

Mal1n a dit…

@KrisS: Effectivement, j'ai aussi l'impression que certains logiciels sont indépendants de cette configuration système. Pour preuve, en configurant le proxy pour APT, Synaptic n'hérite pas du paramètrage.

Et de toute manière Synaptic, dans la logique des choses, devrait hérité des paramètres systèmes.

J'ai également découvert lors de l'installation de Nagios + Centreon que le module PHP Pear pouvait également avoir besoin qu'on lui passe le proxy en paramètre. La commande est la suivante :

pear config-set http_proxy http://utilisateur:motdepasse@proxy:port