Як зробити так, щоб 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налаштування, навіть налаштовуючи його на "Використовувати параметри системного проксі".

Наприклад, мій проксі-сервер (Ubuntu з Squid3) перебуває в режимі подвійного складування, АЛЕ я не хочу переходити на веб-сайти IPv6 через проксі, тому я намагаюся ігнорувати весь Інтернет з IPv6 із записом 2000::/3, але, це не працює, як очікувалося.

ВЕДЕНО: Також мені не потрібен проксі-сервер для доступу до Hyperboriaсайтів, під яким знаходиться, fc00::/8але він також не працює ...

Чому я це роблю?

Оскільки в моєму середовищі вже є мережа, призначена лише для IPv6, і, щоб отримати доступ до старої інфраструктури Інтернету (лише для IPv4), мені потрібно пройти двоякий проксі-сервер. Але мені потрібен проксі лише тоді, коли на веб-сайті немає IPv6 ...

Як я можу знати, що це не працює ?!

Це просто, просто зайти на веб-сайт, який показує адресу IPv6 на ньому, наприклад, http://www.sixxs.netабо http://ipv6.whatismyv6.com, значить, я все ще бачу IPv6 адресу проксі-сервера, тому, "ignore-hosts entry '2000::/3'"здається, не працює.

ВЕДЕНО: Крім того, коли я намагаюся отримати доступ до Hyperboriaвеб-сайту, Squid повертає помилку, до якої не може дійтиfc00::/8 network

(Помилка кальмара: (101) Мережа недоступна)

(звичайно, не може, 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 ви можете створити файл політики політики для всіх машин.

Короткий посібник для адміністратора 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
Джон Сканес

1

Я не знаю, як змусити Ubuntu підкорятися цьому налаштуванню, але можуть бути вирішені проблеми:

  • APT дотримується налаштувань у /etc/apt/apt.confзмінних середовища або середовища (таких як http_proxy). Сторінки man для 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цілях забезпечення його доступності в усьому світі. Інші програми, як відомо, також шанують цю змінну.

  • Нарешті, ви можете розглянути можливість запуску двох серверів кальмарів. Новий буде використовувати ваш поточний як батьківський, але лише для певних хостів, використовуючи allow_direct/ never_directналаштування. Потім встановіть новий в якості проксі - сервера всюди ( /etc/apt/apt.conf, /etc/environment, в dconfзапису). Я не знаю багато про мережу з двома стеками, тому не знаю, чи спрацювало б це, але варто згадати.

Я не використовую мережу з двома стеками, але, оскільки я за проксі-сервісом у кампусі, мені доведеться жонглювати налаштуваннями проксі, і я вважаю, що останній варіант найкращий. Нехай кальмари займаються жонглюванням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.