Wenn ich möchte, dass GNOME-Anwendungen (sowie Firefox und Chrome) über einen Proxy auf das Netzwerk zugreifen, muss ich nur gnome-network-properties
eine nette und einfache Benutzeroberfläche verwenden. Für andere Apps (z. B. APT, Transmission, XChat) muss ich ihre spezifischen Methoden verwenden.
Gibt es eine Möglichkeit, dies zu vermeiden, was ich in einem Netzwerk, in dem ein Proxy erforderlich ist (Hostname: Port), aktivieren und deaktivieren kann?
networking
http-proxy
Tshepang
quelle
quelle
http_proxy
Variable das ist, wonach Sie suchen. Schauen Sie sich das Proxy Support Howto an.Antworten:
Ich denke, dass so ziemlich jede Linux / Unix-Software, die Netzwerke verwendet, die Umgebungsvariablen
http_proxy
undftp_proxy
berücksichtigt. Je nachdem, wie Ihre Distribution eingerichtet ist,/etc/environment
werden standardmäßig Login-Shells existieren und gelesen.Sie können eine Zeile hinzufügen, in der es heißt
http_proxy=123.45.67.89:1011
in
/etc/environment
leicht genug, aber Änderungen in dieser Datei dauern nur das nächste Mal , wenn Sie einen Shell - Prozess zu starten halten - und nur in diesem Shell - Prozess. Ich glaube nicht, dass Sie globale Variablen in einer anderen als Ihrer aktuellen Shell ändern können .quelle
node
auch nichtIch bin damit einverstanden, dass der Proxy-Server am besten mit der Umgebungsvariablen verwendet wird
http_proxy
, wie andere Antworten gezeigt haben. Leider wird die Umgebungsvariable http_proxy nicht von allen Anwendungen unterstützt, weshalb ich für einige Programme immer noch tsocks verwende, um mit LD_PRELOAD Netzwerkverbindungen zu erzwingen, einen SOCKS-Proxy zu durchlaufen.quelle
Neben tsocks - für die AFAICT weiterhin das Starten von Programmen mit der richtigen Umgebung erfordert - sollten Sie tun2socks ausprobieren . Damit richten Sie eine TUN-Schnittstelle ein (dh eine neue Netzwerkschnittstelle, wie sie ein VPN erstellen würde) und alle dort gesendeten Pakete werden an Ihren SOCKS5-Server weitergeleitet. Anschließend richten Sie Ihre Systemrouten ein, um den Datenverkehr tatsächlich an diese zu senden. Scheint ein netter Ansatz zu sein.
( Über diesen Beitrag habe ich auch Redsocks gefunden . Dies scheint mir nicht so elegant zu sein, als würde ich eine TUN-Schnittstelle verwenden. ZB funktioniert UDP für den Anfang überhaupt nicht.)
quelle
Ich benutze dieses Tool , bei dem es sich im Grunde um ein paar Skripte handelt, um Einstellungen für verschiedene Anwendungen von einem Punkt aus zu konfigurieren.
PS: Ich habe dieses Tool geschrieben und gepflegt.
quelle
Es gibt keine Komplettlösung. Jedes Programm verwendet seine eigene Methode, um eine Verbindung zu einem Proxyserver herzustellen.
Ich habe ein ähnliches Problem in meinem Büro. Ich fand, dass der beste Weg, dies zu tun, eine VPN-Verbindung ist. Wenn Sie eine Verbindung herstellen, wird der gesamte Netzwerkverkehr des Systems über das VPN geleitet. Wenn Sie keinen Zugriff auf einen VPN-Server haben, können Sie einen neuen manuell ausführen und ihn mit dem vorhandenen Proxyserver verbinden.
Wenn Sie eine Anwendung haben, die keinen Proxy unterstützt, können Sie so etwas wie socksify verwenden , um die Netzwerkverbindung zu unterbrechen .
quelle
Ich habe ein ähnliches Problem, aber für mich wird ein systemweiter Proxy den Linux-Kernel ansprechen
iptables
. Das Hinzufügen und Entfernen von Weiterleitungsregeln in deriptables
Netzwerkschicht (bestimmte Adressen, Ports und Protokolle) ist die einzige Möglichkeit, einen systemweiten Proxy zu gewährleisten, der nicht durch anwendungsspezifische Einstellungen in der Anwendungsschicht außer Kraft gesetzt werden kann.quelle
Das hat bei mir funktioniert
vi /etc/environment
:auch
vi /etc/yum.conf
:quelle