Ρύθμιση squid

αναρτήθηκε στις 3 Οκτ 2010, 1:45 π.μ. από το χρήστη Γιάννης Ανδριόπουλος

1. Εισαγωγή

Το squid είναι μια εφαρμογή διαμεσολάβησης δικτύου (web proxy). Αυτό που κάνει είναι να αποθηκεύει τις σελίδες που προσπελαύνουν οι πελάτες στον τοπικό εξυπηρετητή και αν στη συνέχεια ζητηθούν από άλλον (ή και τον ίδιο) πελάτη να τις παρέχει ο τοπικός εξυπηρετητής. Με αυτόν τον τρόπο μειώνεται η κίνηση δεδομένων από και προς το δίκτυο και η περιήγηση γίνεται πιο γρήγορη. Επίσης μπορεί να λειτουργήσει και σαν ελεγκτής της πρόσβασης στο διαδίκτυο. Να απαγορεύει δηλαδή την πρόσβαση σε ορισμένα sites ή να απαγορεύει την πρόσβαση σε ορισμένους χρήστες. Οι τρόποι που μπορεί να ρυθμιστεί το squid και οι πολιτικές που μπορεί να εφαρμόσει είναι πάρα πολλοί, στη συνέχεια παραθέτουμε οδηγίες για την εφαρμογή της ακόλουθης πολιτικής:

  • Τοπική αποθήκευση των σελίδων για πιο γρήγορη πλοήγηση
  • Απαγορεύεται η πρόσβαση σε κάποια site

2. Γενική περιγραφή

Δημιουργούμε 1 λίστα

  • banned_domains.acl με τα domains που θα αποκλείονται (π.χ. facebook, hi5)

Στη συνέχεια ρυθμίζουμε το squid ώστε να υλοποιεί την παραπάνω πολιτική βασισμένο στο περιεχόμενο της λίστας

3. Η διαδικασία βήμα βήμα

Όλες οι αναφερόμενες ενέργειες γίνονται στον εξυπηρετητή.

  • Εγκατάσταση του squid

sudo apt-get install squid3 
  • Στο φάκελο /etc/squid3 δημιουργήστε το αρχείο banned_domains.acl. Το αρχείο περιέχει τα domain που θέλουμε να μπλοκάρουμε. Π.χ:

banned_domains.acl (τα domains που θα απαγορεύονται - ένα ανά γραμμή) μπορείτε να βάλετε και τμήμα του domain

facebook
.hi5.com
video.google.com

Το αρχείο αυτό είναι οι html σελίδα που θα εμφανίζεται στους χρήστες όταν προσπαθήσουν να προσπελάσουν μία σελίδα στην οποία δεν έχουν πρόσβαση. Μπορείτε να το αλλάξετε ελεύθερα ώστε να ταιριάζει στο πνεύμα και την αισθητική σας.

  • Στο αρχείο /etc/squid3/squid.conf κάτω από το # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS βάζετε (άλλαξε και αποσχολιάστε το υπο-δίκτυο):

        #SCH-SCRIPTS begin
        error_directory /usr/share/squid3/errors/el   
#       acl schoolnet src 10.x.y.0/24
        acl banned_domains url_regex -i "/etc/squid3/banned_domains.acl"
        deny_info ERR_SCH-SCRIPTS_BANNED_DOMAINS banned_domains
        http_access deny banned_domains
        http_access allow localhost
        http_access allow schoolnet
        http_access deny all
        #SCH-SCRIPTS end

  • επαναφορτώνετε τις ρυθμίσεις

    sudo invoke-rc.d squid3 force-reload
    Αυτό πρέπει να γίνεται κάθε φορά που αλλάζει κάποιο από τα αρχεία ρυθμίσεων
  • Δηλώστε τον proxy στους clients. Η πόρτα (port) στην οποία ακούει το squid είναι η 3128. Αντικαταστήστε το SERVER-IP με την πραγματική διεύθυνση του server

sudo gconftool-2 --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/mode' 'manual'
sudo gconftool-2 --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set '/system/http_proxy/use_http_proxy' true
sudo gconftool-2 --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/http_proxy/host' 'SERVER-IP'
sudo gconftool-2 --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type int --set '/system/http_proxy/port' 3128
  • Για την περίπτωση που έχετε fat clients πρέπει να δηλώσετε τον proxy και στον εικονικό δίσκο

    Από το περιβάλλον sch-scripts πηγαίνετε: Εξυπηρετητής --> Εικονικός δίσκος --> Άνοιγμα κονσόλας και στην κονσόλα που ανοίγει δίνετε τις εντολές (χωρίς sudo):

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/mode' 'manual'
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set '/system/http_proxy/use_http_proxy' true
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/http_proxy/host' 'SERVER-IP'
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type int --set '/system/http_proxy/port' 3128

Αν κάνετε αλλαγές στα αρχεία ρυθμίσεων μην ξεχάσετε να επαναφορτώσετε τις ρυθμίσεις στο squid

Ο διαμεσολαβητής squid μπορεί να χρησιμοποιηθεί από οποιοδήποτε υπολογιστή του υποδικτύου ανεξαρτήτως λειτουργικού συστήματος. Το μόνο που χρειάζεται είναι να δηλωθεί σαν διαμεσολαβητής στις ρυθμίσεις του συστήματος ή της εφαρμογής

Ένα πιο πολύπλοκο σενάριο για πιο λεπτομερή ρύθμιση του squid:

../squid-advanced

Πιο λεπτομερείς οδηγίες για την εγκατάσταση του squid:

http://ts.sch.gr/ts/downloadsDetails.do?action=downloadsDetails&itemId=351990

Πληροφορίες για το πως λειτουργεί ο διαμεσολαβητής squid:

http://wiki.squid-cache.org/FrontPage

sch-scripts/squid (last edited 01-10-2010 11:49:21 by ?apanagio)


http://wiki.squid-cache.org/FrontPage
Comments