Εγκατάσταση/παραμετροποίηση Squid

Ξεκίνησε από Δημήτρης Δαλαγιώργος, 04 Νοε 2009, 06:00:03 ΜΜ

« προηγούμενο - επόμενο »

Δημήτρης Δαλαγιώργος

Διαβάζω στη σελίδα 17 του οδηγού για την εγκατάσταση του Squid σε Ubuntu

5. Στη συνέχεια πηγαίνουμε Εφαρμογές > Βοηθήματα > Τερματικό και πληκτρολογούμε:

sudo gedit /etc/squid/squid.conf

Στο αρχείο που έχει ανοίξει συμπληρώνουμε τις εξής γραμμές:

acl sch src 10.x.y.z/24
http_access allow sch


Προφανώς sch είναι το όνομα της acl που θα επιτρέπει στα μηχανάκια του τοπικού δικτύου να βλέπουν τον έξω κόσμο.

Αυτό που δεν καταλαβαίνω είναι:
α) Τι είναι το 24; Στο squid.conf έχει και /32 και /8. Ποια η διαφορά;
β) Υποθέτω ότι όπου x.y.z θα βάλω τη διεύθυνση του server, σωστά;
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

α) Το /24 σημαίνει το μέγεθος (σε bit) της subnet mask του τοπικού σου δικτύου (πάντα /24 στα ελληνικά σχολεία).
255.255.255.0 => /24
255.255.0.0 => /16
255.0.0.0 => /8

Το βλέπεις κι αν γράψεις ip addr show eth0

β) Ναι

Δημήτρης Δαλαγιώργος

Για να ρυθμίσω τον Squid ως proxy για όλους τους χρήστες σε κάθε client τι πρέπει να κάνω; Ο οδηγός της Τεχνικής Στήριξης δεν περιγράφει κάποια batch διαδικασία   :-\
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Για μαζική ρύθμιση των clients ώστε να χρησιμοποιούν το squid για caching, ανιχνεύοντας αυτόματα αν αυτό είναι διαθέσιμο, αρκεί να εκτελεστούν οι παρακάτω εντολές σε κάθε client:

sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/mode' 'auto'
sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/autoconfig_url' 'http://10.160.17.10/wpad.dat'


Αλλάξτε το 10.160.17.10 με τη διεύθυνση του ubuntu server.
Εφόσον μπαίνει συγκεκριμένη IP, δεν χρειάζεται η προσθήκη του wpad στο αρχείο /etc/hosts των clients.
Η παραπάνω ρύθμιση είναι υποχρεωτική, δηλαδή δεν μπορούν να την παρακάμψουν οι χρήστες. Όμως, χρειάζεται επανεκκίνηση των clients για να πιάσει.

markakis

Στην παράγραφο 2.2.3 του οδηγού του ΙΤΥ (σελ. 22) αφήνεται να εννοηθεί ότι δεν έχει σημασία σε πιο σημείο του /etc/squid/squid.conf (π.χ. στο τέλος) θα προστεθούν οι γραμμές:

Παράθεσηacl bad url_regex -i "/etc/squid/squid-block.acl"
http_access deny bad

Νομίζω ότι αυτό είναι λάθος, ή τουλάχιστο δεν δούλεψε σε 'μένα.
Υπάρχει ειδικό σημείο, με ετικέτα ACCESS CONTROLS κάτω από το οποίο πρέπει να προστεθούν οι δυο αυτές γραμμές.

Δημήτρης Δαλαγιώργος

Παράθεση από: alkisg στις 05 Νοε 2009, 09:56:51 ΠΜ
Για μαζική ρύθμιση των clients ώστε να χρησιμοποιούν το squid για caching, ανιχνεύοντας αυτόματα αν αυτό είναι διαθέσιμο, αρκεί να εκτελεστούν οι παρακάτω εντολές σε κάθε client:

sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/mode' 'auto'
sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/autoconfig_url' 'http://10.160.17.10/wpad.dat'


Αλλάξτε το 10.160.17.10 με τη διεύθυνση του ubuntu server.
Εφόσον μπαίνει συγκεκριμένη IP, δεν χρειάζεται η προσθήκη του wpad στο αρχείο /etc/hosts των clients.
Η παραπάνω ρύθμιση είναι υποχρεωτική, δηλαδή δεν μπορούν να την παρακάμψουν οι χρήστες. Όμως, χρειάζεται επανεκκίνηση των clients για να πιάσει.

