Impostare il proxy in Ubuntu da riga di comando
![squid](/sites/default/files/styles/wide/public/2023-02/squid_holding_computer.jpg?itok=m1Hc9TYl)
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"
- Accedi per poter commentare