Sieć firmowa mojej firmy wymaga ode mnie skonfigurowania sieciowego serwera proxy, aby uzyskać dostęp do sieci, ale gdy jestem gdziekolwiek indziej, nie potrzebuję tego. Ustawienia proxy w Ubuntu (System -> Preferencje -> Serwer proxy) pozwoliły mi stworzyć „lokalizacje”, które mogę wybrać ręcznie. Następnie mam lokalizację „domyślną” (bez serwera proxy) i lokalizację „służbową” (w tym serwer proxy mojej firmy).
Czy istnieje sposób, aby Ubuntu automatycznie wybrał lokalizację „roboczą” na podstawie używanego połączenia? Myślałem, że mogę użyć podsieci IP (bardzo konkretnej) do wykrycia, gdzie jestem, ale nie mam pojęcia, jak ją skonfigurować ...
Edycja: Naprawdę muszę mieć ustawienia proxy na poziomie systemu. Wszystkie moje połączenia sieciowe (IMAP, SMTP, czat itp.) Muszą przejść przez serwer proxy. Nie tylko przeglądarka internetowa.
źródło
W Ubuntu 10.10 skrypt .pac działa dobrze. Jak wyjaśnił Zoredache, skonfiguruj serwer WWW, umieść tam plik pac, otwórz System-> Preferencje-> Network Proxy i ustaw „Adres URL autokonfiguracji” na lokalizację pliku pac.
Przykład pliku PAC, który sprawdza własny adres IP: /var/www/selectProxy.pac:
W preferencjach serwera proxy sieci: adres URL będzie:
źródło
Jako dodatek do odpowiedzi Zoredache'a możesz użyć skryptu w /etc/network/if-up.d do wygenerowania fragmentu w /etc/profile.d/ zawierającego zmienne powłoki proxy. Zauważ, że będzie to działać tylko z nowymi powłokami.
Dodatkowo, ta metoda może być użyta do wygenerowania pliku WPAD, do którego można wskazać dowolne przeglądarki obsługujące to.
źródło
To jest dość stary post, ale znalazłem to. Zobacz: http://marin.jb.free.fr/proxydriver/
Możesz zainstalować pakiet .deb dla Ubuntu. Jest to w zasadzie skrypt powłoki, który zmienia zmienne środowiskowe, gdy zmienia się sieć. Możesz skonfigurować ustawienia dla każdej sieci, edytując pliki konfiguracyjne (automatycznie) utworzone w
/etc/proxydriver.d/
źródło
Mam ten sam problem. Proszę uogólnić wszelkie odpowiedzi, aby uwzględnić moją sytuację.
Używam laptopa w domu przez sieć bezprzewodową: - zawsze statyczny adres IP interfejsu eth1 (192.168.1.10)
Kiedy idę do pracy, podłączam go: - zawsze dynamiczny adres IP interfejsu eth0 (10.10.xx.xx) ORAZ serwer proxy: 10.10.123.123 port 8888
Chcę, aby Ubuntu automatycznie ustawiał adres IP i serwer proxy na podstawie używanego interfejsu.
(Pomyślałem w / etc / network / interfaces [patrz „interfejsy man” i /etc/resolv.conf bezskutecznie.
źródło
Używam podejścia opartego na plikach PAC i działa dobrze do przeglądania, ale nie tak dobrze dla wielu innych aplikacji, które nie rozumieją plików PAC - domyślam się, że kiedy aplikacja prosi o „konfigurację proxy” za pośrednictwem interfejsu API, po prostu otrzymują URL pliku PAC z powrotem, jeśli go używasz.
W przypadku aplikacji użytkownika, które albo nie obsługują proxy, albo nie rozumieją plików PAC (takich jak Empathy), używam tsocks (ponieważ używam tunelu SSH do obsługi proxy).
Łączenie silnika JavaScript lub parsera PAC z każdą aplikacją obsługującą podstawową konfigurację proxy wydaje się przesadą. Wydaje się, że jest to przypadek, w którym można skorzystać z obsługi niektórych platform bazowych za pomocą wywołania API, które faktycznie interpretuje plik PAC i zwraca wynik zamiast adresu URL.
źródło
to jest stary post w tym momencie, ale przyszedłem tutaj, szukając sposobu na zrobienie tego i znalazłem inną odpowiedź. Odpowiedź, z którą pracuję, polega na pakiecie o nazwie „whereami” i wymaga zdefiniowania podsieci swojej pracy w pliku wykrywania.conf, a następnie zdefiniowania serwera proxy w pliku whereami.conf. Powinien działać, a ja opublikuję wszelkie problemy, które mam.
Powodzenia!
źródło