Αυτό αλλάζει τις ρυθμίσεις του 'Σύστημα>Προτιμήσεις>Διαμεσολαβητής Δικτύου', σωστά; Ένας χρήστης μπορεί ν' αλλάξει proxy μέσα απ' το Firefox, ή ακόμα κι αν βάλει άλλες ρυθμίσεις δε θα έχουν ισχύ; Αν έχουν ισχύ, θα πρέπει να κλειδώσουμε και τις ρυθμίσεις του Firefox;
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Yup. Μετά τα παραπάνω, ένας χρήστης δεν μπορεί να αλλάξει τις υποχρεωτικές ρυθμίσεις του gnome, αλλά μπορεί να αλλάξει τις ρυθμίσεις του firefox.
Επομένως θέλει κι ο firefox κλείδωμα: https://alkisg.mysch.gr/steki/index.php?topic=2223.msg17750#msg17750

Εννοείται ότι αντί για χειρωνακτικό editing του αρχείου ρυθμίσεων, μπορούν να δωθούν εντολές του gconftool-2 παρόμοιες με τις παραπάνω.

Yannis Siahos

Παράθεση από: markakis στις 05 Νοε 2009, 08:13:58 ΜΜ
Στην παράγραφο 2.2.3 του οδηγού του ΙΤΥ (σελ. 22) αφήνεται να εννοηθεί ότι δεν έχει σημασία σε πιο σημείο του /etc/squid/squid.conf (π.χ. στο τέλος) θα προστεθούν οι γραμμές:

Παράθεσηacl bad url_regex -i "/etc/squid/squid-block.acl"
http_access deny bad

Νομίζω ότι αυτό είναι λάθος, ή τουλάχιστο δεν δούλεψε σε 'μένα.
Υπάρχει ειδικό σημείο, με ετικέτα ACCESS CONTROLS κάτω από το οποίο πρέπει να προστεθούν οι δυο αυτές γραμμές.

Γεια χαρά

ο δαίμων του τυπογραφείου....
στη σελίδα 13 ο οδηγός ανέφερε να μπουν στο #Recommended Minimum αλλά κάτι πήγε λάθος στο copy-paste στη σελ. 22....
αλλά και πάλι θα μπορούσε να υπάρξει πρόβλημα...

Το σωστό είναι η access-list bad να γίνει deny πριν την access-list sch που γίνεται allow

δηλ.

Παράθεσηacl sch src 10.50.40.0/24
acl bad url_regex -i "/etc/squid3/squid-block.acl"
http_access deny bad
http_access allow sch

θα διορθωθεί στην επόμενη έκδοση του οδηγού που θα είναι διαθέσιμη σύντομα

Δημήτρης Δαλαγιώργος

#8
1) Υπάρχει τρόπος για per user παραμετροποίηση του Squid; Π.χ. θέλω να κόψω το facebook και το YouTube για τους μαθητές, αλλά να τα έχω ανοιχτά για τους καθηγητές. Ή, να κλείσω το YouTube για τους μαθητές της Α' και της Β' αλλά να το έχω ανοιχτό για τους χρήστες του μαθήματος των πολυμέσων.

2) Ποιο πρόγραμμα χρησιμοποιείτε για να αναλύετε τα log files του Squid; Θέλω να μπορώ να βλέπω ποια site επισκέπτονται οι μαθητές και να προχωράω στην απαραίτητη λογοκρισία μετά.
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

Yannis Siahos

Παράθεση από: Yannis Siahos στις 06 Νοε 2009, 11:56:51 ΠΜ

....
θα διορθωθεί στην επόμενη έκδοση του οδηγού που θα είναι διαθέσιμη σύντομα


Η νέα έκδοση είναι διαθέσιμη από τον ενημερωτικό κόμβο της ΤΣ http://ts.sch.gr/ts/newsDetails.do?action=newsDetails&itemId=352057

Ελπίζω να είναι πιο κατανοητή.

Yannis Siahos

