web-dev-qa-db-fra.com

Comment obliger Ubuntu à respecter les paramètres de proxy "ignorer les hôtes" pour IPv6?

Je viens de taper sous "dconf-editor", System → Proxy → ignore-hosts, le contenu suivant:

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

Mais Google Chrome (et apt-get update / upgrade) ignore simplement ces paramètres.

EDITED: En outre, Firefox ne respecte pas les paramètres ingore-hosts, même en le configurant pour "Utiliser les paramètres proxy du système".

Par exemple, mon serveur proxy (Ubuntu avec Squid3) est en mode double pile MAIS, je ne veux PAS accéder aux sites Web IPv6 via le proxy, c’est pourquoi j’essaie d’ignorer l’intégralité de l’Internet IPv6 avec l’entrée 2000::/3, mais , cela ne fonctionne pas comme prévu.

EDITED: En outre, je n'ai pas besoin du proxy pour accéder aux sites Hyperboria, qui se trouvent sous fc00::/8 mais cela ne fonctionne pas non plus ...

Pourquoi je fais ça?

Étant donné que mon environnement est déjà un réseau IPv6 uniquement et que, pour accéder à l'ancienne infrastructure Internet (IPv4 uniquement), je dois passer par le proxy à double pile. Mais je n'ai besoin du proxy que lorsqu'un site Web n'a pas IPv6 ...

Comment puis-je savoir que cela ne fonctionne pas?!

C'est simple, il suffit d'accéder à un site Web comportant une adresse IPv6, par exemple, http://www.sixxs.net ou http://ipv6.whatismyv6.com. Dans ce cas, l'adresse IPv6 du serveur proxy s'affiche toujours. "ignore-hosts entry '2000::/3'" ne semble pas fonctionner.

EDITED: De plus, lorsque j'essaie d'accéder à un site Web Hyperboria, Squid renvoie une erreur indiquant qu'il ne peut pas atteindre fc00::/8 network

(Squid ERROR: (101) Le réseau est inaccessible)

(Bien sûr, le routeur cjdns fonctionne correctement sur mon bureau Ubuntu. Inutile donc de passer par un proxy pour parcourir Hyperboria fc00::/8, mais Ubuntu n’honore pas ignore-hosts avec les paramètres de proxy.

10
ThiagoCMC

Il semble que cela ne fonctionnera pas avec les paramètres de proxy Gnome. Le paramètre ignore-hosts fonctionne pour les noms d’hôte, les adresses et les plages d’adresses, mais ne résout apparemment pas les noms d’hôte avant la vérification des adresses.

De la documentation ignore-hosts (souligné par moi):

Notez également que les exclusions de nom d’hôte s’appliquent uniquement aux connexions établies avec des hôtes identifiés par leur nom, et Les exclusions d’adresse IP s’appliquent uniquement aux connexions établies avec des hôtes identifiés par adresse. Autrement dit, si exemple.com a une adresse de 192.168.1.1 et que la liste: ignore-hosts ne contient que "192.168.1.1", la connexion à "exemple.com" (par exemple, via une adresse GNetworkAddress) utilisera le proxy. , et une connexion à "192.168.1.1" (par exemple, via un GInetSocketAddress) ne sera pas.

2
Dubu

Pour Google Chrome et Chromium, vous pouvez créer un fichier de stratégie à l'échelle de l'ordinateur.

Linux Chrome Guide de démarrage rapide de l'administrateur

Voici divers paramètres de proxy et descriptions provenant de Modèle de stratégie :

// 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.
1
Jon Skanes

Je ne sais pas comment faire Ubuntu obéir à ce paramètre, mais il pourrait y avoir des solutions de contournement:

  • APT respecte les paramètres de /etc/apt/apt.conf ou les variables d’environnement (telles que http_proxy). Les pages de manuel de apt.conf ne mentionnent pas les paramètres dconf, je pense donc qu'apt ne les vérifie pas. Pour spécifier les sites pour lesquels apt doit ignorer le proxy, ajoutez à /etc/apt/apt.conf:

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

    Je pense que cela ne peut pas être fait pour des plages ou des sous-réseaux, et vous aurez besoin d'une entrée à exclure pour chaque hôte.

  • Chrome respecte la variable d'environnement no_proxy. Vous pouvez donc essayer de l'utiliser:

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

    Définissez no_proxy dans /etc/environment pour garantir sa disponibilité partout. D'autres programmes sont également connus pour respecter cette variable.

  • Enfin, vous pourriez envisager d’exécuter deux serveurs de squid. Le nouveau utilisera votre nom actuel en tant que parent, mais uniquement pour certains hôtes, en utilisant les paramètres allow_direct/never_direct. Configurez ensuite le nouveau serveur proxy partout (/etc/apt/apt.conf, /etc/environment, les entrées dconf). Je ne connais pas grand chose aux réseaux à double pile, donc je ne sais pas si cela fonctionnerait, mais ça vaut la peine d'être mentionné.

Je n'utilise pas de réseau à double pile, mais comme je suis derrière un proxy de campus, je dois jongler avec les paramètres de proxy, et je trouve que la dernière option est la meilleure. Laissez les calmars jongler.

1
muru