Como fazer com que o Ubuntu respeite as configurações do proxy “ignore-hosts” para o IPv6?

9

Acabei de digitar "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 honra as configurações de ingore-hosts , mesmo configurando-o para "Usar configurações de proxy do sistema".

Por exemplo, meu Proxy Server (Ubuntu com Squid3) está no modo dual-stacked 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 que o proxy acesse Hyperboria sites, que reside 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 da Internet (somente IPv4), preciso percorrer o proxy de pilha dupla. Mas eu preciso do proxy apenas quando um site não tem IPv6 ...

Como posso saber que isso não funciona?

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

EDITED: Além disso, quando tento acessar um site Hyperboria , o Squid retorna um erro que não pode alcançar fc00::/8 network

  

(Squid ERROR: (101) Rede inacessível)

(claro que não, o roteador cjdns está rodando direto no meu Ubuntu Desktop, então, não precisa passar pelo proxy ao navegar Hyperboria fc00::/8 , mas o Ubuntu não está honrando ignore-hosts sob configurações de proxy .

    
por ThiagoCMC 16.03.2014 / 22:31

3 respostas

2

Parece que isso não funcionará com as configurações de proxy do Gnome. A configuração ignore-hosts 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.

De a documentação ignore-hosts (ênfase de mim):

  

Observe também que as exclusões de nome de host aplicam-se apenas a conexões feitas para   Os hosts identificados por nome e as exclusões de endereço IP aplicam-se apenas a   conexões feitas a hosts identificados pelo endereço . Isto é, se   example.com tem um endereço de 192.168.1.1 e a lista: ignore-hosts   contém apenas "192.168.1.1", então uma conexão para "example.com" (por exemplo,   através de um GNetworkAddress) irá usar o proxy, e uma conexão para   "192.168.1.1" (por exemplo, através de um GInetSocketAddress) não irá.

    
por Dubu 02.04.2014 / 10:42
1

Para o Google Chrome e o 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 de proxy e descrições 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.
    
por Jon Skanes 02.04.2014 / 06:39
1

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

  • O APT segue as configurações em /etc/apt/apt.conf ou as variáveis de ambiente (como http_proxy ). As páginas man para apt.conf nã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 a /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 a ser excluído.

  • O Chrome respeita a variável de ambiente no_proxy, portanto, é possível tentar usar isso:

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

    Defina no_proxy em /etc/environment para garantir sua disponibilidade em todos os lugares. Outros programas são conhecidos por honrar essa variável também.

  • Por fim, você pode considerar a execução de dois servidores de lula. 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 entradas dconf ). Eu não sei muito sobre a rede dual stack, então não sei se isso funcionaria, mas vale a pena mencionar.

Eu não uso a rede de pilha dupla, mas como estou atrás de um proxy do campus, tenho que equilibrar as configurações de proxy, e acho que a última opção é a melhor. Deixe as lulas fazerem o malabarismo.

    
por muru 21.03.2014 / 05:31