Comment se connecter à Internet à partir d'un terminal lors de l'utilisation d'un proxy avec authentification

12

Je dois utiliser des serveurs proxy pour me connecter à Internet. J'ai défini tous les proxies dans les paramètres de proxy de mon système. Maintenant, je peux me connecter à Internet en utilisant mon navigateur et mes applications.

Mais je ne peux pas me connecter à Internet depuis mon terminal.

j'ai essayé

export http_proxy="http://username:password@proxyserver:port/" 

Cependant, les applications de terminal ne peuvent toujours pas se connecter à Internet.

TLE
la source
1
Quelle commande exécutez-vous dans Terminal pour "vous connecter à Internet"? Ou comment voyez-vous que vous ne pouvez pas vous connecter?
nohillside
1
Le serveur proxy (sans s) dont vous parlez ici retransmet votre web connexions, pas toutes vos connexions Internet. web les connexions utilisent les ports 80, 443…. Les connexions Internet peuvent utiliser tous les ports restants du jeu 65536. Par exemple un ssh la connexion utilisera le port 22 qui ne passera pas par votre http Serveur proxy. D'où la question de patrix pour vous aider à obtenir une meilleure réponse.
daniel Azuelos
@patrix ping google.com
TLE
@TLE Ping est une exception à la règle et n'utilise pas du tout le proxy, même si http_proxy est réglé. Le ping attend une connexion directe, et dans beaucoup de cas lorsqu'un proxy est utilisé, le ping échouera bien que le proxy continue à se connecter avec succès.
BinaryMisfit
3
essayer curl -o /dev/null www.google.com au lieu de ping
nohillside

Réponses:

11

Terminal n'utilise pas les paramètres de proxy configurés dans le volet des préférences réseau car il ne crée aucune connexion. Terminal vous permet simplement de déclencher des commandes qui utiliseront le réseau de différentes manières.

Lors du réglage de votre http_proxy et https_proxy les variables d'environnement ne doivent pas inclure la http: ou https: préfixes.

Par conséquent, la variable d'environnement dans votre cas devrait se lire comme suit:

http_proxy=username:password@proxyserver:port

Remarque: de nombreux anciens programmes ont des problèmes de connexion via des serveurs proxy qui nécessitent une authentification avant la connexion.

Astuce supplémentaire:

En raison de notre infrastructure, nous avons trouvé beaucoup plus facile de faire fonctionner les utilisateurs. SquidMan localement et qu’il soit configuré pour se connecter à notre proxy principal. Cela permet à la machine locale d'agir directement en tant que proxy et élimine de nombreux problèmes d'authentification, etc. lors de l'utilisation de serveurs proxy sur des machines Mac, en particulier dans des environnements mixtes et AD.

Dans le cas de l’utilisation de cette méthode, notre http_proxy et https_proxy serait:

http_proxy=localhost:3128
BinaryMisfit
la source
vous voulez dire que je dois écrire export http_proxy = "nom d'utilisateur: mot de passe @ serveur de proxy: port"
TLE
@TLE Correct. Le terminal n'a pas besoin de connaître le protocole car il sait déjà que c'est une connexion HTTP.
BinaryMisfit
Mais je ne parviens toujours pas à me connecter à Internet.
TLE
@TLE Ensuite, le problème le plus probable avec l'authentification. Essayez de configurer le proxy sans inclure le nom d'utilisateur et le mot de passe, ce qui signifie que vous serez invité à fournir les informations lorsque vous essayez de vous connecter. Il indique normalement que le proxy lui-même ne prend pas en charge la connexion depuis Terminal. Nous avons eu un problème similaire en interne et c'est pourquoi j'ai suggéré la solution SquidMan.
BinaryMisfit
ne fonctionne toujours pas??
TLE
-1

Vous pouvez utiliser la commande suivante dans la fenêtre du terminal.

networksetup -setairportnetwork $Interface $ssID $Password

Ici, $Interface est l'identifiant de style "enX" de votre carte AirPort (généralement en1, mais il est en0 sur MacBook Airs et en2 sur Mac Pros, et peut également varier pour d'autres raisons)

$ssID est le nom de votre réseau, tel que "SSID de Simon". Placez-le entre guillemets s'il contient des espaces.

$Password est votre mot de passe WEP, WPA-PSK ou WPA2-PSK.

Azik Abdullah
la source
1
Ceci configure le réseau, il ne permet pas au terminal lui-même de se connecter via un proxy.
BinaryMisfit