Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Dieser Artikel beschreibt den Zugriff auf ein Netzwerk (z.B. das Internet) über einen Proxyserver. Dabei werden hier lediglich die Konfigurationsmöglichkeiten über die Desktop-Umgebungen und über die Konsole aufgezeigt. Das Installieren und Einrichten eines Proxyservers wird hier nicht behandelt, sondern ist für verschiedene Programme über den Artikel Serverdienste zu finden.
An dieser Stelle nur als kurzer Hinweis: das Filtern von Inhalten verschlüsselter Verbindungen (z.B. HTTPS, SFTP) ist eine Problematik, die äußerst schwierig ist. Nutzt man einen Proxy als reinen URL-Filter (erlaubte/verbotene Internetadressen), sollte aber auch für diese Protokolle ein Proxy angegeben werden.
Ein lokaler Proxy ist ein Proxyserver, der entweder auf dem Quell- oder Zielsystem eingesetzt wird. Er nistet sich zwischen dem Browser des Clients und dem Internet ein. Lokale Proxys werden meist als Filter oder Konverter benutzt.
Ein transparenter Proxy ist so konfiguriert, dass er nach extern hin als Proxyserver erkennbar ist und alle Clientanfragen und Browserdaten nahezu unverändert weiterreicht. Hierbei werden auch unter Umständen die IP-Adressen der Clients weitergereicht. Beim Einsatz eines Routers im kleinen Netzwerk ist ein transparenter Proxy nicht notwendig, da der Router nach außen hin nur eine IP-Adresse übermittelt und die IP-Adressen der Clients verborgen bleiben.
Ein anonymer Proxy ist so konfiguriert, dass er nach extern hin als Proxyserver erkennbar ist und alle Clientanfragen weiterreicht. Die IP-Adressen der Clients werden verborgen. Hiermit ist nach korrekter Einstellung der Filter- und Anonymisierungs-Optionen eine Verschleierung der Browserdaten der Clients möglich. Zu beachten ist jedoch, dass die IP-Adresse des Routers stets sichtbar ist und immer auch als IP-Adresse des anonymen Proxy's erscheint. Die IP-Adresse kann nicht verschleiert oder verborgen werden. Da jedoch die IP-Adresse des Routers im Internet "lautstark" behauptet, ein Proxy zu sein, erschwert es Datensammlern die Rückverfolgung. Abgesehen davon werden einige Browserdaten vorenthalten, was wiederum die Wiedererkennung erschwert. Diese Art des Proxyservers eignet sich, um als lokaler Proxy eingesetzt zu werden.
Ein unsichtbarer (Elite) Proxy ist im wesentlichen ein anonymer Proxy, der verheimlicht, ein Proxyserver zu sein. Er ist so konfiguriert, dass er nach extern unsichtbar ist und alle Clientanfragen weiterreicht. Die lokalen IP-Adressen der Clients werden verborgen. Zusätzlich verschleiern korrekte Filter- und Anonymisierungs-Optionen viele Einzelheiten über die Clients. Allerdings sind solche Proxys nicht gern gesehen, da die absolute Verschleierung die RFC-Standards verletzt. Diese Art des Proxyservers kann auch als lokaler Proxyserver Anwendung finden.
Werden die im folgenden beschriebenen Konfigurationsmöglichkeit genutzt, so kann die spezielle Konfiguration folgender Programme wirkungslos sein (die Liste ist möglicherweise nicht vollständig; siehe auch Links):
Eine fehlerhafte oder unvollständige Konfiguration kann also die Funktion dieser Programme verhindern, selbst wenn dort der Proxy korrekt konfiguriert ist.
Um der Paketverwaltung ungehinderten Zugriff auf das Internet zu gewähren (also unter Umgehung des Proxy, falls das auf dem Gateway erlaubt ist), erstellt bzw. bearbeitet man die Datei /etc/apt/apt.conf mit Root-Rechten und ergänzt folgende Zeile:
1 | Acquire::http::proxy "false"; |
Falls aber auf dem Gateway die Ports 80 (http), 443 (https) und 20/21 (ftp) gesperrt sind und diese Dienste nur über den Proxy zu erreichen sind, muss man dies nicht nur im Networkmanager eintragen, sondern zusätzlich der Paketverwaltung apt in der Datei /etc/apt/apt.conf mitteilen (insbesondere bei Lubuntu):
1 2 3 | Acquire::http::proxy "http://proxy-IP:port/"; Acquire::https::proxy "https://proxy-IP:port/"; Acquire::ftp::proxy "ftp://proxy-IP:port/"; |
Über "Systemeinstellungen -> Netzwerk" kann man über den Menüpunkt "Netzwerk-Proxy" den Proxy angeben (siehe auch GNOME3 Systemeinstellungen). Mit dem Schaltfläche "Systemweit anwenden" werden diese Einstellungen für alle Nutzer übernommen. Natürlich ist hierzu das Administratorkennwort notwendig.
Muss man sich am Proxy authentifizieren, so gibt man den Server mit Benutzernamen und Passwort in der Form:
username:passwort@proxyserver
an.
KDE bietet unter
"Systemeinstellungen -> Verbindungen -> Proxy"
verschiedene Möglichkeiten, einen Proxy einzustellen. Allerdings muss beachtet werden, dass sich diese Einstellungen nur auf KDE-Programme auswirken. Daher sollte auch unter KDE das alternative Verfahren (siehe nächster Abschnitt) genutzt werden und im hier genannten Dialog die Option "Voreingestellte Umgebungsvariablen für Proxy verwenden" gewählt werden. Direkt hinter dem Optionstitel befindet sich eine Schaltfläche mit der Aufschrift "Einrichtung...". Hier öffnet sich ein Dialog, in dem nun noch folgende Werte eingetragen werden müssen:
KDE-Proxyeinstellungen | |
Feld | Wert |
HTTP | http_proxy |
HTTPS | https_proxy |
FTP | ftp_proxy |
Ein Proxy kann auch unabhängig von der grafischen Desktop-Umgebung eingerichtet werden. Dies bietet den Vorteil, dass diese Einstellungen auch systemweit Gültigkeit haben können, was gerade auf einem Mehrbenutzersystem hilfreich sein kann. Möchte man die Einstellungen bei diesem Verfahren nur für einen bestimmten Benutzer einrichten, so muss die versteckte Datei ~/.profile im Homeverzeichnis des entsprechenden Benutzers bearbeitet werden. Für eine systemweite Konfiguration dagegen ist es die Datei /etc/profile, die mit Root-Rechten [2] editiert werden muss. (Bei Lubuntu müssen die folgenden Zeilen zusätzlich in die Datei /etc/environment eingetragen und die Datei /etc/apt/apt.conf entsprechend ergänzt werden, wie oben im Abschnitt Systemaktualisierungen beschrieben.)
Folgende Zeilen müssen am Ende der Datei hinzugefügt werden [1] (SERVER-IP_ODER_NAME:PORT
bitte anpassen):
export http_proxy=http://SERVER-IP_ODER_NAME:PORT export https_proxy=http://SERVER-IP_ODER_NAME:PORT export ftp_proxy=http://SERVER-IP_ODER_NAME:PORT export HTTP_PROXY=$http_proxy export HTTPS_PROXY=$https_proxy export FTP_PROXY=$ftp_proxy
Verlangt der Proxy eine Authentifizierung, sind folgende Zeilen erforderlich:
export http_proxy=http://BENUTZER:PASSWORD@SERVER-IP_ODER_NAME:PORT export https_proxy=http://BENUTZER:PASSWORD@SERVER-IP_ODER_NAME:PORT export ftp_proxy=http://BENUTZER:PASSWORD@SERVER-IP_ODER_NAME:PORT export HTTP_PROXY=$http_proxy export HTTPS_PROXY=$https_proxy export FTP_PROXY=$ftp_proxy
Die Platzhalter "BENUTZER", "PASSWORD", "SERVER-IP_ODER_NAME" und "PORT" müssen entsprechend gesetzt werden.
Außerdem kann man festlegen, für welche Hosts man keinen Proxyserver verwenden möchte. Hierzu kann man eine durch Kommata getrennte Liste von IP-Adressen oder Namen in der Umgebungsvariable no_proxy
speichern. Möchte man beispielsweise weder für example.com noch für die IP-Adresse 192.0.2.42 über den Proxy gehen, so muss man zusätzlich zu den oben genannten Einträgen noch die folgende Zeile zur Datei /etc/profile hinzufügen:
export no_proxy=example.com,192.0.2.42
Die Einstellungen in /etc/profile werden erst nach einem erneuten Anmelden aktiv.
Manche Programme berücksichtigen die bisher beschriebenen Einstellungen nicht und benötigen trotz systemweiter Einstellung dennoch eine eigene Konfiguration. Soweit bekannt, werden diese Programme im Folgenden beschrieben.
Ab Firefox 3.x benutzt Firefox üblicherweise die im System hinterlegten Proxy-Einstellungen. Will man, dass diese Einstellungen nicht durch den Benutzer deaktiviert werden können, so kann man ab Firefox 5 die entsprechenden Einstellungen in der globalen Datei /etc/firefox/syspref.js (oder /etc/firefox/pref/syspref.js; siehe auch Firefox/Einstellungen Sperren) mit Root-Rechten vornehmen:
lockPref("network.proxy.http", "PROXY_SERVER_IP_ODER_NAME"); lockPref("network.proxy.http_port", PROXY_SERVER_PORT); lockPref("network.proxy.ssl", "PROXY_SERVER_IP_ODER_NAME"); lockPref("network.proxy.ssl_port", PROXY_SERVER_PORT); lockPref("network.proxy.type", 1); lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1 "); lockPref("network.proxy.share_proxy_settings", true);
Ob die Einstellungen erfolgreich übernommen worden sind, kann man überprüfen, in dem man "about:config" in die Adresszeile des Firefox eingibt und nach den genannten Einstellungen filtert.
Falls aus bestimmten Gründen die systemweiten Einstellungen nicht genutzt werden sollen, findet man die entsprechenden Parameter in den Einstellungen unter "Bearbeiten -> Einstellungen -> Erweitert -> Netzwerk -> Einstellungen...". Hier reicht die Angabe der Proxy-Adresse und des Ports. Benutzername und Passwort - falls erforderlich - dürfen nicht mit angegeben werden. Firefox stellt die Notwendigkeit dieser Daten beim ersten Zugriff auf den Proxy fest und bietet dann einen Dialog zur Eingabe an.
Zumindest unter GNOME und KDE übernimmt Chromium bzw. Google Chrome automatisch die systemweiten Einstellungen. Sonderfälle wie Xfce und LXDE sind im Artikel Chromium beschrieben.
Analog zu Firefox und Chromium können auch bei Opera 12.x systemweite Vorgaben gesetzt werden, die von Benutzern nicht geändert werden sollen. Siehe Opera 12/Anpassen.
Damit die Versionsverwaltung Subversion über einen Proxy kommuniziert, muss dies in der Datei ~/.subversion/servers (als Benutzer) oder /etc/subversion/servers (systemweit; nur mit Root-Rechten editierbar) angegeben werden:
[global] # http-proxy-exceptions = *.exception.com, www.internal-site.org # http-proxy-host = defaultproxy.whatever.com # http-proxy-port = 7000 http-proxy-host = WEB.PROXY.NAME http-proxy-port = PORT
Auch bei LibreOffice lässt sich neben der individuellen Einstellung (Extras -> Optionen -> LibreOffice -> Internet -> Proxy) die Konfiguration systemweit festlegen durch die Datei Inet.xcd in Programmordner/share/registry:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?xml version="1.0"?> <oor:data xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oor="http://openoffice.org/2001/registry"> <oor:component-data xmlns:install="http://openoffice.org/2004/installation" oor:name="Inet" oor:package="org.openoffice"> <node oor:name="Settings"> <prop oor:name="ooInetHTTPSProxyPort" oor:op="fuse" oor:finalized="true"><value>8123</value></prop> <prop oor:name="ooInetHTTPSProxyName" oor:op="fuse" oor:finalized="true"><value>127.0.0.1</value></prop> <prop oor:name="ooInetHTTPProxyPort" oor:op="fuse" oor:finalized="true"><value>8123</value></prop> <prop oor:name="ooInetHTTPProxyName" oor:op="fuse" oor:finalized="true"><value>127.0.0.1</value></prop> <prop oor:name="ooInetFTPProxyPort" oor:op="fuse" oor:finalized="true"><value>8123</value></prop> <prop oor:name="ooInetFTPProxyName" oor:op="fuse" oor:finalized="true"><value>127.0.0.1</value></prop> <prop oor:name="ooInetProxyType" oor:op="fuse" oor:finalized="true"><value>2</value></prop> <prop oor:name="ooInetNoProxy" oor:op="fuse" oor:finalized="true"><value>127.0.0.1;*.ratsgymnasium-pe.de</value></prop> </node> </oor:component-data> </oor:data> |
Mit LibreOffice ist es aber nicht möglich, direkt einen Proxy mit Authentifizierung zu nutzen.
Manche Programme können keinen Proxy mit Authentifizierung nutzen, z.B. LibreOffice. Um dieses Problem zu umgehen, kann lokal ein kleiner Proxy, z.B. Polipo eingerichtet werden. Anfragen können dann ohne Authentifizierung an den lokalen Proxy gestellt werden, der diese mit Authentifizierung an den eigentlichen Proxy weiterreicht.
Diese Revision wurde am 26. Dezember 2016 19:18 von aasche erstellt.