Назад | Перейти на главную страницу

Обход прокси CentOS 6.5 / no_proxy не работает

Я использую CentOS 6.5 на своем рабочем столе. Я установил Network Proxy используя приложение сетевого прокси, предоставленное в Preferences. Я также установил следующие исключения: localhost, 127.0.0.0 / 8,172.16.0.0 / 12,192.168.0.0. / 16

Но всякий раз, когда я использую wget (я тестирую настройки прокси с помощью wget), wget пытается подключиться к прокси для частных адресов, но wget localhost работает нормально и не использует прокси.

Я также удалил все настройки прокси и установил прокси в оболочке:

export http_proxy="<proxy_url>:<port>"
export https_proxy="<proxy_url>:<port>"
export no_proxy="localhost,127.0.0.0/8,172.16.0.0/12,192.168.0.0./16"

Это работает, когда я использую команду wget <external_url> или wget localhost но не работает, когда я использую команду wget <private address from the $no_proxy variable>.

Я также попытался установить переменные в Ubuntu 14.04 и столкнулся с той же проблемой.

Изменить: я обнаружил, что оболочка игнорирует нотацию CIDR. Если мне нужно просмотреть 127.0.0.1 без прокси, мне нужно ввести 127.0.0.1 в no_proxy переменная вместо 127.0.0.0/8

У вас есть дополнительная точка на одном из диапазонов:

export no_proxy="localhost,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16"

РЕДАКТИРОВАТЬ:

После поиска кажется, что no_proxy не будет работать с сетями, только с доменами .sample.com или точный IP 192.168.1.2, поэтому либо вы добавляете свой локальный домен, весь IP-адрес вашей сети, либо используете такие флаги, как wget --no-proxy

Если нам нужно исключить 192.168.1.0/24 из настройки прокси, мы можем установить переменную среды no_proxy, как показано ниже:

export no_proxy=localhost,.localdomain
export no_proxy=${no_proxy},$(echo 192.168.1.{1..255} | sed 's/ /,/g')