Benutzer-Werkzeuge

Webseiten-Werkzeuge


lager:oeff_netze:proxy_labor

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lager:oeff_netze:proxy_labor [2013/11/21 17:20] richardlager:oeff_netze:proxy_labor [2025/11/19 16:15] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-~~DISCUSSION|Ergänzungen~~+~~DISCUSSION:closed|Ergänzungen~~
 ====== Proxy-Laborübung ====== ====== Proxy-Laborübung ======
 ===== Überblick ===== ===== Überblick =====
 +
 +Die folgende Abbildung zeigt den prinzipiellen Laboraufbau für die Proxy-Übung.
 +
 +{{ :lager:oeff_netze:bilder:w13-proxy_laboraufbau_skizze_13-10-21.jpg | Laboraufbau Proxy}}
  
 Die Übung wird u.a. auf virtuellen Ubuntu Maschine durchgeführt. Insbesondere der Proxy selbst wird virtualisiert betrieben.  Die Übung wird u.a. auf virtuellen Ubuntu Maschine durchgeführt. Insbesondere der Proxy selbst wird virtualisiert betrieben. 
Zeile 14: Zeile 18:
 Die Default-Konfiguration findet standardmäßig in ''/etc/squid/squid.conf'' statt. Der squid-Server wird mittels der folgenden Befehle gestartet bzw. gestoppt. Die Default-Konfiguration findet standardmäßig in ''/etc/squid/squid.conf'' statt. Der squid-Server wird mittels der folgenden Befehle gestartet bzw. gestoppt.
  
-<code>sudo service squid [start|stop|--full-restart]</code>+<code>sudo service squid3 [start|stop|--full-restart]</code>
  
 ACHTUNG: Es kann immer nur einer der Befehle in den eckigen Klammern verwendet werden! ACHTUNG: Es kann immer nur einer der Befehle in den eckigen Klammern verwendet werden!
 Wenn eine eigene Konfiguration statt der ''default-config'' verwendet werden soll, so kann dies ''squid'' mittels des Parameters ''-f'' mitgeteilt werden. Wenn eine eigene Konfiguration statt der ''default-config'' verwendet werden soll, so kann dies ''squid'' mittels des Parameters ''-f'' mitgeteilt werden.
  
-<code>sudo squid -f /PFAD/squid.conf</code>+<code>sudo squid3 -f /PFAD/squid.conf</code> 
 + 
 +Alternativ kann der Proxy auch im Vordergrund ''-N'' gestartet werden und mit ''-d'' der Debug-Level eingestellt werden. 
 +<code>sudo squid3 -N -d 1</code>
  
 ===== Weiterführende Informationen zu squid: ===== ===== Weiterführende Informationen zu squid: =====
  
