cntlm
fornisce una soluzione, insieme ad alcune configurazioni.
I passaggi di base da seguire sono:
- Installa cntlm.
- Modifica il suo file di configurazione in /etc/cntlm.conf, i commenti inclusi lo rendono abbastanza semplice.
- Aggiungi un server proxy (o due).
- Specificare il nome utente e il nome dominio NT nelle posizioni appropriate e rimuovere la voce della password.
Avviare il servizio cntlm, ad es. Tramite
$ sudo /etc/init.d/cntlm start
cntlm fornisce un modo per testare il proxy e generare un hash dalla tua password - ad es. dal comando (come root)
$ cntlm -I -M http://www.test.com
cntlm richiederà la password del tuo dominio. Quindi testerà diversi meccanismi di autenticazione sul server proxy configurato. Quando viene trovato un metodo di lavoro, stampa due righe che devono andare nel suo file di configurazione.
- Arrestare il server cntlm e aggiungere le righe ottenute nel passaggio 6 sopra
/etc/cntlm.conf
.
- Riavvia cntlm
Ora cntlm
è in esecuzione e pronto per essere utilizzato. Un certo numero di posti può essere utilizzato per configurare vari programmi per usarlo. cntlm
aggiungerà quindi in modo trasparente i token di autenticazione del dominio NT ai pacchetti in uscita e li inoltrerà al server proxy configurato.
Usando Qt / KDE
Per le applicazioni native Qt / KDE, specifica "Usa server proxy configurato manualmente" nelle Impostazioni di sistema di KDE -> Impostazioni di rete -> Impostazioni proxy . Il proxy è specificato come http://localhost
con la porta 3128 (impostazione predefinita a cntlm
meno che non sia stata modificata). Queste applicazioni vengono aggiornate dinamicamente con nuove impostazioni e non è necessario riavviare o disconnettersi / accedere per aggiornare le impostazioni.
Dropbox e clienti Google
Molte applicazioni possono utilizzare variabili di ambiente shell. Degno di nota qui sono i client Dropbox e Google Earth. Per queste applicazioni utilizzare variabili di ambiente shell come queste:
no_proxy=localhost,127.0.0.0/8,*.local
NO_PROXY=localhost,127.0.0.0/8,*.local
all_proxy=socks://localhost:3128/
ALL_PROXY=socks://localhost:3128
http_proxy=http://localhost:3128
HTTP_PROXY=http://localhost:3128
ftp_proxy=http://localhost:3128
FTP_PROXY=http://localhost:3128
https_proxy=http://localhost:3128
HTTPS_PROXY=http://localhost:3128
s3cmd, curl e wget
Nota: alcune applicazioni useranno solo i nomi in minuscolo, altre solo i nomi in maiuscolo, alcune proveranno prima l'una, poi l'altra.
s3cmd
(Il client Amazon S3) curl
e , wget
se lo si desidera , può inoltre essere configurato tramite i propri file di configurazione. Questo è utile perché leggono i propri file di configurazione su ogni chiamata. Dal momento che questi programmi hanno in genere vita breve (esiste una sola invocazione dopo aver completato il download) che è molto utile.
Il formato per s3cmd
in ~/.s3cfg
è:
proxy_host = localhost
proxy_port = 3128
Il formato per wget in ~/.wgetrc
è:
https_proxy = http://localhost:3128
http_proxy = http://localhost:3128
ftp_proxy = http://localhost:3128
Il formato per curl
in ~/.curlrc
è:
proxy = localhost:3128
D'altra parte, la modifica del profilo della shell o di altri file di configurazione dell'ambiente richiede in genere un riavvio, il log-in e il back-in o simili. Vale la pena indagare /etc/environment
, ecc ~/.pam_environment
. ~/.kde/env/proxy.sh
Poiché si tratta di posizioni standard per l'impostazione delle impostazioni proxy configurate tramite variabili di ambiente shell, in particolare per influenzare tutti gli utenti e i servizi sul sistema.
Comprendo anche che è possibile modificare le impostazioni dell'ambiente in base all'applicazione utilizzando i rispettivi .desktop
file, ma non l'ho ancora provato (con successo).
VirtualBox
VirtualBox può essere configurato per utilizzare un proxy (ad esempio per verificare e scaricare gli aggiornamenti software) usando la sua GUI o usando il comando:
$ VBoxManage setextradata global GUI/ProxySettings \
"proxyEnabled,localhost,3128,authDisabled,,"
Per completezza, per disabilitarla utilizzare:
$ VBoxManage setextradata global GUI/ProxySettings \
"proxyDisabled,,,authDisabled,,"
Firefox
Per Firefox utilizzo l'addon QuickProxy. Firefox stesso se configurato manualmente per utilizzare il server proxy sul computer locale, quindi QuickProxy semplicemente abilita / disabilita l'impostazione.
APT
APT (utilizzato in background da synaptic, muon e amici) utilizza un file di configurazione /etc/apt/apt.conf.d/
, ad es. L' 00proxy
abilitazione del proxy per APT viene eseguita usando linee come:
Acquire::http::Proxy "http://localhost:3128";
#Acquire::ftp::proxy "ftp://localhost:3128/";
#Acquire::https::proxy "https://localhost:3128/";
Nota: add-apt-repository utilizza il profilo radice, oppure è possibile configurare sudo per consentire il passaggio di tutte le impostazioni http * _proxy.
Una sceneggiatura per dominarli tutti
FWIW In questo momento sto scrivendo uno script modulare per abilitare / disabilitare il proxy per numerosi programmi. Finora ho scritto i seguenti moduli:
$ ls -lF proxymanager/modules/
total 60
-rwxr-xr-x 1 root root 919 Oct 8 17:27 apt*
-rwxr-xr-x 1 root root 1037 Oct 8 13:10 bashrc*
-rwxr-xr-x 1 root root 391 Oct 8 12:18 cntlm*
-rwxr-xr-x 1 root root 684 Oct 8 12:58 curl*
-rwxr-xr-x 1 root root 609 Oct 8 13:02 dropbox*
-rwxr-xr-x 1 root root 672 Oct 8 12:18 gnome*
-rwxr-xr-x 1 root root 691 Oct 8 12:18 kde*
-rwxr-xr-x 1 root root 689 Oct 8 13:03 root_bashrc*
-rwxr-xr-x 1 root root 691 Oct 8 13:03 root_curl*
-rwxr-xr-x 1 root root 827 Oct 8 13:03 s3cmd*
-rwxr-xr-x 1 root root 454 Oct 8 13:03 survive_reboot*
-rwxr-xr-x 1 root root 860 Oct 8 13:06 suse-sysproxy*
-rwxr-xr-x 1 root root 653 Oct 8 12:46 sysenvironment*
-rwxr-xr-x 1 root root 465 Oct 8 13:04 virtualbox*
-rwxr-xr-x 1 root root 573 Oct 8 13:04 wgetrc*
Oltre a un'applicazione di controllo. Speriamo che presto saranno spostati in un github o in un'altra casa online.