Je suis dans un réseau utilisant un proxy. J'ai des machines qui utilisent beaucoup de scripts ici et là et qui se connectent via HTTP.
- Le réseau est 10.0.0.0/8.
Mon proxy est 10.1.1.1:81, je l'ai donc configuré en conséquence:
export http_proxy=http://10.1.1.1:81/
Je veux exclure ma propre plage à laquelle accéder avec le proxy. J'ai essayé n'importe quelle combinaison disponible.
export no_proxy='10.*' export no_proxy='10.*.*.*' export no_proxy='10.0.0.0/8'
Aucune de ces solutions ne fonctionne!
Je teste avec wget
et il essaie toujours d'interroger le proxy, quelle que soit l'adresse IP à laquelle je souhaite me connecter.
- Étant donné que de nombreux scripts se trouvent partout dans tous les systèmes, l'
--no-proxy
option n'est en réalité pas une option. Je veux le mettre à l'échelle du système.
bash
wget
curl
http-proxy
SamK
la source
la source
no_proxy
la variable d'environnement? Que diable Linus Torvalds !!Réponses:
Vous regardez la mauvaise façon. La
no_proxy
variable d'environnement répertorie les suffixes de domaine, pas les préfixes. De la documentation :Donc, pour les IP, vous avez deux options:
1) Ajoutez chaque adresse IP au complet:
2) Renommer
wget
pourwget-original
et écrire un script d'emballage (appeléwget
) qui recherche l'adresse IP de l'hôte URL donnée, et détermine si elle doit utiliser le proxy ou non:la source
/etc/environment
fichier, cela pourrait endommager votre serveur.info wget
dit:La variable doit donc contenir une liste de domaines , pas de plages IP . Vous aurez besoin de configurer des alias locaux appropriés pour vos machines locales dans un ou plusieurs
/etc/hosts
fichiers.Indépendamment de cela, n'oubliez pas que définir une variable d'environnement ne garantit pas qu'un proxy sera utilisé ou non. Il s’agit simplement d’une information pouvant être utilisée par les programmes qui la prennent en charge.
la source
Ce n’est pas une solution correcte, mais cela pourrait résoudre le problème pour vous. Si vous supposez que tout accès depuis l'extérieur du proxy utilisera des noms DNS et non directement des adresses IP, vous pouvez le définir comme suit:
Pour autant que je sache, aucun domaine supérieur ne se termine par un numéro. Si c'est le cas, il doit s'agir d'une adresse IP.
la source
Voici une approche légèrement plus simple (une ligne) basée sur la solution de janmoesen.
qui a encore été amélioré sur la base de la contribution de Cory Ringdahl:
sed étouffe tous les arguments passés de l'extension de
10.1.{1..255}.{1..255}
, que ce soit dans son code ou le mien. Donc, si vous avez vraiment besoin d'étendre à 256 * 256 adresses IP, vous pourrez peut-être adapter davantage l'approche de Cory Ringdahl, mais si vous avez simplement besoin de 256 ou plus, l'une ou l'autre de ces adresses devrait fonctionner parfaitement pour vous.J'imagine que la version où 2 octets sont développés ressemblerait à ceci:
mais iTerm me donne des erreurs sur la longueur des listes d’arguments, je ne peux donc pas dire avec certitude s’il existe une solution pour que cela fonctionne ...
la source
"export no_proxy=`echo 10.1.1.{1..254},`10.1.1.255"