Jak sprawić, by Ubuntu honorował ustawienia proxy „ignoruj-hostów” dla IPv6?

10

Właśnie wpisałem poniżej "dconf-editor", System → Proxy → ignore-hostsnastępującą treść:

['localhost', '127.0.0.0/8', '::1', '192.168.0.1', '2000::/3', 'fc00::/8']

Ale Google Chrome (i apt-get update / upgrade) po prostu ignoruje te ustawienia.

ZMIENIONO: Ponadto Firefox nie honoruje ingore-hostsustawień, nawet konfigurując je do „Użyj systemowych ustawień proxy”.

Na przykład mój serwer proxy (Ubuntu z Squid3) jest w trybie podwójnego stosu, ALE NIE chcę uzyskiwać dostępu do stron internetowych IPv6 przez proxy, dlatego próbuję zignorować cały Internet IPv6 z wpisem 2000::/3, ale, to nie działa zgodnie z oczekiwaniami.

ZMIENIONO: Ponadto nie potrzebuję proxy, aby uzyskać dostęp do Hyperboriastron, które znajdują się pod, fc00::/8ale to też nie działa ...

Dlaczego to robię?

Ponieważ moje środowisko jest już siecią opartą tylko na IPv6 i aby uzyskać dostęp do starej infrastruktury internetowej (tylko IPv4), muszę przejść przez serwer proxy z dwoma stosami. Ale potrzebuję proxy tylko wtedy, gdy strona internetowa nie ma IPv6 ...

Skąd mam wiedzieć, że to nie działa ?!

To proste, wystarczy wejść na stronę internetową, która pokazuje na przykład adres IPv6, http://www.sixxs.netlub w http://ipv6.whatismyv6.comdalszym ciągu widzę adres IPv6 serwera proxy, więc "ignore-hosts entry '2000::/3'"wydaje się , że nie działa.

ZMIENIONO: Ponadto, gdy próbuję uzyskać dostęp do Hyperboriastrony internetowej, Squid zwraca błąd, do którego nie może dotrzećfc00::/8 network

(Squid ERROR: (101) Sieć jest nieosiągalna)

