UbuntuにIPv6の「ホストの無視」プロキシ設定を尊重させるにはどうすればよいですか?


10

"dconf-editor", System → Proxy → ignore-hostsは、以下のコンテンツを入力しました:

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

ただし、Google Chrome(およびapt-get update / upgrade)はこの設定を無視しています。

編集:また、Firefoxはingore-hosts「システムプロキシ設定を使用する」ように設定したとしても、設定を受け入れません。

たとえば、Proxy Server(Ubuntu with Squid3)はデュアルスタックモードですが、Proxy経由でIPv6 Webサイトにアクセスしたくないので、エントリ2000::/3でIPv6インターネット全体を無視しようとしていますが、期待どおりに動作しません。

編集:また、私Hyperboriaは下にあるサイトにアクセスするためにプロキシを必要fc00::/8としませんが、それも機能しません...

なぜ私はこれをしているのですか?

私の環境はすでにIPv6のみのネットワークであり、古いインターネットインフラストラクチャ(IPv4のみ)にアクセスするには、デュアルスタックプロキシを経由する必要があります。しかし、WebサイトにIPv6がない場合にのみプロキシが必要です...

それが機能しないことをどうやって知ることができますか?!

それはちょうどショー例えばその上にIPv6アドレスは、そのWebサイトへのアクセス、シンプルであるhttp://www.sixxs.nethttp://ipv6.whatismyv6.com、そして、私はまだプロキシサーバーのIPv6アドレスを見ているので、"ignore-hosts entry '2000::/3'"動作していないようですが。

編集:さらに、Hyperboriaウェブサイトにアクセスしようとすると、Squidが到達できないエラーを返すfc00::/8 network

(Squid ERROR:(101)Network is unreachable)

(もちろんできません。cjdnsルーターは私のUbuntuデスクトップで正しく実行されているので、閲覧時にプロキシを経由する必要Hyperboria fc00::/8はありませんが、Ubuntuはignore-hostsプロキシ設定で機能しません。


一部のアプリケーションは、この設定を使用せず、設定されている場合はすべてのリクエストをプロキシ経由で送信ます。
マイケルハンプトン

回答:


2

これはGnomeプロキシ設定では機能しないようです。このignore-hosts設定はホスト名、アドレス、アドレス範囲に対して機能しますが、アドレスをチェックする前にホスト名を解決しないようです。

以下からのドキュメント(私が強調):ignore-hosts

また、ホスト名の除外は名前で識別されるホストに対して行われた接続にのみ適用され、IPアドレスの除外はアドレスによって識別されたホストに対して行われた接続にのみ適用されることにも注意してください。つまり、example.comのアドレスが192.168.1.1で、:ignore-hostsリストに「192.168.1.1」だけが含まれている場合、「example.com」への接続(GNetworkAddressなど)はプロキシを使用します、および「192.168.1.1」への接続(たとえば、GInetSocketAddress経由)は行われません。


1

Google ChromeとChromiumの場合、マシン全体のポリシーファイルを作成できます。

Linux Chrome管理者向けクイックスタートガイド

以下は、ポリシーテンプレートのさまざまなプロキシ設定と説明です。

// 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.

Chromiumコマンドラインドキュメントもここにあります:Chromiumコマンドラインプロキシ設定
Jon Skanes

1

私は方法がわからない作る Ubuntuはその設定に従いますが、回避策があるかもしれません。

  • APTは、/etc/apt/apt.confまたは環境変数(などhttp_proxy)の設定に従います。のマニュアルページでapt.confはdconf設定について言及していないため、aptはそれらをチェックしないと思います。aptがプロキシを無視するサイトを指定するには、次を追加し/etc/apt/apt.confます:

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

    これは範囲またはサブネットでは実行できないと思います。除外するホストごとにエントリが必要になります。

  • Chromeはno_proxy環境変数を尊重するので、それを使用してみてください。

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

    どこでも利用できるように定義no_proxy/etc/environmentてください。他のプログラムもこの変数を尊重することが知られています。

  • 最後に、2つの Squidサーバーを実行することを検討してください。新しい設定では、現在の設定を親として使用しますが、allow_direct/ never_direct設定を使用して、特定のホストのみを対象とします。そして、どこでも、プロキシサーバーとして新しいものを設定する(/etc/apt/apt.conf/etc/environmentdconfエントリ)。デュアルスタックネットワーキングについてはあまり知らないので、これが機能するかどうかはわかりませんが、言及する価値があります。

私はデュアルスタックネットワークを使用していませんが、キャンパスプロキシの背後にいるため、プロキシ設定を調整する必要があり、最後のオプションが最善であることがわかりました。イカにジャグリングをさせましょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.