-Die Konfigurationsoptionen sind hier zu finden:http://wiki.ubuntuusers.de/Squid (gekürzte Version) +Die Konfigurationsoptionen sind hier zu finden: [[http://wiki.ubuntuusers.de/Squid (gekürzte Version)]]\\ 
-Die vollständige Übersicht befindet sich hier: http://www.squid-cache.org/Doc/config/ +Die vollständige Übersicht befindet sich hier: [[http://www.squid-cache.org/Doc/config/]]\\ 
-Auf derselben Seite findet man auch sehr viele Beispiele zu unterschiedlichen Szenarien: http://wiki.squid-cache.org/ConfigExamples +Auf derselben Seite findet man auch sehr viele Beispiele zu unterschiedlichen Szenarien: [[http://wiki.squid-cache.org/ConfigExamples]]\\ 
-Sehr ausführliches deutsche Handbuch: http://www.squid-handbuch.de/hb/  +Sehr ausführliches deutsche Handbuch: [[http://www.squid-handbuch.de/hb/]] \\ 
-Man-Page zu squid: http://linux.die.net/man/8/squid +Man-Page zu squid: [[http://linux.die.net/man/8/squid]]\\ 
-Eine sehr verkürzte Konfiguration sieht wie folgt aus:+Anleitung für Cache: [[http://www.gulp.de/kb/pt/techexpert/tintenfisch.html]]\\ 
 + 
 +Eine sehr verkürzte Konfiguration (nicht lauffähig) sieht wie folgt aus:
  
 <file shell squid_basic.conf> <file shell squid_basic.conf>
Zeile 36: Zeile 45:
 cache_access_log /PFAD/logs/access.log cache_access_log /PFAD/logs/access.log
 cache_log /PFAD/logs/cache.log cache_log /PFAD/logs/cache.log
 +
 +# Zugriffe mit loggen
 +access_log /var/log/squid3/access.log squid
 +
 # Einfach Access-Regeln # Einfach Access-Regeln
-# Alle anderen Quellen (all) dürfen alles +# Alle anderen Quellen aus dem angegebenen Netz dürfen alles 
-acl all src 0/0+acl localnet src 192.168.0.0/16 
 +http_access allow localnet 
 +</file> 
 + 
 +<file shell squid_medium.conf> 
 +http_port 192.168.16.202:8080 
 +access_log /var/log/squid3/access.log squid 
 + 
 +cache_peer 192.168.16.91 parent 3128 0 no-query default 
 + 
 +client_netmask 255.255.0.0 
 + 
 +acl SSL method CONNECT 
 +never_direct allow SSL 
 + 
 +acl no_access src 192.168.16.101 
 +http_access deny no_access 
 + 
 +#acl bad_sites url_regex -i "/etc/squid3/bad_sites" 
 +acl bad_sites url_regex -i kopfload.de google.de 
 +http_access deny bad_sites 
 + 
 +acl localnet src 192.168.0.0/16 
 +http_access allow localnet 
 +</file> 
 + 
 + 
 +Eine aufwendigere Konfiguration, die allerdings noch angepasst werden muss. 
 +<file shell squid_full.conf> 
 +# Üblicherweise wartet Squid auf dem Port 3128 auf Anfragen. 
 +#http_port 3128 
 +# Binden an ein internes Interface hier LISTEN_IP 
 +# ACHTUNG: Die ACL (s.u.) muss entsprechend angepasst werden. 
 +http_port LISTEN_IP:3128 
 + 
 +#  TAG: cache_mem zusätzlicher Speicherverbrauch für aktivierten Cache in (bytes) 
 +cache_mem 32 MB 
 + 
 +#  TAG: maximum_object_size Max. Größe gecachter Dateien in (bytes) DEFAULT 4096 KB 
 +maximum_object_size 10000 KB 
 + 
 +#  TAG: maximum_object_size_in_memory   (bytes) 
 +maximum_object_size_in_memory 32 KB 
 + 
 +#  TAG: cache_replacement_policy Verfahren um Speicherplatz freizugeben 
 +cache_replacement_policy heap LFUDA 
 + 
 +#  TAG: memory_replacement_policy Verfahren um Speicherplatz freizugeben 
 +memory_replacement_policy heap LFUDA 
 + 
 +#  TAG: cache_dir Speicherort des Caches 
 +cache_dir ufs /var/spool/squid3 2000 16 256 
 + 
 +#  TAG: client_netmask Datenschutz vollständige IP wird gespeichert 
 +client_netmask 255.255.255.255 
 +#  TAG: client_netmask Datenschutz letztes Oktett=0 (anonym) 
 +#client_netmask 255.255.255.0 
 + 
 +#  TAG: forwarded_for IP Adresse verbergen 
 +forwarded_for off 
 + 
 +#Squid VIA Header ausschalten 
 +#via off 
 +via on 
 + 
 +# Vorgelagerter Proxy (Master-Proxy) 
 +#  TAG: cache_peer 
 +#                                        proxy  icp 
 +#          hostname             type     port   port  options 
 +cache_peer IP_ADDR_MASTER       parent    80  0  no-query default  
 + 
 +# DNS-Server 
 +dns_nameservers IP_ADRESSE:80 
 + 
 +# Pfad zur Process-ID Datei 
 +pid_filename /var/run/squid.pid 
 +# Deutsche Fehlermeldungen 
 +error_directory /usr/share/squid3/errors/de 
 + 
 +# ACL Access Control List 
 +# Form: acl <frei_definierbarer_Name> <acl_Typ> <Werte> 
 +# Die Reihenfolge der Freigaben ist entscheidend!  
 +# Würde zuerst ein http_access deny all gesetzt, kann man darunter 
 +# keinen Zugriff mehr einrichten.  
 +# Daher sollten Freigaben möglichst am Anfang der squid.conf stehen.  
 + 
 +# Gezielt Seiten sperren. Alles was in der Datei bad-sites.squid steht wird gesperrt. z.B. Facebook, Youtube 
 +acl bad_url dstdomain "/etc/squid3/bad-sites.squid" 
 +http_access deny bad_url 
 + 
 +# Alternative Proxys blocken 
 +acl anon-prox-sites url_regex -i "/squid3/blocked/keywords" 
 +http_access deny anon-prox-sites 
 + 
 +# https Anfragen nicht selbst beantworten, sondern über parent (SchulProxy laufen lassen 
 +acl SSL method CONNECT 
 +never_direct allow SSL 
 + 
 +# Beispiel: Alles erlauben, dass auch dem entsprechenden Subnetz kommt. 
 +#acl all src 192.168.0.0/255.255.255.0 
 +acl all src 192.168.XX.0/255.255.255.0
 http_access allow all http_access allow all
 +
 +# Beispiel 2: Alles aus dem Bereich freigeben.
 +#acl freigegeben2 src 192.168.0.1-192.168.0.11
 +#http_access allow freigegeben2
 +
 +# Beispiel 3: Genau eine Maschine freigeben.
 +#acl testpc src 192.168.30.1
 +#http_access allow testpc
 </file> </file>
  
Zeile 49: Zeile 170:
 <code>tail -f /PFAD/logs/access.log</code> <code>tail -f /PFAD/logs/access.log</code>
  
-Der Pfad muss demjenigen entsprechen, den Sie in der Konfiguration vorgegeben haben.+Der Pfad muss demjenigen entsprechen, den Sie in der Konfiguration unter ''access_log'' vorgegeben haben. 
 + 
 +Setzen Sie sich mit den Angaben im ''access.log'' auseinander. 
 + 
 +**Warum taucht ''TCP_MISS/200'' in den Zeilen auf? Wie kommt es, dass der Proxy MISS angibt, obwohl die Seite ausgeliefert wurde?**
  
 ===== Aufgabe 2 ===== ===== Aufgabe 2 =====
Zeile 56: Zeile 181:
   * Es sollen nur Maschinen aus dem vorher definierten IP-Bereich zugreifen.   * Es sollen nur Maschinen aus dem vorher definierten IP-Bereich zugreifen.
   * Es sollen bestimmte URLs nicht erreichbar sein. Hier soll statt dessen eine Hinweis-Seite erscheinen   * Es sollen bestimmte URLs nicht erreichbar sein. Hier soll statt dessen eine Hinweis-Seite erscheinen
 +  * Es soll nur EINE bestimmte Maschinen (ZIEL) erreichbar sein.
 +
 +Betrachten Sie dazu die TAGs ''acl'' und ''http_access'' mit den dazugehörigen Parametern
 +
 +
 +===== Zusatzaufgabe =====
 +
 +  - Schalten Sie zwei Proxy hintereinander. Betrachten Sie dazu den Parameter ''cache_peer''.
 +  - Ändern Sie die Fehlermeldungen, die der Proxy liefert. Betrachten Sie dazu den Parameter ''error_directory''.
 +
 +
 +
 +===== Einrichten der VM =====
 +
 +/etc/apt/apt.conf
 +
 +<code>
 +Acquire::http::proxy "http://raumserver:3128/";
 +Acquire::https::proxy "https://raumserver:3128/";
 +Acquire::ftp::proxy "ftp://raumserver:3128/";
 +Acquire::socks::proxy "socks://raumserver:3128/";
 +</code>
 +
 +/etc/apt/sources.list
 +<code>
 +deb http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty main restricted
 +
 +deb http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty-updates main restricted
 +deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty-updates main restricted
 +
 +
 +deb http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty universe
 +deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty universe
 +deb http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty-updates universe
 +deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty-updates universe
 +
 +deb http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty multiverse
 +deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty multiverse
 +deb http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty-updates multiverse
 +deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty-updates multiverse
 +
 +deb http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty-backports main restricted universe multiverse
 +deb-src http://ftp.halifax.rwth-aachen.de/ubuntu/ trusty-backports main restricted universe multiverse
 +
 +
 +</code>
 +
 +
lager/oeff_netze/proxy_labor.1385054451.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki