Impostare il proxy in Ubuntu da riga di comando

Inviato da rcorra68 il Gio, 12/04/2018 - 10:26

Mi capita spesso di dover accedere ad internet nel Server Ubuntu che ho create in ufficio per fare delle prove. Purtroppo in ufficio utilizziamo un proxy per ottimizzare l'accesso alla rete e questo rende le cose non proprio immediate.

Naturalmente il tutto va impostato tramite terminale impostando le giuste variabili d'ambiente o modificando i files di configurazione di alcune applicazioni.

APT (Advanced Package Tool)

E' il tool necessario per mantenere aggiornato il sistema operativo e per aggiungere programmi, pertanto è la prima cosa che occorre configurare. Per l'accesso al proxy va modificato il file apt.conf che si trova nella cartella /etc/apt:

roberto@ubuntu:~$ sudo nano /etc/apt/apt.conf

e inseriamo le righe seguenti:

Acquire::http::proxy "http://proxy.company.com:80/";
Acquire::https::proxy "https://proxy.company.com:80/";
Acquire::ftp::proxy "ftp://proxy.company.com:80/";

Variabili d'ambiente

Altri programmi invece utilizzano le variabili d'ambiente. Anche in questo caso da terminale possiamo configurare le variabili necessarie:

http_proxy="http://proxy.company.com:80/"

Purtroppo però in questo modo al riavvio del computer la variabile deve essere di nuovo impostata. Per rendere il tutto permanente occorre intervenire sul file environment. E già che ci siamo inseriamole in maniera completa:

roberto@ubuntu:~$ sudo nano /etc/environment

e aggiungiamo:

http_proxy="http://proxy.company.com:80/"
https_proxy="http://proxy.company.com:80/"
ftp_proxy="http://proxy.company.com:80/"
no_proxy="localhost,127.0.0.1,localaddress,.company.com"
HTTP_PROXY="http://proxy.company.com:80/"
HTTPS_PROXY="http://proxy.company.com:80/"
FTP_PROXY="http://proxy.company.com:80/"
NO_PROXY="localhost,127.0.0.1,localaddress,.company.com

Purtroppo occorre duplicare tutte le dichiarazioni perché alcuni programmi usano le variabile in minuscolo e altri quelle in maiuscolo ed essendo linux case sensitive per risolvere il problema occorre avere questa accortezza.

Proxy authentication

A complicare le cose nel nostro ambienti di lavoro l'accesso ad internet richiede l'autenticazione tramite utente e password. Pertanto in tutti i casi sopra riportati l'indirizzo del proxy cambia da:

http://proxy.miodominio.it:80/

a:

http://username:password@proxy.miodominio.it:80/

Ma non basta, per rendere il tutto ancora più complicato accediamo con l'utente di dominio nella forma di nome.cognome@miodominio.it. E questo comporta una piccola modifica da fare nella stringa che imposta il proxy per evitare che la chiocciola (@) che precede il dominio faccia confusione con quella che separa le credenziali dall'indirizzo del proxy.
Per risolvere il problema basta fare l'encoding della chiocciola che diventa %40. Da:

"http://nome.cognome@miodominio.it:password@proxy.miodominio.it:proxy.port/"

a:

"http://nome.cognome%40miodominio.it:password@proxy.miodominio.it:proxy.port/"

Questo vale, eventualmente per eventuali caratteri speciali presenti nella password che va indicata in chiaro. Ad es.:

P@ssw0rd

diventa

P%40ssword

In conclusione

Per riepilogare, nel caso della rete del mio ufficio, occorre apportare queste modifiche:

roberto@ubuntu:~$ sudo nano /etc/apt/apt.conf

Acquire::http::proxy "http://nome.cognome%40miodominio.it:password@proxy.miodominio.it:80/";
Acquire::https::proxy "https://nome.cognome%40miodominio.it:password@proxy.miodominio.it:80/";
Acquire::ftp::proxy "ftp://nome.cognome%40miodominio.it:password@proxy.miodominio.it:80/";
roberto@ubuntu:~$ sudo nano /etc/environment

http_proxy="http://nome.cognome%40miodominio.it:password@proxy.miodominio.it:proxy.port/"
https_proxy="http://nome.cognome%40miodominio.it:password@proxy.miodominio.it:proxy.port/"
ftp_proxy="http://nome.cognome%40miodominio.it:password@proxy.miodominio.it:proxy.port/"
no_proxy="localhost,127.0.0.1,localaddress,.miodominio.it"
HTTP_PROXY="http://nome.cognome%40miodominio.it:password@proxy.miodominio.it:proxy.port/"
HTTPS_PROXY="http://nome.cognome%40miodominio.it:password@proxy.miodominio.it:proxy.port/"
FTP_PROXY="http://nome.cognome%40miodominio.it:password@proxy.miodominio.it:proxy.port/"
NO_PROXY="localhost,127.0.0.1,localaddress,.miodominio.it"

Etichette

Aggiungi un commento

HTML ristretto

  • Elementi HTML permessi: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Linee e paragrafi vanno a capo automaticamente.
  • Indirizzi web ed indirizzi e-mail diventano automaticamente dei link.