Como fazer o Ubuntu honrar as configurações de proxy “ignore-hosts” para IPv6?

10

Eu apenas digitei abaixo "dconf-editor", System → Proxy → ignore-hosts, o seguinte conteúdo:

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

Mas o Google Chrome (e apt-get update / upgrade) está apenas ignorando essas configurações.

EDITADO: Além disso, o Firefox não respeita as ingore-hostsconfigurações, mesmo configurando-o para "Usar configurações de proxy do sistema".

Por exemplo, meu servidor proxy (Ubuntu com Squid3) está no modo de pilha dupla, MAS NÃO desejo acessar sites IPv6 através do proxy, é por isso que estou tentando ignorar toda a Internet IPv6 com a entrada 2000::/3, mas, não funciona como esperado.

EDITADO: Além disso, não preciso do proxy para acessar Hyperboriasites, que residem em fc00::/8, mas também não funciona ...

Por que estou fazendo isso?

Como meu ambiente já é uma rede somente IPv6 e, para acessar a antiga infraestrutura de Internet (somente IPv4), preciso passar pelo proxy com pilha dupla. Mas preciso do proxy apenas quando um site não possui IPv6 ...

Como posso saber que não funciona ?!

É simples, basta acessar um site que mostra um endereço IPv6 nele, por exemplo, http://www.sixxs.netou http://ipv6.whatismyv6.comentão ainda estou vendo o endereço IPv6 do Servidor Proxy, portanto, "ignore-hosts entry '2000::/3'"parece não estar funcionando.

EDITADO: Além disso, quando estou tentando acessar um Hyperboriasite, o Squid retorna um erro que não pode alcançarfc00::/8 network

(Squid ERROR: (101) A rede está inacessível)

(é claro que não pode, o cjdnsroteador está sendo executado diretamente no meu Ubuntu Desktop, portanto, não há necessidade de usar proxy durante a navegação Hyperboria fc00::/8, mas o Ubuntu não é respeitado ignore-hostsnas configurações de proxy.

ThiagoCMC
fonte
Alguns aplicativos simplesmente não usam essa configuração e enviam todas as solicitações por meio do proxy, se houver alguma.
Michael Hampton

Respostas:

2

Parece que isso não funcionará com as configurações de proxy do Gnome. A ignore-hostsconfiguração funciona para nomes de host, endereços e intervalos de endereços, mas aparentemente não resolve nomes de host antes de verificar os endereços.

A partir da ignore-hostsdocumentação (ênfase minha):

Observe também que as exclusões de nome de host se aplicam apenas às conexões feitas aos hosts identificados pelo nome, e as exclusões de endereço IP se aplicam apenas às conexões feitas aos hosts identificados pelo endereço . Ou seja, se example.com tiver um endereço 192.168.1.1 e a lista: ignore-hosts contiver apenas "192.168.1.1", uma conexão com "example.com" (por exemplo, via GNetworkAddress) usará o proxy e uma conexão com "192.168.1.1" (por exemplo, através de um GInetSocketAddress) não.

Dubu
fonte
1

Para o Google Chrome e Chromium, você pode criar um arquivo de políticas para toda a máquina.

Guia de início rápido do administrador do Linux Chrome

Aqui estão várias configurações e descrições de proxy do Modelo 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
fonte
Aqui está a documentação de linha de comando de cromo, também: Cromo Comando Configurações de Proxy Linha
Jon Skanes
1

Não sei como fazer o Ubuntu obedecer a essa configuração, mas pode haver soluções alternativas:

  • O APT segue as configurações /etc/apt/apt.confou as variáveis ​​de ambiente (como http_proxy). As páginas de manual para apt.confnão mencionam as configurações do dconf, então acho que o apt não as verifica. Para especificar sites para os quais o apt deve ignorar o proxy, adicione /etc/apt/apt.conf:

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

    Acho que isso não pode ser feito para intervalos ou sub-redes, e você precisará de uma entrada para cada host excluir.

  • O Chrome respeita a variável de ambiente no_proxy; portanto, tente usar isso:

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

    Definir no_proxyem /etc/environmentassegurar a sua disponibilidade em todos os lugares. Sabe-se que outros programas também respeitam essa variável.

  • Por fim, você pode considerar executar dois servidores squid. O novo usará o atual como pai, mas apenas para determinados hosts, usando as configurações allow_direct/ never_direct. Em seguida, defina o novo como o servidor proxy em todos os lugares ( /etc/apt/apt.conf, /etc/environment, as dconfentradas). Eu não sei muito sobre redes de pilha dupla, então não sei se isso funcionaria, mas vale a pena mencionar.

Não uso redes de pilha dupla, mas como estou atrás de um proxy do campus, preciso fazer malabarismos com as configurações de proxy e acho que a última opção é a melhor. Vamos lula fazer o malabarismo.

muru
fonte