Was ist ein transparenter Proxy?
Ein transparenter Proxy beschreibt im wesentlichen die Technik bestimmte
Anfragen an einen Proxy weiterzuleiten.
Der Benutzer bekommt von der Umleitung in der Regel nichts mit.
Beispiel Implementierung
In unserem Beispiel gehen wir mal davon aus, alle http Anfragen (also TCP Port 80)
an unseren Proxy weiterzugeben.
Dies machen wir mit Hilfe einer IP Tables Regel auf unserem Router:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
Nun werden alle Anfragen auf den Proxy Port 3128 weitergeleitet.
Eventuell müsst Ihr noch das Input Device (im Beispiel eth1) wechseln.
Anwendunsbeispiele
Da es relativ viele Möglichkeiten gibt seinen Proxy zu konfigurieren, möchte ich hier
nur einen Überblick geben, wozu ich bisher Proxys installiert habe.
Der Cache
Der Klassiker ist sicher ein reiner Webseiten-Cache. Er dient dem Zweck Webseiten
zwischenzuspeichern und spart somit Bandbreite und verkürzt dazu noch die Ladezeit.
Der Anonyme
Der Proxy bewirkt, dass Verbindungsdaten anonymisiert werden.
Bei der Variante Tor hat man in der Regel bei jeder Anfrage eine andere IP die nach
außen sichtbar ist.
Die Rechtslage dazu ist derzeit unklar, da innerhalb der EU alle Verbindungsdaten gespeichert
werden müssen.
Auch die Zuverlässigkeit ist umstritten, da es vereinzelt Meldungen gibt,
wie man Tor Traffic beeinflussen kann.
Ein Nachteil ist außerdem, dass die Verbindungen unter anderem sehr langsam sind.
Der Filter Proxy
Er kann so konfiguriert werden, dass man Werbung, bestimmte Webseiten
oder einzelne Texte/Bilder filtert.
Vor einiger Zeit habe ich auch mal einen Proxy installiert, der alle Downloads zuerst durch den Virenscanner laufen ließ.
Andere Formen von Proxys
Web Proxy: Er dient der Zwischenspeicherung von Anfragen an den Webserver um diesen zu
entlasten.
MySQL- Proxy: Er verteilt die Anfragen an die Datenbank.
Natürlich kann man einen Proxy auch dazu verwenden um Mitarbeiter zu
überwachen und deren gesamten Webverlauf zu protokollieren.
Wie ihr seht, gibt es viele Einsatzgebiete, wo es Sinn macht einen Proxy einzusetzen,
sei es aus Performance- oder Sicherheitsgründen.
Es gibt selbstverständlich noch zahllose andere Anwendungsmöglichkeiten für einen Proxy,
diese hier aufzulisten würde wohl den Rahmen sprengen...
Dennoch hoffe ich, ihr konntet einen kurzen Einblick in die Materie erhalten.
Ich denke das Internet würde es heute nicht in der Form geben, würden nicht vereinzelt Proxys
die Inhalte zwischenspeichern und so uns einen schnellen Zugriff auf die gewünschten
Informationen gewährleisten.
Spaß mit Proxys
Spaß mit Proxys kann man haben, wenn man z.B. Bilder oder einzelne Texte ersetzt.
Die Erfahrung hat gezeigt, dass viele Anwender Manipulationen nicht mal bemerken, solange man es nicht allzu offensichtlich macht und einfach alle Bilder mit seinem Allerwertesten ersetzt.
Wer Fragen zur Konfiguration der vorgestellten Varianten hat, kann sie gerne stellen,
auch Kommentare sind herzlich Willkommen! ;)
LG
Andreas
Quellen:
http://de.wikipedia.org/wiki/Proxy_(Rechnernetz)
http://www.squid-cache.org
http://www.squid-handbuch.de/hb/
http://www.torproject.org
http://forge.mysql.com/wiki/MySQL_Proxy
SWAP Geschwindigkeitsrausch oder RAM erweiterung via USB
Hallo,
bei meinem ersten Beitrag zum Thema Linux auf diesen Blog werde ich nur einen kleinen Artikel schreiben, der wie immer aus gegebenem Anlass endstanden ist.
Vor kurzem kam mir die Idee, einen neuen Arbeitsspeicher zu kaufen, nach dem Motto "ein bisschen mehr kann nie schaden". Stattdessen habe ich nun eine andere Lösung gefunden und meinen Swapbereich auf einen USB Stick ausgelagert.
Swap bitte was ??
Swap oder auch Swapping ist ein Bereich auf der Festplatte, der bei Linux zum Beispiel genutzt wird um die Prozessdaten auszulagern, wenn der Arbeitsspeicher voll ist. Eine Faustregel besagt, dass der Swapbereich doppelt so gross sein soll, wie der Arbeitsspeicher selber.
Ein wesentlicher Vorteil der Auslagerung des Swapbereichs auf einen USB Stick ist der Kostenfaktor. 2 GB USB Sticks bekommt man heute ja schon recht günstig, auf jeden Fall um einiges billiger als 2 GB RAM. Also wieso nicht den Swapbereich auf einen USB Stick auslagern?
Wie mach ich das ??
Zuerst sollte man wissen wo sich die Swappartition derzeit befindet, das kann man zum Beispiel mit cfdisk oder einfach swapon -s als root herausfinden.
Als nächstes hängt man seinen USB Stick an den Computer und führt folgenden Befehl aus:
mkswap /dev/< usb device >
Danach hängt man seine alte SWAP Partition mit swapoff aus. Beispiel:
swapoff /dev/< swap device >
und das neu angelegte USB Swap Device an:
swapon /dev/< usb device >
[UPDATE]
Nach einem Test mittels hdparm bin ich von der Idee nicht mehr so begeistert.
Siehe Benchmark->
/dev/sda1: (Sata - Festplatte)
Timing cached reads: 1536 MB in 2.00 seconds = 767.41 MB/sec
Timing buffered disk reads: 212 MB in 3.02 seconds = 70.24 MB/sec
/dev/sdb1: (USB Stick)
Timing cached reads: 1514 MB in 2.00 seconds = 756.58 MB/sec
Timing buffered disk reads: 36 MB in 3.04 seconds = 11.83 MB/sec
Was hier ersichtlich wird ist, dass der USB Stick wohl signifikant langsamer ist als die SATA Platte. Es macht also wenig Sinn den Swap auf einen USB Stick auszulagern, zumindest nicht bei den heute erhältlichen SATA Festplatten. Vielleicht wiederhole ich den Test nochmal mit einer ATA Platte... Mal sehen wie die Performance da ausschaut.
Leider ist auch die SATA Platte im Vergleich 100 bis 1000 mal langsamer als der Arbeitsspeicher, was einerseits an der Konstruktion der Speicher andererseits an der Architektur des Computers an sich liegt. Um die Geschwindigkeit des Swapspeichers zu tweeken gäbe es noch die Möglichkeit mit hdparm die Geschwindigkeit der Festplatte zu erhöhen. Dies birgt aber auch das Risiko die Festplatte zu beschädigen...
Ich hoffe euch hat der Artikel gefallen und würde mich über ein Kommentar sehr freuen.
Andreas
Quellen:
http://de.wikipedia.org/wiki/Swapping
http://de.wikipedia.org/wiki/Hdparm
http://www.thomashertweck.de/linuxram.html