Comment configurer des proxies sans interface graphique?


79

Comment configurer les paramètres proxy dans les versions Ubuntu Server ou Minimal (CLI) à l'aide du terminal?

Réponses:


108

Les proxys système dans la CLI Ubuntu / Server doivent être définis en tant que variables d'environnement.

  • Ouvrez le /etc/environmentfichier avec vi(ou votre éditeur préféré). Ce fichier stocke les variables système initialisées au démarrage.
  • Ajoutez les lignes suivantes en les modifiant de manière appropriée. Vous devez dupliquer les majuscules et les minuscules car (malheureusement), certains programmes ne recherchent que l'un ou l'autre:

    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 = "hôte local, 127.0.0.1, adresse locale, .localdomain.com"
    
  • apt-get, aptitudeetc. n'obéiront pas aux variables d'environnement si elles sont utilisées normalement avec sudo. Donc, configurez-les séparément; créer un fichier appelé 95proxiesdans /etc/apt/apt.conf.d/, et inclure les éléments suivants:

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

Enfin, déconnectez-vous et redémarrez pour vous assurer que les modifications prennent effet.


Sources: 1 , 2 . Voir 1 en particulier pour obtenir une aide supplémentaire, y compris un script pour activer / désactiver rapidement les mandataires.


J'ai besoin d'aide sur ça. Cela fait un moment que j'essaie de le faire sur un serveur virtuel Ubuntu 12.04 et cela ne fonctionne pas. Je l'ai avec un Ubuntu virtuel 12.04 virtuel (non serveur). Mais j'ai utilisé l'interface graphique pour appliquer les paramètres globaux. J'ai essayé avec des citations comme le suggère le lien inférieur, mais cela n'a pas aidé. Si je saisis une adresse IP au lieu d'un nom de domaine.com, le formatage change-t-il? J'ai essayé plusieurs combinaisons de choses.
Frantumn

Êtes-vous sûr que https_proxy = "http?
BBK

Eh bien, ce n'est pas une bonne réponse à mon avis car les informations de proxy (incorrectes) que j'ai fournies au moment de l'installation ne se trouvent pas dans / etc / environment.
James T Snell

1
Dans mon cas, Ubuntu 12.04, il n'était pas nécessaire de se déconnecter et de redémarrer pour s'assurer que les modifications prenaient effet. J'exécute: redémarrage du gestionnaire du réseau de services sudo
Daniel Mora

1
@BBK même lorsque vous utilisez https, vous devrez peut-être toujours vous connecter au proxy via http, ce qui permet essentiellement au serveur proxy d'écouter votre connexion présumément sûre.
s3lph

9

Si vous avez un proxy d'authentification, les URL seront différentes. Au lieu de:

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

Vous aurez:

"http://user_name:password@myproxy.server.com:8080/"

Notez que ce sont toujours des URL, donc les mots de passe (et éventuellement les noms d'utilisateur) devront être encodés en URL .

Par exemple, un nom d'utilisateur muruet un mot de passe )qv3TB3LBm7EkP}ressembleraient à ceci:

"http://muru:)qv3TB3LBm7EkP%7D@myproxy.server.com:8080/"

Cela peut être fait de différentes façons:

  1. Il existe plusieurs sites Web pour l'encodage:
  2. Programmatique:

Dans un pincement, vous pouvez utiliser man urlpour voir quels caractères doivent être encodés:

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

Et les codes d'octet sont disponibles sur man ascii.


0
                                 Proxy Environment Variables:

http_proxy: serveur proxy pour le trafic HTTP
https_proxy: serveur proxy pour le trafic HTTPS
ftp_proxy: serveur proxy pour le trafic FTP
no_proxy: modèles pour les adresses IP ou les noms de domaine qui ne doivent pas utiliser le proxy

La valeur de chaque paramètre de proxy, à l'exception de no_proxy, utilise le même modèle. proxy_http=username:password@proxy-host:port

Proxy de réglage temporaire: export HTTP_PROXY=user:pass@my.proxy.server:8080

Paramètres de proxy persistants: permettent vim ~/.bash_profiled'ouvrir le fichier d'installation bash, puis de mettre les lignes suivantes à l'intérieur

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

utiliser source ~/.bash_profilepour appliquer les modifications


faute de frappe dans la dernière ligne des exemples "export" ("exprot" doit être "export"). J'ai essayé de le modifier pour appliquer le correctif, mais apparemment, les modifications doivent être "à 6 caractères ou plus" ...
Jeremy Davis

1
Merci, j'ai corrigé.
Yossarian42
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.