Squid proxy. Script για "αυτόματη" εγκατάσταση και ρύθμιση

Ξεκίνησε από apanagio, 29 Οκτ 2010, 01:05:16 ΜΜ

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

apanagio

Επισυνάπτεται:
Script που εγκαθιστά και ρυθμίζει το squid
Ο squid είναι proxy server. Μεσολαβεί στην πρόσβαση των υπολογιστών στο δίκτυο και επιταχύνει τελικά την πρόσβαση σε αυτό. Επίσης μπορεί να λειτουργήσει για να περιορίσετε την πρόσβαση σε κάποια site ή σε κάποιους χρήστες.

Aποσυμπιέστε τα αρχέια και τρέξτε το setup_squid (ανοίξτε κονσόλα, πηγάινετε στο φάκελο που βρίσκονται τα αρχεία και δώστε sudo ./setup_squid)

Αν για κάποιο λόγο το αρχείο setup_squid δεν είναι εκτελέσιμο κάντε το:
sudo chmod +x setup_squid

Οι clients του proxy server που μόλις εγκαταστήσατε μπορεί να έχουν οποιοδήποτε λειτουργικό.
Για να ρυθμίσετε τον browser ή το σύστημα σας να χρησιμοποιεί τον proxy δώστε στις ρυθμίσεις proxy την ip του υπολογιστή σας και για port 3128
Για να ρυθμίσετε με βάση το username την πρόσβαση στο δίκτυο πρέπει να εγκαταστήσετε στους clients το πακέτο ident2

Η ρύθμιση που υλοποιείται περιέχει 3 λίστες:
1) /etc/squid3/whitelist_users.acl Χρήστες με απεριόριστη πρόσβαση στο δίκτυο
2) /etc/squid3/banned_users.acl Χρήστες χωρίς δικάιωμα πρόσβασης στο δίκτυο
3) /etc/squid3/banned_domains.acl Sites που απαγορευόνται για τους χρήστες εκτός whitelist

Τις λίστες αυτές μπορείτε (και μάλλον πρέπει) να τις αλλάξετε για να υλοποιήσετε την πολιτική που θέλετε.

Επίσης υπάρχουν και προσαρμοσμένες σελίδες που θα εμφανίζονται στους χρήστες όταν πάνε σε μία τοποθεσία που δεν έχουν πρόσβαση.
1) /usr/share/squid3/errors/el/ERR_SCH-SCRIPTS_BANNED_DOMAINS
2) /usr/share/squid3/errors/el/ERR_SCH-SCRIPTS_BANNED_USERS

Τις σελίδες αυτές μπορείτε να τις αλλάξετε ώστε να ανταποκρίνονται στη φιλοσοφία και την αισθητική σας.

Αν αλλάξετε υποδίκτυο ξανατρέξτε το script. Οι λίστες και οι σελίδες λάθους που δημιουργήσατε δεν θα χαθούν. Αν κάνατε περαιτέρω παραμετροποίηση του /etc/squid3/squid.conf αυτή θα χαθεί. Αλλά σε αυτήν την περίπτωση μάλλον δεν χρειάζεστε το script.

Τις οδηγίες για τη ρύθμιση του squid τις πήρα απο τον markakis και τον ευχαριστώ

odysseas

Ευχαριστούμε. Να υποθέσω ότι κι αυτό το script τελικά θα ενσωματωθεί στα sch-scripts;

apanagio

Για αρχή όποιος/όποια το χρησιμοποιεί ας αναφέρει τα αποτελέσματα

Μένει ακόμα και ένα script για να τρέχει στους πελάτες (αυτό είναι σχετικά απλό).
Και βέβαια χρειάζεται και δουλειά στο γραφικό περιβάλλον.

apapakL

Σε περίπτωση που ο ltsp server αλλάζει ip, για παράδειγμα όταν κάποιος συνάδελφος είναι σε 2+ σχολεία και έχει τον server στο προσωπικό του laptop όπως εγώ, είναι βολικό οι clients να συνδέονται στον squid όχι με την ip δ/νση του ltsp server αλλά με ένα σταθερό όνομα. Στο κώδικα του ltsp, για να συνεννοείται ο ltsp server με τους clients, είναι hardcoded το όνομα server. Αν το όνομα του ltsp server είναι το ενσωματωμένο στον κώδικα του LTSP, δηλαδή 'server' (προσοχή είναι case sensitive), τότε μπορούμε στο σημείο όπου δηλώνουμε το διακομιστή μεσολάβησης (Σύστημα/Προτιμήσεις/Διακομιστής δικτύου) αντί για την ip να βάλουμε 'server'. Το ίδιο πρέπει να γίνει και στον εικονικό δίσκο των fat clients.