Παράθεση από: Δημήτρης Δαλαγιώργος στις 12 Νοε 2009, 11:28:59 ΠΜ
1) Υπάρχει τρόπος για per user παραμετροποίηση του Squid; Π.χ. θέλω να κόψω το facebook και το YouTube για τους μαθητές, αλλά να τα έχω ανοιχτά για τους καθηγητές. Ή, να κλείσω το YouTube για τους μαθητές της Α' και της Β' αλλά να το έχω ανοιχτό για τους χρήστες του μαθήματος των πολυμέσων.

Υπάρχει αλλά είναι πολύπλοκο... Το είχα κάνει πριν χρόνια στον Ελληνικό Στρατό..... αλλά δεν θυμάμαι λεπτομέρειες.
Πρέπει πρώτα να ενεργοποιήσεις LDAP service (ή authentication στο Active Directory) -- όχι εύκολα πράγματα δηλαδή....
και μετά να παίξεις με το squid.conf για διαφορετικά προνόμια ανά χρήστη....
Κοίτα στο http://www.cyberciti.biz/tips/linux-unix-squid-proxy-server-authentication.html

Μήπως είναι πιο εύκολο να αλλάζεις τα squid.conf ανάλογα με την τάξη που κάνεις μάθημα;
Δηλ. στα πολυμέσα θα αφαιρείς από το squid-block.acl τα youtube...

Παράθεση από: Δημήτρης Δαλαγιώργος στις 12 Νοε 2009, 11:28:59 ΠΜ
2) Ποιο πρόγραμμα χρησιμοποιείτε για να αναλύετε τα log files του Squid; Θέλω να μπορώ να βλέπω ποια site επισκέπτονται οι μαθητές και να προχωράω στην απαραίτητη λογοκρισία μετά.

Υπάρχει το Calamaris http://cord.de/tools/squid/calamaris/ (τι μου θυμίζεις στον ΕΣ...)
Υπάρχει package "calamaris" έτοιμο για ubuntu...

Yannis Siahos

.. δευτερολογώντας να προσθέσω ότι στο http://www.squid-cache.org/Scripts/ υπάρχουν διάφορα εργαλεία για επεξεργασία των logs.

Θα ήθελα να σταθώ και στο sarg που κάνει ακριβώς αυτό που θέλεις με ελάχιστο configuration σε σχέση με το Calamaris (και υπάρχει και package για ubuntu).
Δεν το έψαξα πολύ...
Περισσότερα στο http://sarg.sourceforge.net/sarg.php



pentsas

Σηγνώμη είναι άσχετο αλλά δε μπορώ να κρατηθώ άλλο.
Θα κάνω μια αριστοφανική ερώτηση:

Το COLAMARIS έχει καμιά σχέση με τον κ. ΚΑΛΑΜΑΡΙ στον Μπομπ το σφουγγαράκι;

Σημ: Μη βαράτε ρε παιδιά, μια πλάκα έκανα >:D

aren13

#13
Παράθεση από: alkisg στις 05 Νοε 2009, 09:56:51 ΠΜ
Για μαζική ρύθμιση των clients ώστε να χρησιμοποιούν το squid για caching, ανιχνεύοντας αυτόματα αν αυτό είναι διαθέσιμο, αρκεί να εκτελεστούν οι παρακάτω εντολές σε κάθε client:

sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/mode' 'auto'
sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/autoconfig_url' 'http://10.160.17.10/wpad.dat'


Αλλάξτε το 10.160.17.10 με τη διεύθυνση του ubuntu server.
Εφόσον μπαίνει συγκεκριμένη IP, δεν χρειάζεται η προσθήκη του wpad στο αρχείο /etc/hosts των clients.
Η παραπάνω ρύθμιση είναι υποχρεωτική, δηλαδή δεν μπορούν να την παρακάμψουν οι χρήστες. Όμως, χρειάζεται επανεκκίνηση των clients για να πιάσει.


Τελικά σε κάθε client ή μόνο στον server όπως λένε οι σημειώσεις σελ.24 (σημειώσεις) του νέου οδηγού για squid3
Πάντως η περίπτωση μόνο στον server κλειδώνει τον firefox ΚΑΙ του server -->σε αυτοματο εντοπισμο ρυθμισεων διαμεσολαβητη


