¿Cómo hacer que Ubuntu respete la configuración de proxy "ignore-hosts" para IPv6?

10

Acabo de escribir debajo "dconf-editor", System → Proxy → ignore-hosts, el siguiente contenido:

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

Pero, Google Chrome (y apt-get update / upgrade) simplemente ignora esta configuración.

EDITADO: Además, Firefox no respeta la ingore-hostsconfiguración, incluso configurándola para "Usar la configuración del proxy del sistema".

Por ejemplo, mi servidor proxy (Ubuntu con Squid3) está en modo de doble apilamiento PERO, NO quiero acceder a los sitios web IPv6 a través del proxy, es por eso que estoy tratando de ignorar todo el Internet IPv6 con la entrada 2000::/3, pero, No funciona como se esperaba.

EDITADO: Además, no necesito el proxy para acceder a los Hyperboriasitios, que reside debajo fc00::/8pero tampoco funciona ...

¿Por qué estoy haciendo esto?

Debido a que mi entorno ya es una red solo IPv6 y, para acceder a la antigua infraestructura de Internet (solo IPv4), necesito pasar por el proxy de doble pila. Pero necesito el proxy solo cuando un sitio web no tiene IPv6 ...

¿Cómo puedo saber que no funciona?

Es simple, solo acceda a un sitio web que muestre una dirección IPv6 en él, por ejemplo, http://www.sixxs.neto http://ipv6.whatismyv6.com, entonces, todavía veo la dirección IPv6 del servidor proxy, por lo "ignore-hosts entry '2000::/3'"que no parece estar funcionando.

EDITADO: Además, cuando intento acceder a un Hyperboriasitio web, Squid devuelve un error que no puede alcanzarfc00::/8 network

(ERROR de calamar: (101) La red es inalcanzable)

(por supuesto que no puede, el cjdnsenrutador se está ejecutando directamente en mi escritorio de Ubuntu, por lo tanto, no es necesario pasar por el proxy al navegar Hyperboria fc00::/8, pero Ubuntu no cumple ignore-hostscon la configuración del proxy.

ThiagoCMC
fuente
Algunas aplicaciones simplemente no usan esta configuración y envían todas las solicitudes a través del proxy si está configurado.
Michael Hampton

Respuestas:

2

Parece que esto no funcionará con la configuración del proxy Gnome. La ignore-hostsconfiguración funciona para nombres de host, direcciones y rangos de direcciones, pero aparentemente no resuelve los nombres de host antes de verificar las direcciones.

De la ignore-hostsdocumentación (énfasis por mí):

También tenga en cuenta que las exclusiones de nombres de host se aplican solo a las conexiones realizadas a hosts identificados por nombre, y las exclusiones de direcciones IP se aplican solo a las conexiones realizadas a hosts identificados por dirección . Es decir, si example.com tiene una dirección de 192.168.1.1, y la lista: ignore-hosts contiene solo "192.168.1.1", entonces una conexión a "example.com" (por ejemplo, a través de GNetworkAddress) usará el proxy , y una conexión a "192.168.1.1" (por ejemplo, a través de GInetSocketAddress) no lo hará.

Dubu
fuente
1

Para Google Chrome y Chromium, puede crear un archivo de política para toda la máquina.

Guía de inicio rápido del administrador de Linux Chrome

Aquí hay varias configuraciones de proxy y descripciones de la Plantilla de política :

// 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
fuente
Aquí también están los documentos de la línea de comandos de Chromium
Jon Skanes
1

No sé cómo hacer que Ubuntu obedezca esa configuración, pero puede haber soluciones:

  • APT sigue la configuración en /etc/apt/apt.confo las variables de entorno (como http_proxy). Las páginas de manual para apt.confno mencionan la configuración de dconf, por lo que creo que apt no las verifica. Para especificar sitios para los cuales apt debe ignorar el proxy, agregue a /etc/apt/apt.conf:

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

    Creo que esto no se puede hacer para rangos o subredes, y necesitará una entrada para que cada host excluya.

  • Chrome respeta la variable de entorno no_proxy, por lo que uno podría intentar usar eso:

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

    Definir no_proxyen /etc/environmentgarantizar su disponibilidad en todas partes. Se sabe que otros programas también honran esta variable.

  • Por último, puede considerar ejecutar dos servidores de calamar. El nuevo usará el actual como padre, pero solo para ciertos hosts, usando la configuración allow_direct/ never_direct. A continuación, establezca el nuevo como el servidor proxy en todas partes ( /etc/apt/apt.conf, /etc/environment, las dconfentradas). No sé mucho sobre redes de doble pila, así que no sé si esto funcionaría, pero vale la pena mencionarlo.

No uso la red de doble pila, pero como estoy detrás de un proxy del campus, tengo que hacer malabares con la configuración del proxy, y creo que la última opción es la mejor. Deja que los calamares hagan el malabarismo.

muru
fuente