(oczywiście nie może, cjdnsrouter działa bezpośrednio na moim Ubuntu Desktop, więc nie trzeba przechodzić przez serwer proxy podczas przeglądania, Hyperboria fc00::/8ale Ubuntu nie honoruje ignore-hostsw ustawieniach proxy.

ThiagoCMC
źródło
Niektóre aplikacje po prostu nie używają tego ustawienia i wysyłają wszystkie żądania za pośrednictwem serwera proxy, jeśli jest ustawiony.
Michael Hampton

Odpowiedzi:

2

Wygląda na to, że nie będzie działać z ustawieniami proxy Gnome. To ignore-hostsustawienie działa dla nazw hostów, adresów i zakresów adresów, ale najwyraźniej nie rozpoznaje nazw hostów przed sprawdzeniem adresów.

Od tej ignore-hostsdokumentacji (podkreślenie przeze mnie):

Należy również pamiętać, że wyłączenia nazw hostów dotyczą tylko połączeń z hostami identyfikowanymi według nazwy, a wyłączenia adresów IP dotyczą tylko połączeń z hostami identyfikowanymi według adresu . Oznacza to, że jeśli example.com ma adres 192.168.1.1, a lista: ignore-hosts zawiera tylko „192.168.1.1”, wówczas połączenie z „example.com” (np. Przez adres GNetworkAddress) będzie korzystało z proxy , a połączenie z „192.168.1.1” (np. przez GInetSocketAddress) nie.

Dubu
źródło
1

W przypadku Google Chrome i Chromium możesz utworzyć plik zasad dla całego komputera.

Linux Chrome Administrator Przewodnik Szybki start

Oto różne ustawienia proxy i opisy z szablonu zasad :

// Proxy bypass rules
  //-------------------------------------------------------------------------
  // Google Chrome will bypass any proxy for the list of hosts given here.  This
  // policy only takes effect if you have selected manual proxy settings at
  // 'Choose how to specify proxy server settings'.  You should leave this
  // policy not set if you have selected any other mode for setting proxy
  // policies.  For more detailed examples, visit:
  // http://www.chromium.org/developers/design-documents/network-settings#TOC-
  // Command-line-options-for-proxy-sett

  //"ProxyBypassList": "http://www.example1.com,http://www.example2.com,http://internalsite/",

  // Choose how to specify proxy server settings
  //-------------------------------------------------------------------------
  // Allows you to specify the proxy server used by Google Chrome and prevents
  // users from changing proxy settings.  If you choose to never use a proxy
  // server and always connect directly, all other options are ignored.  If you
  // choose to use system proxy settings or auto detect the proxy server, all
  // other options are ignored.  If you choose fixed server proxy mode, you can
  // specify further options in 'Address or URL of proxy server' and 'Comma-
  // separated list of proxy bypass rules'.  If you choose to use a .pac proxy
  // script, you must specify the URL to the script in 'URL to a proxy .pac
  // file'.  For detailed examples, visit: http://www.chromium.org/developers
  // /design-documents/network-settings#TOC-Command-line-options-for-proxy-sett
  // If you enable this setting, Google Chrome ignores all proxy-related options
  // specified from the command line.  Leaving this policy not set will allow
  // the users to choose the proxy settings on their own.

  //"ProxyMode": "direct",

  // URL to a proxy .pac file
  //-------------------------------------------------------------------------
  // You can specify a URL to a proxy .pac file here.  This policy only takes
  // effect if you have selected manual proxy settings at 'Choose how to specify
  // proxy server settings'.  You should leave this policy not set if you have
  // selected any other mode for setting proxy policies.  For detailed examples,
  // visit: http://www.chromium.org/developers/design-documents/network-settings
  // #TOC-Command-line-options-for-proxy-sett

  //"ProxyPacUrl": "http://internal.site/example.pac",

  // Address or URL of proxy server
  //-------------------------------------------------------------------------
  // You can specify the URL of the proxy server here.  This policy only takes
  // effect if you have selected manual proxy settings at 'Choose how to specify
  // proxy server settings'.  You should leave this policy not set if you have
  // selected any other mode for setting proxy policies.  For more options and
  // detailed examples, visit: http://www.chromium.org/developers/design-
  // documents/network-settings#TOC-Command-line-options-for-proxy-sett

  //"ProxyServer": "123.123.123.123:8080",

  // Enable or disable PIN-less authentication
  //-------------------------------------------------------------------------
  // If this setting is enabled or not configured, then users can opt to pair
  // clients and hosts at connection time, eliminating the need to enter a PIN
  // every time.  If this setting is disabled, then this feature will not be
  // available.
Jon Skanes
źródło
Oto też dokumentacja wiersza poleceń Chromium: Ustawienia proxy wiersza poleceń Chromium
Jon Skanes
1

Nie wiem, jak zmusić Ubuntu do przestrzegania tego ustawienia, ale mogą istnieć obejścia:

  • APT śledzi ustawienia w /etc/apt/apt.confzmiennych środowiskowych (takich jak http_proxy). Strony apt.confpodręcznika man dla nie wspominają o ustawieniach dconf, więc myślę, że apt ich nie sprawdza. Aby określić strony, dla których apt powinien ignorować proxy, dodaj do /etc/apt/apt.conf:

    Acquire::http::Proxy::<hostname/ip> DEFAULT;
    

    Myślę, że nie można tego zrobić w przypadku zakresów lub podsieci, a dla każdego hosta trzeba będzie wprowadzić wpis, który będzie wykluczony.

  • Chrome honoruje zmienną środowiskową no_proxy, więc można spróbować użyć tego:

    no_proxy=localhost,127.0.0.0/8,::1,192.168.0.1,2000::/3,fc00::/8 google-chrome
    

    Zdefiniować no_proxyw /etc/environmentcelu zapewnienia jego dostępności wszędzie. Inne programy znają również tę zmienną.

  • Na koniec możesz rozważyć uruchomienie dwóch serwerów kałamarnic. Nowy użyje twojego obecnego jako rodzica, ale tylko dla niektórych hostów, używając ustawień allow_direct/ never_direct. Następnie ustawić nowy jeden jako serwer proxy wszędzie ( /etc/apt/apt.conf, /etc/environment, że dconfwpisy). Nie znam się na sieci podwójnego stosu, więc nie wiem, czy to zadziała, ale warto o tym wspomnieć.

Nie używam sieci z dwoma stosami, ale ponieważ jestem za kampusowym proxy, muszę żonglować ustawieniami proxy i uważam, że ostatnia opcja jest najlepsza. Niech kałamarnica żongluje.

muru
źródło