Я в сети использую прокси. У меня есть машины, использующие множество сценариев, которые там и там обращаются друг к другу по HTTP.
- Сеть 10.0.0.0/8.
Мой прокси 10.1.1.1:81, поэтому я настроил его соответствующим образом:
export http_proxy=http://10.1.1.1:81/
Я хочу исключить свой собственный диапазон для доступа через прокси. Я попробовал любую доступную комбинацию.
export no_proxy='10.*' export no_proxy='10.*.*.*' export no_proxy='10.0.0.0/8'
Ни одна из вышеперечисленных работ!
Я проверяю, wget
и он всегда пытается запросить прокси, какой бы IP адрес я не хотел подключать.
- Поскольку множество сценариев находятся повсюду во всех системах, эта
--no-proxy
опция на самом деле не вариант. Я хочу установить это в масштабе всей системы.
bash
wget
curl
http-proxy
ДУМК
источник
источник
no_proxy
переменную окружения? Какого черта Линус Торвальдс !!Ответы:
Вы смотрите на это неправильно.
no_proxy
Переменная среды перечислены доменные суффиксы, а не префиксы. Из документации :Итак, для IP-адресов у вас есть два варианта:
1) Добавьте каждый IP в полном объеме:
2) Rename
wget
дляwget-original
и написать сценарий оболочки ( так называемыйwget
) , который смотрит на IP для данного хоста URL, и определяет , должен ли он использовать прокси - сервер или нет:источник
/etc/environment
файл, это может сломать ваш сервер.info wget
говорит:Таким образом, переменная должна содержать список доменов , а не диапазоны IP-адресов . Вам нужно будет настроить надлежащие локальные псевдонимы для ваших локальных машин в
/etc/hosts
файлах.Кроме того, имейте в виду, что установка переменной среды не гарантирует, что прокси будет или не будет использоваться. Это просто информация, которая может использоваться программами, которые ее поддерживают.
источник
Не совсем правильное решение, но оно может решить проблему для вас. Если вы предполагаете, что для доступа к чему-либо извне прокси-сервера будут использоваться DNS-имена, а не IP-адреса напрямую, вы можете установить его следующим образом:
Насколько я знаю, ни один домен верхнего уровня не заканчивается числом, поэтому если это так, то это должен быть IP-адрес.
источник
Вот немного более простой (однострочный) подход, основанный на решении Янмезена.
который был дополнительно улучшен на основе данных Кори Рингдала:
Сед задушит все аргументы, передаваемые расширением
10.1.{1..255}.{1..255}
, либо в его коде, либо в моем. Так что если вам действительно нужно расширить до 256 * 256 IP-адресов, вы могли бы дополнительно адаптировать подход Кори Рингдала, но если вам просто нужно 256 или около того, любой из них должен работать идеально для вас.Я предполагаю, что версия, в которой развернуты 2 октета, будет выглядеть примерно так:
но iTerm выдает мне ошибки из-за того, что списки аргументов слишком длинные, поэтому я не могу точно сказать, есть ли решение, позволяющее это сделать ...
источник
"export no_proxy=`echo 10.1.1.{1..254},`10.1.1.255"