Oι clients που έχω δημιουργήσει είναι desktop
μήπως θα έπρεπε να είχα δημιουργήσει unprivileged;

A! και κάτι άσχετο στην αρχικη οθόνη σύνδεσης των ubuntu μου εμφανίζονται όλοι οι λογασιασμοί των χρηστων και του teacher
μήπως υπάρχει τρόπος να εμφανίζεται μόνο ο teacher;

alkisg

Η σχετική σημείωση του οδηγού λέει:
Παράθεση
Σε περίπτωση ΣΕΠΕΗΥ με thin clients οι παραπάνω ρυθμίσεις πρέπει να γίνουν μόνο στον Ubuntu LTSP εξυπηρετητή.

Εσύ δεν έχεις thin clients όμως (αν δεν κάνω λάθος), άρα πρέπει να εκτελέσεις την εντολή σε όλους τους σταθμούς εργασίας.

Απ' όσο ξέρω, δεν γίνεται με εύκολο τρόπο να εμφανίζονται επιλεκτικά κάποιοι μόνο χρήστες στην αρχική οθόνη. Βέβαια αυτό δεν είναι κακό, αν υπάρχουν μόνο λογαριασμοί για τους συγκεκριμένους μαθητές που κάθονται σ' αυτόν τον Η/Υ... (και ευκολία είναι, και το να βλέπουν το όνομά τους τους δίνει ένα αίσθημα big-bro... εε... ευθύνης  ;D)

aren13

Παράθεση από: alkisg στις 04 Δεκ 2009, 02:02:20 ΜΜ
Η σχετική σημείωση του οδηγού λέει:
Παράθεση
Σε περίπτωση ΣΕΠΕΗΥ με thin clients οι παραπάνω ρυθμίσεις πρέπει να γίνουν μόνο στον Ubuntu LTSP εξυπηρετητή.

Εσύ δεν έχεις thin clients όμως (αν δεν κάνω λάθος), άρα πρέπει να εκτελέσεις την εντολή σε όλους τους σταθμούς εργασίας.

Απ' όσο ξέρω, δεν γίνεται με εύκολο τρόπο να εμφανίζονται επιλεκτικά κάποιοι μόνο χρήστες στην αρχική οθόνη. Βέβαια αυτό δεν είναι κακό, αν υπάρχουν μόνο λογαριασμοί για τους συγκεκριμένους μαθητές που κάθονται σ' αυτόν τον Η/Υ... (και ευκολία είναι, και το να βλέπουν το όνομά τους τους δίνει ένα αίσθημα big-bro... εε... ευθύνης  ;D)
Προς το παρόν έχω thin clients

εννοουσα:
στην αρχικη οθόνη σύνδεσης των ubuntu (του server) μου εμφανίζονται όλοι οι λογασιασμοί των χρηστων και του teacher
μήπως υπάρχει τρόπος να εμφανίζεται μόνο ο teacher;

alkisg

Όχι, ή θα εμφανίζονται όλοι οι χρήστες ή κανένας (υπάρχει επιλογή για πλήρη απενεργοποίηση της λίστας).

Αν θες όμως μπορείς να βάλεις να συνδέεται αυτόματα ο καθηγητής (autologon) και αμέσως μετά να ενεργοποιείται αυτόματα ο διάλογος κλειδώματος της οθόνης, ώστε να μπορεί να συνδεθεί μόνο ο καθηγητής βάζοντας τον κωδικό του. Δεν είναι ακριβώς αυτό που ζητάς, αλλά ίσως σε βολέψει. Υπάρχουν σχετικές οδηγίες για το πώς μπορεί να γίνει αυτό στο εγχειρίδιο.

aren13

Παράθεση από: alkisg στις 04 Δεκ 2009, 02:46:52 ΜΜ
Όχι, ή θα εμφανίζονται όλοι οι χρήστες ή κανένας (υπάρχει επιλογή για πλήρη απενεργοποίηση της λίστας).

