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/10/21 10:33] richardlager:oeff_netze:proxy_labor [2025/11/19 16:15] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +~~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. 
 +HINWEIS: Bei der Arbeit mit virtuellen Maschinen sind im [[network:labornutzung#arbeiten_mit_virtuellen_maschinen_vm|Labor einige Details]] zu beachten.
  
 ===== Vorbereitung ===== ===== Vorbereitung =====
Zeile 10: 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 32: 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 45: 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 52: 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.1382351615.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki