Επόμενο Προηγούμενο Περιεχόμενα
Σε κονσόλα πάντα προσθέτουμε τον χρήστη squid (αν δεν
υπάρχει, αν υπάρχει τον αφαιρούμε με userdel) αφού έχουμε
φτιάξει ένα directory με όνομα cache:
# useradd -d /cache/ -r -s /dev/null squid >/dev/null 2>&1
Κανένας δεν μπορεί να κάνει login σαν χρήστης squid
εννοείται και ο root. Αυτό είναι ένα βήμα βέλτιστης
ασφάλειας που μπορεί βεβαίως να παραλειφθεί αν δεν
υπάρχει άμεσος κίνδυνος. (πάντα υπάρχει !)
Αφού έχουμε κατεβάσει το squid source το αποσυμπιέζουμε
πχ. στο /tmp:
# cd/tmp
# tar xzfv squid-2.5.STABLE4-src.tar.gz
# cd squid-2.5.STABLE4
Είμαστε έτοιμοι για το compile.
#./configure --prefix=/opt/squid --exec-prefix=/opt/squid --enable-delay-pools --enable-cache-digests \
--enable-poll --disable-ident-lookups --enable-truncate --enable-removal-policies
# make all
# make install
Αφού ολοκληρώσουμε επιτυχώς o squid έχει εγκατασταθεί στο
/opt/squid. Και για να είμαστε σίγουροι ότι τα πάντα κάτω
από το /opt/squid και /cache ανήκει στον χρήστη squid
γράφουμε:
# chown -R squid:squid /opt/squid
# chown -R squid:squid /cache
ή
# chown -R squid.squid /opt/squid
# chown -R squid.squid /cache.
Υποθέτουμε ότι το δίκτυο μας είναι το 192.168.0.0/24.
Μετά πάμε στο /opt/squid/etc/squid.conf που είναι το
σημαντικότερο βήμα. Ένα τυπικό squid.conf είναι το
παρακάτω:
# SQUID CONFIGURATION FILE
# by Αντώνιος Χάψας © 2003.
visible_hostname Dias #Your name pc
http_port 8080
icp_port 3130
acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY
cache_mem 64 MB
cache_dir ufs /cache 250 16 256
redirect_rewrites_host_header off
cache_replacement_policy GDSF
emulate_httpd_log on
acl localnet src 192.168.0.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl Safe_ports port 80 443 210 119 70 21 1025-65535
acl CONNECT method CONNECT
acl all src 0.0.0.0/0.0.0.0
http_access allow localnet
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT
http_access deny all
maximum_object_size 3000 KB
store_avg_object_size 50 KB
#Αυτό το κομμάτι το γουστάρω πολύ,
#για τους έξω χρήστες χρησιμοποιείται τον παρακάτω browser !
anonymize_headers deny User-Agent
fake_user_agent Shit/1.0 (FuckWindows; U; WindowsShit 1.0 i8088)
cache_mgr root
cache_effective_user squid
cache_effective_group squid
log_icp_queries off
buffered_logs on
# Εδώ είναι το κρίσιμο κομμάτι που μας ενδιαφέρει
#DELAY POOLS
#Δεν θέλουμε να περιορίσουμε το κατέβασμα στο τοπικό μας δίκτυο
acl magic_words1 url_regex -i 192.168
#Θέλουμε να περιορίσουμε το κατέβασμα των παρακάτω αρχείων
#Όλα σε μια σειρά
acl magic_words2 url_regex -i ftp .zip .exe .mp3 .rpm .zip .avi .mpeg
# Δεν βάζουμε .htm .html .jpg .gif γιατί συνήθως δεν καταναλώνουν μεγάλο bandwith.
#Εχουμε 2 διαφορετικά delay_pools
delay_pools 2
#1st Delay pool
delay_class 1 2
#-1/-1 σημαίνει ότι δεν έχουμε όρια
delay parameters 1 -1/-1 -1/-1
delay_access 1 allow magic_words1
#2nd Delay pool
delay_class 2 2
#Τα παρακάτω νούμερα είναι σε bytes
# 6000/15000 είναι τα νούμερα για όλο το δίκτυο
# 5000/15000 είναι για μια απλή ΙΡ
#για κατέβασμα αρχείων μεγαλύτερο από 150000 bytes
#οι χρήστες συνεχίζουν το κατέβασμα με 5000 bytes/s
delay_parameteres 2 6000/150000 5000/150000
delay_access 2 alllow magic_words2
#Τέλος Αρχείου.
Αφού είμαστε σίγουροι ότι το παραπάνω αρχείο είναι σωστό
γράφουμε για να δημιουργηθούν τα cache του directories:
# /opt/squid/sbin/squid -z
Λογικά πρέπει να είμαστε εντάξει, κάνουμε ένα έλεγχο με
τους browser μας βάζοντας την ip του server στο 8080.
Γράφουμε ένα ps -A | grep squid για να δούμε αν τρέχει.
Για να τρέχει κάθε φορά που ξεκινάει ο server μας βάζουμε
την παρακάτω γραμμή στο τέλος του /etc/rc.d/rc.local
/opt/squid/sbin/squid -D
Aλλες χρήσιμες εντολές θα μπορούσε να είναι η
# /opt/squid/sbin/squid -κ reconfigure (κάνει reconfigure αν κάναμε αλλαγές στο squid.conf)
όπως και η
# /opt/squid/sbin/squid -help.
Περιορισμός μιας γραμμής ολικού bandwith ας πούμε στα 512
Kbs.
acl all src 0.0.0.0/0.0.0.0 #μπορεί να έχει επαναληφθεί πιο πάνω.
delay pools 1
delay_class 1 1
delay_access 1 allow alll
delay_parameteres 1 64000/64000 #512 kbits = 64 kbytes pes sec
Περιορισμός μια γραμμής στα 128 Kbps.
acl 128Kusers src 192.168.0.1/255.255.255.0
acl all src 0.0.0.0/0.0.0.0
delay_pools 1
delay_class 1 3
delay_access 1 allow 128kusers
delay_access 1 deny all
delay_parameters 1 64000/64000 -1/-1 16000/64000
Το παραπάνω παράδειγμα δίνει μια λύση σε ένα δίκτυο από
ένα σύνολο 512Kbits, και κάθε ΙΡ παίρνει μόνο 128Kbits
από αυτό το pool.
Περισσότερα παραδείγματα στο
http://www.squid-cache.org/Doc/FAQ/FAQ-19.html.
Επόμενο Προηγούμενο Περιεχόμενα