Αν θες όμως μπορείς να βάλεις να συνδέεται αυτόματα ο καθηγητής (autologon) και αμέσως μετά να ενεργοποιείται αυτόματα ο διάλογος κλειδώματος της οθόνης, ώστε να μπορεί να συνδεθεί μόνο ο καθηγητής βάζοντας τον κωδικό του. Δεν είναι ακριβώς αυτό που ζητάς, αλλά ίσως σε βολέψει. Υπάρχουν σχετικές οδηγίες για το πώς μπορεί να γίνει αυτό στο εγχειρίδιο.

Άλκη σ' ευχαριστώ!
Νομίζω κάτι τέτοιο θα με βολέψει


aren13

Λοιπόν έχω το εξής προβλημα
έχω ακολουθήσει όλες τις οδηγίες του οδηγού squid και παρατηρώ ότι

στο αρχείο user.js στη γραμμή
lockPref("network.proxy.type", 4);
λειτουργεί ο firefox  μόνο όταν αντι για
4 = «( ) Αυτόματος εντοπισμός ρυθμίσεων διαμεσολαβητή για αυτό το δίκτυο»   
βάζω
1 = «( ) Χειροκίνητη ρύθμιση διαμεσολαβητή»

επίσης μ'αυτόν τον τρόπο θα πρέπει να περάσω στον κάθε σταθμό εργασίας
manual proxy configuration το 10.χ.ψ.10 και port 3128 κτλ

τι λάθος μπορεί να έχω κάνει;

aren13


alkisg

Παράθεση από: aren13 στις 07 Δεκ 2009, 11:33:42 ΜΜ
επίσης μ'αυτόν τον τρόπο θα πρέπει να περάσω στον κάθε σταθμό εργασίας
manual proxy configuration το 10.χ.ψ.10 και port 3128 κτλ

Μα thin clients δεν έχεις; Γιατί να κάνεις ρυθμίσεις σε κάθε σταθμό εργασίας;
Έχεις Ubuntu 9.10 αν θυμάμαι καλά, έτσι; Το user.js σε ποια θέση το βάζεις;
Τι περιέχει το αρχείο /etc/gconf/gconf.xml.mandatory/%gconf-tree.xml σου;
Ρίξε μια ματιά και από αυτό το θέμα και παρακάτω: https://alkisg.mysch.gr/steki/index.php?topic=2223.msg17686#msg17686

aren13

Παράθεση από: alkisg στις 09 Δεκ 2009, 10:02:45 ΜΜ
Μα thin clients δεν έχεις; Γιατί να κάνεις ρυθμίσεις σε κάθε σταθμό εργασίας;
Έχεις Ubuntu 9.10 αν θυμάμαι καλά, έτσι; Το user.js σε ποια θέση το βάζεις;
Τι περιέχει το αρχείο /etc/gconf/gconf.xml.mandatory/%gconf-tree.xml σου;
Ρίξε μια ματιά και από αυτό το θέμα και παρακάτω: https://alkisg.mysch.gr/steki/index.php?topic=2223.msg17686#msg17686
Λοιπόν έχω thin clients, ubuntu 9.10, το user.js το βάζω /etc/firefox-3.5/pref/user.js

στο αρχείο user.js τώρα στη γραμμή
lockPref("network.proxy.type", 4);
όταν βάζω 4 ή 5 ο firefox δεν δίνει σύνδεση με διαδίκτυο ούτε στον server και κατ' επέκταση
ούτε στους clients διότι κλειδώνει τις ρυθμίσεις configure Proxies to Access the Internet σε
Auto - detect proxy settings for this network
κάτι που είναι θεμιτό για τους users αλλά όχι για τον server o οποίος θα πρέπει να έχεί HTTP Proxy 127.0.0.1 Port 3128,
τικ στο use this proxy server for all protocols
και No_proxy for : localhost, 127.0.0.1
Θέλω να σημειώσω ότι εκτέλεσα τις δύο εντολές που είχες δώσει για κλείδωμα
και στον gnome κλείδωσαν καλά αλλά στον firefox συμβαίνουν τα παραπάνω

Τέλος το σχολείο μου είναι κλειστό (γριπη γαρ)
και δεν μπορώ να δω το αρχείο
/etc/gconf/gconf.xml.mandatory/%gconf-tree.xml 

αλλα νομίζω ότι στη γραμμή
<stringvalue>manual</stringvalue> έχει auto