Come modificare le impostazioni del mio proxy in base alla rete a cui mi collego?

La rete aziendale della mia azienda mi impone di impostare un proxy di rete per accedere alla rete, ma quando sono altrove, non ne ho bisogno. Le impostazioni del proxy in Ubuntu (Sistema -> Preferenze -> Server proxy) mi hanno permesso di creare “posizioni” che posso selezionare manualmente. Quindi ho una posizione “predefinita” (senza proxy) e una posizione “di lavoro” (con il proxy della mia azienda al suo interno).

C’è un modo per fare in modo che Ubuntu selezioni automaticamente la posizione di “lavoro” in base alla connessione che sto usando? Pensavo di poter utilizzare la subnet IP (molto specifica) per rilevare dove sono, ma non ho idea di come configurarlo …

Modifica: ho davvero bisogno di avere le impostazioni del proxy impostate a livello di sistema. Tutte le mie connessioni di rete (IMAP, SMTP, chat, ecc.) Devono passare attraverso il proxy. Non solo il browser web.

Posso pensare a un modo, ma impostarlo sarà un po ‘oscuro.

Fondamentalmente è ansible utilizzare un file PAC

Installa un server web sul tuo sistema, qualsiasi piccolo server web lo farà, non hai bisogno di un sistema enorme come Apache.

Creare un file wpad.dat con le direttive PAC corrispondenti in base al proprio indirizzo di origine, quindi configurare il sistema per utilizzare il proxy corretto.

In firefox, configura il proxy in modo che punti al tuo file PAC locale. Probabilmente sarebbe qualcosa come http://localhost/wpad.dat .

Il tuo file PAC potrebbe sembrare un po ‘come questo ( non testato ). Vedi qui per altri esempi di PAC .

 function FindProxyForURL(url, host) { // If on a internal/LAN IP address, send traffic direct. if (isInNet(myIpAddress(), "10.10.1.0", "255.255.255.0")) { return "PROXY 1.2.3.4:8080; PROXY 4.5.6.7:8080; DIRECT"; } else { return "DIRECT"; } } 

Non l’ho mai provato e non sono in un sistema da testare, ma potresti anche essere in grado di specificare il file PAC usando un file:// URL in firefox, il che significherebbe che potresti saltare la configurazione del server web.

Naturalmente c’è anche la soluzione facile e veloce, ma richiede un piccolo sforzo da parte tua mentre ti muovi tra le varie posizioni. Installa l’estensione Quick Proxy per Firefox e fai clic sul pulsante nella barra degli strumenti per triggersre o distriggersre il proxy. Se sei disposto a gestire questo problema con un’estensione per Firefox, puoi provare anche FoxyProxy , supporta la configurazione di più profili proxy e puoi facilmente passare da un profilo all’altro.

In Ubuntu 10.10 lo script .pac funziona bene. Come spiegato da Zoredache, configura un server web, metti un file pac lì, apri System-> Preferences-> Network Proxy e imposta “URL di configurazione automatica” sul percorso del file pac.

Esempio di un file PAC che verifica il proprio indirizzo IP: /var/www/selectProxy.pac:

 function FindProxyForURL(url, host) { if (myIpAddress() == "192.168.22.63") { return "PROXY 192.168.22.8:8080"; } else { return "DIRECT"; } } 

In Preferenze proxy di rete: l’URL sarebbe:

 http://localhost/selectProxy.pac 

Come aggiunta alla risposta di Zoredache, è ansible utilizzare uno script in /etc/network/if-up.d per generare uno snippet in /etc/profile.d/ contenente le variabili della shell proxy. Nota che questo funzionerà solo con nuove shell.

Inoltre, questo metodo potrebbe essere utilizzato per generare un file WPAD, al quale si potrebbe puntare qualsiasi browser che lo supporta.

Questo è un post piuttosto vecchio, ma ho trovato questo. Dai un’occhiata a: http://marin.jb.free.fr/proxydriver/

È ansible installare il pacchetto .deb fornito per Ubuntu. Questo è fondamentalmente uno script di shell che modifica le variabili di ambiente quando la rete cambia. È ansible configurare le impostazioni per ogni rete modificando i file di configurazione (automaticamente) creati in /etc/proxydriver.d/

Ho lo stesso problema. Si prega di generalizzare eventuali risposte per includere la mia situazione.

Uso il mio laptop a casa su wireless: – sempre l’indirizzo IP statico dell’interfaccia eth1 (192.168.1.10)

Quando vado a lavoro lo collego: – sempre con indirizzo IP dinamico IP interfaccia eth0 (10.10.xx.xx), e con proxy: 10.10.123.123 porta 8888

Voglio che Ubuntu imposti automaticamente l’indirizzo IP e il proxy in base all’interfaccia che sto usando.

(Ho lavorato in / etc / network / interfaces [vedi “interfacce uomo” e /etc/resolv.conf senza alcun risultato.

Io uso l’approccio del file PAC e funziona bene per la navigazione ma non così bene per molte altre applicazioni che non comprendono i file PAC – Immagino che quando un’app richiede “proxy config” tramite l’API, ottengono solo il URL del file PAC indietro se ne stai utilizzando uno.

Per le applicazioni utente che non hanno il supporto proxy o non capiscono i file PAC (come Empathy), io uso tsocks (perché uso un tunnel SSH per il mio supporto proxy).

Il collegamento di un motore JavaScript o di un parser PAC ad ogni applicazione che supporta la configurazione proxy di base sembra eccessivo. Questo sembra essere un caso che potrebbe trarre beneficio da qualche supporto della piattaforma sottostante con una chiamata API che interpreti effettivamente il file PAC e restituisca il risultato, anziché il suo URL.

questo è un vecchio post a questo punto, ma sono venuto qui cercando un modo per farlo e ho trovato una risposta diversa. La risposta con cui sto lavorando risiede in un pacchetto chiamato ‘whereami’ e richiede di definire la substring del tuo lavoro nel suo file detect.conf e quindi definire il server proxy sul file whereami.conf. Dovrebbe funzionare, e posterò con qualsiasi problema che ho.

In bocca al lupo!