Στη δικιά μου περίπτωση (το όνομα του laptop μου δεν είναι 'server') στις ρυθμίσεις του διακομιστή μεσολάβησης έβαλα, το όνομα του laptop, αφού κάθε φορά που άλλαζα σχολικό εργαστήριο άλλαζα και ip. Οι thin clients συνδέονταν στο web μεσω squid (αφού "τρέχουν" εντώς ltsp server) οι fat όμως όχι. Δοκίμασα το localhost αλλα πάλι τα ίδια. Οι thin ok αλλά οι fat όχι.

Μετά από μια βόλτα στο irc, ο mister alkisg μου γνωστοποίησε το "μαγικό" όνομα 'server' που "ξέρουν" οι fat και οι thin ούτως ή άλλως. Αυτό το όνομα το βάζουν στο /etc/hosts οι clients μόλις ξεκινήσουν. Και πάλι ευχαριστώ alkisg!!!

Οπότε άφησα στις γενικές ρυθμίσεις του διακομιστή δικτύου το localhost και άλλαξα (μέσω των sch-scripts: Εξυπηρετητής-Εικονικός δίσκος-Άνοιγμα κονσόλας) το διακομιστή δικτύου του εικονικού δίσκου σε 'server'. Και όλα λειτουργούν άψογα!

Θα μπορούσα απλά να δηλώνω την εκάστοτε ip και να μην είχα πρόβλημα αλλά, για τους fat χρειάζεται κάθε φορά εκ νέου συμπίεση εικονικού δίσκου...

Το πιο εύκολο: αλλαγή το όνομα του laptop σε 'server' και ξεμπέρδεμα εύκολα και γρήγορα δηλώνοντας τό στο διακομιστή δικτύου του ltsp server (για τους thin) και στον εικονικό δίσκο (για τους fat).

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

Τι σημαίνει το μήνυμα λάθους:

2010/11/19 11:06:34| aclParseIpData: WARNING: Netmask masks away part of the specified IP in '10.x.y.10/24'

Εννοείται ότι άλλαξα τη διεύθυνση IP του server παραπάνω για ευνόητους λόγους...
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

apanagio

Δεν είναι μήνυμα λάθους (error), είναι μήνυμα προειδοποίησης (warning) και δεν επηρεάζει τη λειτουργία του squid.

Αυτό που συμβαίνει είναι το εξής:
Στο αρχέιο /etc/squid3/squid.conf δηλώνουμε ποιες ip διευθύνσεις ανήκουν στο υποδίκτυό μας.
αυτό το κάνουμε με τη γραμμή: acl schoolnet src 10.x.y.10/24

Αυτό που λέει αυτή η γραμμή είναι ότι όλες οι ip που έχουν τα τρία πρώτα "ψηφία" ίδια ανήκουν στο υποδίκτυό μας. Δηλαδή του λές να αγνοεί το τέταρτο ψηφίο. Συνήθως όταν λέμε να αγνοεί κάποιο ψηφίο το βάζουμε και 0 χωρίς όμως αυτό να είναι υποχρεωτικό.
Στην περίπτωσή μας για να αποφύγουμε το warning θα βάζαμε 10.x.y.0/24

To squid λοιπόν λέει: το τέταρτο ψηφίο το αγνοείς αλλά δεν έιναι 0, σίγουρα θες να το αγνοήσεις;

Για περισσότερες πληροφορίες για τις μάσκες δικτύου:
http://en.wikipedia.org/wiki/Subnetwork

bobptz

Θέλω να μπλοκάρω το facebook, youtube κτλ στο εργαστήριο.  Η μέθοδος που περιγράφεται στο αρχικό post, ισχύει?  Υπάρχει κάτι καλύτερο?

apapakL

#7
Συνάδελφε περιγράφεται εδώ ένας τρόπος. Οι οδηγίες δουλεύουν για firefox αλλά όχι για chome/chromium...

update 14/02/2013

.... με κάποιες έξτρα οδηγίες που προστέθηκαν τώρα ισχύουν και για chrome/chromium

bobptz

apapakL

Ευχαριστώ!

Θα το δοκιμάσω τη Δευτέρα μόλις πάω στο εργαστήριο.

elvor

Προσπαθώ να κατεβάσω το αρχείο αλλά στην αποσυμπίεση βγάζει σφάλμα.

apapakL

Ναι έχεις δίκιο... Στο καιρό της 10.04 το είχα χρησιμοποιήσει και δεν είχε πρόβλημα... Βέβαια είχε φτιαχτεί για τη 10.04 και δε γνωρίζω αν θα λειτουργούσε και στη 12.04... Ωστόσο υπάρχει μια χειροκίνητη μέθοδος εδώ εγκατάστασης του squid στη 12.04 καθώς και οδηγίες ώστε να μη μπορούν οι χρήστες να αλλάξουν τις ρυθμίσεις proxy κλειδώνοντας τις σχετικές δυνατότητες στους browsers και στο σύστημα...