Squid - διαμορφώστε το φιλτράρισμα URL κατά λίστες. IE8 και Proxies - Θέματα ελέγχου ταυτότητας Επισκόπηση Squid

Το Squid είναι μια κοινή λύση για προγραμματιστές, διαχειριστές συστημάτων και λάτρεις των δικτύων υπολογιστών για τη δημιουργία και τη διαχείριση ενός αποτελεσματικού διακομιστή μεσολάβησης. Το πρόγραμμα είναι ιδιαίτερα ελκυστικό επειδή είναι cross-platform. Δηλαδή, μπορείτε να το εγκαταστήσετε και να το εκτελέσετε τόσο σε Linux και σε άλλα λειτουργικά συστήματα που αντιστοιχούν στην αρχιτεκτονική Unix, όσο και σε Windows. Οι δυνατότητες αυτού του εργαλείου είναι οι πιο εξαιρετικές. Πώς μπορούν να χρησιμοποιηθούν; Υπάρχουν ιδιαιτερότητες στη ρύθμιση του προγράμματος ανάλογα με το συγκεκριμένο ΛΣ;

Γενικές πληροφορίες για το Squid

Τι είναι το Squid; Ένας ιδιαίτερα αποτελεσματικός διακομιστής μεσολάβησης είναι γνωστός με αυτό το όνομα, το οποίο χρησιμοποιείται συχνότερα με προγράμματα-πελάτες ιστού. Με τη βοήθειά του, μπορείτε να οργανώσετε την ταυτόχρονη πρόσβαση στο Διαδίκτυο για πολλούς χρήστες. Ένα άλλο αξιοσημείωτο χαρακτηριστικό του Squid είναι ότι μπορεί να αποθηκεύσει μια ποικιλία αιτημάτων. Αυτό σας επιτρέπει να επιταχύνετε τη λήψη των αρχείων, καθώς δεν χρειάζεται να τα κατεβάσετε ξανά από το Διαδίκτυο. Το Squid Proxy μπορεί επίσης να προσαρμόσει την ταχύτητα της σύνδεσης στο Διαδίκτυο σε σχέση με το πραγματικό φορτίο.

Το Squid είναι προσαρμοσμένο για χρήση σε πλατφόρμες Unix. Ωστόσο, υπάρχουν εκδόσεις του Squid για Windows και πολλών άλλων δημοφιλών λειτουργικών συστημάτων. Αυτό το πρόγραμμα, όπως πολλά λειτουργικά συστήματα που βασίζονται στην ιδέα του Unix, είναι δωρεάν. Υποστηρίζει FTP, SSL, σας επιτρέπει να ρυθμίσετε τον ευέλικτο έλεγχο της πρόσβασης στα αρχεία. Το Squid γράφει επίσης ερωτήματα DNS στην κρυφή μνήμη. Ταυτόχρονα, μπορείτε να διαμορφώσετε έναν διαφανή διακομιστή μεσολάβησης Squid, δηλαδή ο διακομιστής να λειτουργεί σε μορφή όταν ο χρήστης δεν γνωρίζει ότι έχει πρόσβαση στο Web μέσω αυτού και όχι απευθείας. Έτσι, το Squid είναι ένα ισχυρό εργαλείο στα χέρια ενός διαχειριστή συστήματος ή ενός παρόχου υπηρεσιών επικοινωνιών.

Πρακτική χρησιμότητα του Squid

Πότε μπορεί το Squid να είναι πιο χρήσιμο; Για παράδειγμα, μπορεί να είναι μια εργασία στην οποία είναι απαραίτητο να ενσωματωθούν αποτελεσματικά πολλοί υπολογιστές σε ένα δίκτυο και να τους παρέχεται πρόσβαση στο Διαδίκτυο. Η σκοπιμότητα χρήσης ενός διακομιστή μεσολάβησης σε αυτήν την περίπτωση έγκειται στο γεγονός ότι τα αιτήματα μεταξύ αυτού και του προγράμματος περιήγησης ενός συγκεκριμένου υπολογιστή εκτελούνται ταχύτερα από ό,τι στην περίπτωση ενός χρήστη που αλληλεπιδρά απευθείας με το Διαδίκτυο. Επίσης, όταν χρησιμοποιείτε το Squid, η προσωρινή μνήμη στο ίδιο το πρόγραμμα περιήγησης μπορεί να απενεργοποιηθεί εντελώς. Αυτή η λειτουργία έχει μεγάλη ζήτηση μεταξύ των χρηστών.

Squid Roster

Η εν λόγω λύση έχει πολλά στοιχεία. Στην πραγματικότητα, πρόκειται για ένα πακέτο λογισμικού. Η δομή του περιέχει μια εφαρμογή με την οποία ξεκινά ο διακομιστής, καθώς και ένα συμπληρωματικό πρόγραμμα για εργασία με DNS. Ένα ενδιαφέρον χαρακτηριστικό του είναι ότι εκκινεί διαδικασίες, καθεμία από τις οποίες λειτουργεί ανεξάρτητα από τις άλλες. Αυτό σας επιτρέπει να βελτιστοποιήσετε την αλληλεπίδραση του διακομιστή με το DNS.

Εγκατάσταση προγράμματος

Η εγκατάσταση του Squid είναι συνήθως απλή. Είναι πολύ εύκολο να εγκαταστήσετε το πρόγραμμα σε Linux: απλώς εισάγετε την εντολή $ sudo apt-get install squid.

Το Squid για Windows είναι λίγο πιο περίπλοκο. Το γεγονός είναι ότι αυτό το πρόγραμμα δεν έχει εκτελέσιμα αρχεία - τα κύρια στοιχεία των εφαρμογών για το λειτουργικό σύστημα από τη Microsoft.

Ωστόσο, η εγκατάσταση του Squid στα Windows είναι μια πολύ γρήγορη εργασία. Είναι απαραίτητο να βρείτε ένα κιτ διανομής που περιέχει αρχεία τύπου .bat, τα οποία είναι κάπως κοντά στο παραδοσιακό εκτελέσιμο αρχείο των Windows, στους πόρους που σχετίζονται με αυτό ή στους πόρους. Μετά από αυτό, θα πρέπει να τα αντιγράψετε σε ξεχωριστό φάκελο στο δίσκο. Στη συνέχεια, πρέπει να ξεκινήσετε το Squid ως υπηρεσία συστήματος. Μετά από αυτό, το πρόγραμμα μπορεί να χρησιμοποιηθεί ως διακομιστής μεσολάβησης μέσω ενός προγράμματος περιήγησης υπολογιστή. Μπορούμε να πούμε ότι αυτό ολοκληρώνει την εγκατάσταση του Squid.

Το κιτ διανομής του διακομιστή μεσολάβησης περιέχει σχεδόν πάντα ένα αρχείο διαμόρφωσης όπως .conf. Είναι το κύριο εργαλείο για τη διαμόρφωση της πρόσβασης στο Διαδίκτυο από τον υπολογιστή ενός χρήστη και άλλες συσκευές που είναι συνδεδεμένες σε τοπικό δίκτυο κατά τη χρήση του Squid.

Ρύθμιση αποχρώσεων

Ποιες είναι οι αποχρώσεις της ρύθμισης του Squid; Τα Windows είναι ένα λειτουργικό σύστημα στο οποίο η εργασία με έναν διακομιστή μεσολάβησης θα πραγματοποιείται με επεξεργασία αρχείων διαμόρφωσης.

Στην περίπτωση του Linux, μπορεί να χρησιμοποιηθεί για ορισμένες διαδικασίες. Αλλά γενικά, σε αυτό το λειτουργικό σύστημα, καθώς και στην περίπτωση που το λειτουργικό σύστημα στο οποίο έχει ρυθμιστεί το Squid είναι Windows, το αρχείο squid.conf χρησιμοποιείται συχνότερα. Προδιαγράφει ορισμένες εκφράσεις ("εντολές") σύμφωνα με τις οποίες ο διακομιστής διαχειρίζεται τις συνδέσεις στο δίκτυο.

Ας ρίξουμε μια πιο προσεκτική ματιά στον τρόπο διαμόρφωσης του Squid. Το πρώτο βήμα είναι να επιτραπεί στους χρήστες του δικτύου να έχουν πρόσβαση στον διακομιστή. Για να το κάνετε αυτό, ορίστε τις κατάλληλες τιμές στο αρχείο squid.conf στο http_port, καθώς και στο http_access. Είναι επίσης χρήσιμο να δημιουργήσετε μια λίστα ελέγχου πρόσβασης ή ACL. Οι ρυθμίσεις http_port είναι σημαντικές για εμάς, αφού το καθήκον μας είναι να προετοιμάσουμε το Squid μόνο για να εξυπηρετήσουμε μια συγκεκριμένη ομάδα υπολογιστών. Με τη σειρά του, μια παράμετρος όπως http_access είναι σημαντική, καθώς με αυτήν θα μπορούμε να ρυθμίζουμε την πρόσβαση σε συγκεκριμένους πόρους Δικτύου που ζητούνται από συγκεκριμένες διευθύνσεις (είναι επίσης δυνατά και άλλα κριτήρια - πρωτόκολλα, θύρες και άλλες ιδιότητες που περιέχονται στο ACL).

Πώς να ορίσετε τις απαραίτητες ρυθμίσεις; Αυτό είναι πολύ εύκολο να γίνει.

Ας υποθέσουμε ότι δημιουργήσαμε ένα δίκτυο υπολογιστών με εύρος διευθύνσεων που ξεκινά από 192.168.0.1 και τελειώνει με 192.168.0.254. Σε αυτήν την περίπτωση, θα πρέπει να οριστεί η ακόλουθη παράμετρος στις ρυθμίσεις ACL: src 192.168.0.0/24. Εάν πρέπει να διαμορφώσουμε τη θύρα, τότε στο αρχείο διαμόρφωσης πρέπει να κάνουμε μια καταχώρηση http_port 192.168.0.1 (απλώς καθορίστε τη σωστή διεύθυνση IP) και εισάγετε τον αριθμό θύρας.

Για να περιορίσετε την πρόσβαση στον διακομιστή μεσολάβησης που δημιουργήθηκε χρησιμοποιώντας το Squid (χωρίς να υπολογίζονται οι υπολογιστές στο τοπικό δίκτυο), πρέπει να αλλάξετε το http_access. Αυτό γίνεται απλά - χρησιμοποιώντας εκφράσεις ("εντολές" - ας συμφωνήσουμε να τις ονομάσουμε ότι, αν και, αυστηρά μιλώντας, δεν είναι τέτοιες στο κείμενο, αλλά στη γραμμή τερματικού θα αντιστοιχούσαν αρκετά σε αυτές) επιτρέπουν στο LocalNet και αρνούνται όλα. Είναι πολύ σημαντικό να τοποθετήσετε την πρώτη παράμετρο πάνω από τη δεύτερη, καθώς το Squid τις αναγνωρίζει μία κάθε φορά.

Εργασία με ACL: Άρνηση πρόσβασης σε ιστότοπους

Στην πραγματικότητα, οι ρυθμίσεις πρόσβασης είναι δυνατές στο Squid σε πολύ μεγάλο εύρος. Ας εξετάσουμε παραδείγματα που είναι χρήσιμα στην πρακτική διαχείρισης τοπικών δικτύων.

Το στοιχείο src είναι αρκετά περιζήτητο. Με τη βοήθειά του, μπορείτε να διορθώσετε τη διεύθυνση IP του υπολογιστή που έκανε το αίτημα στον διακομιστή μεσολάβησης. Συνδυάζοντας το στοιχείο src με το http_access, μπορείτε, για παράδειγμα, να επιτρέψετε σε έναν συγκεκριμένο χρήστη να έχει πρόσβαση στο δίκτυο, αλλά να αρνηθείτε τις ίδιες ενέργειες για όλους τους άλλους. Αυτό είναι πολύ εύκολο να γίνει.

Γράφουμε ACL (όνομα ομάδας χρηστών) src (εύρος διευθύνσεων IP που υπόκεινται σε ρύθμιση). Η παρακάτω γραμμή είναι ACL (όνομα συγκεκριμένου υπολογιστή) src (διεύθυνση IP του αντίστοιχου υπολογιστή). Μετά από αυτό, εργαζόμαστε με http_access. Ορίσαμε την άδεια εισόδου στο δίκτυο για μια ομάδα χρηστών και έναν μεμονωμένο υπολογιστή χρησιμοποιώντας τις εντολές http_access allow. Στην παρακάτω γραμμή, διορθώνουμε ότι η πρόσβαση στους υπόλοιπους υπολογιστές του δικτύου κλείνει με την εντολή άρνησης όλων.

Η διαμόρφωση του διακομιστή μεσολάβησης Squid περιλαμβάνει επίσης τη χρήση ενός άλλου χρήσιμου στοιχείου που παρέχεται από το σύστημα ελέγχου πρόσβασης - dst. Σας επιτρέπει να διορθώσετε τη διεύθυνση IP του διακομιστή στον οποίο θέλει να συνδεθεί ο χρήστης μεσολάβησης.

Με τη βοήθεια του εν λόγω στοιχείου, μπορούμε, για παράδειγμα, να περιορίσουμε την πρόσβαση σε ένα συγκεκριμένο υποδίκτυο. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε την εντολή ACL (ονομασία δικτύου) dst (διεύθυνση IP υποδικτύου), μια γραμμή παρακάτω - http_access deny (όνομα συγκεκριμένου υπολογιστή στο δίκτυο).

Ένα άλλο χρήσιμο στοιχείο είναι το dstdomain. Θα μας επιτρέψει να διορθώσουμε τον τομέα στον οποίο θέλει να συνδεθεί ο χρήστης. Χρησιμοποιώντας το εν λόγω στοιχείο, μπορούμε να περιορίσουμε την πρόσβαση ενός συγκεκριμένου χρήστη, για παράδειγμα, σε εξωτερικούς πόρους του Διαδικτύου. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε την εντολή: ACL (ομάδα τοποθεσιών) dstdomain (διευθύνσεις τοποθεσιών), μία γραμμή παρακάτω - http_access deny (όνομα υπολογιστή στο δίκτυο).

Υπάρχουν και άλλα αξιοσημείωτα στοιχεία στη δομή ενός συστήματος ελέγχου πρόσβασης. Μεταξύ αυτών - SitesRegex. Χρησιμοποιώντας αυτήν την έκφραση, μπορείτε να περιορίσετε την πρόσβαση των χρηστών σε τομείς Διαδικτύου που περιέχουν μια συγκεκριμένη λέξη, για παράδειγμα, αλληλογραφία (εάν η αποστολή είναι να αποτρέψετε την πρόσβαση των υπαλλήλων της εταιρείας σε διακομιστές αλληλογραφίας τρίτων). Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε την εντολή SitesRegexMail dstdom_regex mail ACL και, στη συνέχεια, την εντολή SitesRegexComNet ACL dstdom_regex \ .com $ (αυτό σημαίνει ότι η πρόσβαση θα κλείσει για τον αντίστοιχο τύπο τομέα). Η παρακάτω γραμμή είναι http_accesss deny που υποδεικνύει τους υπολογιστές από τους οποίους δεν είναι επιθυμητή η πρόσβαση σε εξωτερικούς διακομιστές αλληλογραφίας.

Ορισμένες εκφράσεις μπορούν να χρησιμοποιήσουν τον διακόπτη -i. Με τη βοήθειά του, καθώς και με ένα στοιχείο όπως, για παράδειγμα, το url_regex, που έχει σχεδιαστεί για τη δημιουργία ενός προτύπου για διευθύνσεις ιστού, μπορούμε να αρνηθούμε την πρόσβαση σε αρχεία με μια δεδομένη επέκταση.

Για παράδειγμα, χρησιμοποιώντας την εντολή ACL NoSwfFromMail url_regex -i mail * \. Swf $, ελέγχουμε τη δυνατότητα πρόσβασης σε ιστότοπους αλληλογραφίας που περιέχουν ταινίες Flash. Εάν δεν χρειάζεται να συμπεριλάβετε το όνομα τομέα του ιστότοπου στους αλγόριθμους πρόσβασης, τότε μπορείτε να χρησιμοποιήσετε την έκφραση urlpath_regex. Για παράδειγμα, ως εντολή ACL urlpath_regex -i \ .wma $ \ .mp3 $.

Άρνηση πρόσβασης σε προγράμματα

Η ρύθμιση παραμέτρων του Squid σάς επιτρέπει να αρνηθείτε την πρόσβαση του χρήστη σε ορισμένα προγράμματα όταν χρησιμοποιείτε τους πόρους του διακομιστή μεσολάβησης. Για το σκοπό αυτό, μπορεί να χρησιμοποιηθεί η εντολή ACL (όνομα προγράμματος) port (port interval), μια γραμμή παρακάτω - http_access deny all (όνομα προγράμματος).

Συμμετοχή προτύπων και πρωτοκόλλων

Η ρύθμιση παραμέτρων του Squid επιτρέπει επίσης στον διαχειριστή του συστήματος να ορίσει το προτιμώμενο πρωτόκολλο για τη χρήση του καναλιού Διαδικτύου. Για παράδειγμα, εάν χρειάζεται ένα άτομο από έναν συγκεκριμένο υπολογιστή να έχει πρόσβαση στο δίκτυο μέσω FTP, τότε μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή: ACL ftpproto proto ftp, μία γραμμή παρακάτω - http_access deny (όνομα υπολογιστή) ftpproto.

Χρησιμοποιώντας το στοιχείο της μεθόδου, μπορούμε να καθορίσουμε πώς πρέπει να γίνεται το αίτημα HTTP. Υπάρχουν 2 από αυτά - GET και POST, αλλά σε ορισμένες περιπτώσεις είναι προτιμότερο το πρώτο, όχι το δεύτερο και το αντίστροφο. Για παράδειγμα, είναι δυνατή μια κατάσταση κατά την οποία ένας συγκεκριμένος υπάλληλος δεν χρειάζεται να δει την αλληλογραφία μέσω του mail.ru, αλλά ο εργοδότης του δεν θα πειράξει εάν ένα άτομο θέλει να διαβάσει ειδήσεις στον καθορισμένο ιστότοπο. Για να το κάνει αυτό, ο διαχειριστής του συστήματος μπορεί να χρησιμοποιήσει την ακόλουθη εντολή: ACL sitemailru dstdomain .mail.ru, μια γραμμή παρακάτω - μέθοδος ACL methodpost POST και, στη συνέχεια - http_access deny (όνομα υπολογιστή) methodpost sitemailru.

Αυτές είναι οι αποχρώσεις που αφορούν τη διαμόρφωση του Squid. Χρησιμοποιείται Ubuntu, Windows ή άλλο λειτουργικό σύστημα συμβατό με διακομιστή μεσολάβησης - οι δυνατότητες ρύθμισης των απαιτούμενων παραμέτρων που έχουμε εξετάσει είναι γενικά χαρακτηριστικά οποιουδήποτε περιβάλλοντος λογισμικού για λειτουργία Squid. Η εργασία με αυτό το λογισμικό είναι μια απίστευτα συναρπαστική διαδικασία και ταυτόχρονα απλή, λόγω της συνέπειας και της διαφάνειας των κύριων αλγορίθμων για τη ρύθμιση του προγράμματος.

Εδώ είναι μερικά από τα βασικά σημεία στη ρύθμιση του Squid.

Τι να προσέξετε κατά τη ρύθμιση;

Εάν δυσκολεύεστε να βρείτε το αρχείο squid.conf, το οποίο είναι το κύριο εργαλείο διαμόρφωσης διακομιστή, μπορείτε να δοκιμάσετε να ελέγξετε τον κατάλογο etc / squid.

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

Σε ορισμένες περιπτώσεις, μπορεί να είναι απαραίτητο να καθοριστεί ο διακομιστής μεσολάβησης του παρόχου κατά τη λειτουργία. Υπάρχει μια εντολή cache_peer για αυτό. Πρέπει να το εισαγάγετε ως εξής: cache_peer (η διεύθυνση του διακομιστή μεσολάβησης του παρόχου).

Σε ορισμένες περιπτώσεις, είναι χρήσιμο να καθορίσετε την ποσότητα μνήμης RAM που θα χρησιμοποιηθεί από το Squid. Αυτό μπορεί να γίνει χρησιμοποιώντας την εντολή cache_mem. Είναι επίσης χρήσιμο να καθορίσετε τον κατάλογο στον οποίο θα αποθηκευτούν τα αποθηκευμένα δεδομένα, αυτό γίνεται χρησιμοποιώντας την έκφραση cache_dir. Στην πρώτη περίπτωση, ολόκληρη η εντολή θα μοιάζει με cache_mem (ποσότητα RAM σε byte), στη δεύτερη - σαν cache_dir (διεύθυνση καταλόγου, αριθμός megabyte χώρου στο δίσκο). Συνιστάται να τοποθετήσετε την κρυφή μνήμη στους δίσκους με την υψηλότερη απόδοση, εάν υπάρχει δυνατότητα επιλογής.

Ίσως χρειαστεί να καθορίσετε τους υπολογιστές που έχουν πρόσβαση στον διακομιστή μεσολάβησης. Αυτό μπορεί να γίνει με χρήση του ACL επιτρεπόμενου κεντρικού υπολογιστή src (εύρος διευθύνσεων IP υπολογιστή) και του localhost src (τοπική διεύθυνση) ACL.

Εάν οι συνδέσεις σας χρησιμοποιούν θύρες SSL, μπορείτε επίσης να τις διορθώσετε χρησιμοποιώντας την εντολή ssl_ports port (προδιαγραφή θύρας) ACL. Ταυτόχρονα, μπορείτε να απενεργοποιήσετε τη χρήση της μεθόδου CONNECT για θύρες διαφορετικές από αυτές που καθορίζονται στην ασφαλή σύνδεση SSL. Η έκφραση http_access deny CONNECT θα σας βοηθήσει να το κάνετε αυτό! SSL_Ports.

Καλαμάρι και pfSense

Σε ορισμένες περιπτώσεις, μαζί με τον εξεταζόμενο διακομιστή μεσολάβησης, χρησιμοποιείται η διεπαφή pfSense, η οποία χρησιμοποιείται ως αποτελεσματική. Πώς να οργανώσετε την κοινή τους εργασία; Ο αλγόριθμος για την επίλυση αυτού του προβλήματος δεν είναι πολύ περίπλοκος.

Πρώτα, πρέπει να δουλέψουμε στη διεπαφή pfSense. Το Squid, το οποίο έχουμε ήδη διαμορφώσει, θα πρέπει να εγκατασταθεί χρησιμοποιώντας εντολές SSH. Αυτός είναι ένας από τους πιο βολικούς και ασφαλείς τρόπους εργασίας με διακομιστές μεσολάβησης. Για να το κάνετε αυτό, πρέπει να ενεργοποιήσετε το στοιχείο Ενεργοποίηση στη διεπαφή. Για να το βρείτε, πρέπει να επιλέξετε το στοιχείο μενού Σύστημα, στη συνέχεια - Για προχωρημένους και μετά - Πρόσβαση διαχειριστή.

Μετά από αυτό, πρέπει να κατεβάσετε το PuTTY - μια εύχρηστη εφαρμογή για εργασία με SSH. Στη συνέχεια, χρησιμοποιώντας την κονσόλα, πρέπει να εγκαταστήσετε το Squid. Αυτό γίνεται εύκολα με την εντολή -pkg install squid. Μετά από αυτό, πρέπει επίσης να εγκαταστήσετε τον διακομιστή μεσολάβησης μέσω της διεπαφής web pfSense. Το Squid (οι παράμετροί του δεν έχουν ρυθμιστεί σε αυτό το στάδιο) μπορεί να εγκατασταθεί επιλέγοντας το στοιχείο μενού Σύστημα και, στη συνέχεια, Πακέτα, μετά - Διαθέσιμα πακέτα. Το πακέτο Squid Stable θα πρέπει να είναι διαθέσιμο στο κατάλληλο παράθυρο. Το επιλέγουμε. Πρέπει να οριστούν οι ακόλουθες ρυθμίσεις: Διασύνδεση διακομιστή μεσολάβησης: LAN. Μπορείτε να επιλέξετε το πλαίσιο απέναντι από τη γραμμή Διαφανής διακομιστής μεσολάβησης. Επιλέγουμε τη διεύθυνση για το αρχείο καταγραφής και επισημαίνουμε τη ρωσική γλώσσα ως προτιμώμενη. Κάντε κλικ στην Αποθήκευση.

Εργαλείο βελτιστοποίησης πόρων

Η ρύθμιση παραμέτρων του Squid επιτρέπει στους διαχειριστές συστήματος να κατανέμουν αποτελεσματικά τους πόρους του διακομιστή. Δηλαδή, σε αυτήν την περίπτωση, δεν μιλάμε για απαγορεύσεις πρόσβασης σε οποιονδήποτε ιστότοπο, ωστόσο, η ένταση της χρήσης του καναλιού από έναν ή τον άλλο χρήστη ή την ομάδα τους μπορεί να απαιτεί έλεγχο. Το υπό εξέταση πρόγραμμα σάς επιτρέπει να λύσετε αυτό το πρόβλημα με διάφορους τρόπους. Πρώτον, αυτή είναι η χρήση μηχανισμών προσωρινής αποθήκευσης: λόγω αυτού, δεν θα απαιτείται εκ νέου λήψη αρχείων από το Διαδίκτυο, καθώς το φορτίο στην κυκλοφορία θα μειωθεί. Δεύτερον, είναι ο χρονικός περιορισμός της πρόσβασης στο δίκτυο. Τρίτον, πρόκειται για τον καθορισμό οριακών τιμών για την ταχύτητα ανταλλαγής δεδομένων στο δίκτυο σε σχέση με τις ενέργειες ορισμένων χρηστών ή συγκεκριμένων τύπων ληφθέντων αρχείων. Ας εξετάσουμε αυτούς τους μηχανισμούς με περισσότερες λεπτομέρειες.

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

Στη δομή της κυκλοφορίας δικτύου, υπάρχουν πολλοί τύποι αρχείων που χρησιμοποιούνται αμετάβλητα. Δηλαδή, αφού τα κατεβάσει σε υπολογιστή, ο χρήστης μπορεί να μην επαναλάβει την αντίστοιχη λειτουργία. Το Squid επιτρέπει ευέλικτη διαμόρφωση του τρόπου με τον οποίο ο διακομιστής αναγνωρίζει τέτοια αρχεία.

Μια αρκετά χρήσιμη επιλογή για τον διακομιστή μεσολάβησης που εξετάζουμε είναι ο έλεγχος της ηλικίας του αρχείου στην κρυφή μνήμη. Τα αντικείμενα που βρίσκονται στην αντίστοιχη περιοχή μνήμης για μεγάλο χρονικό διάστημα θα πρέπει να ενημερώνονται. Η ενεργοποίηση αυτής της επιλογής είναι δυνατή χρησιμοποιώντας την εντολή refresh_pattern. Έτσι, ολόκληρη η έκφραση μπορεί να μοιάζει με refresh_pattern (ελάχιστη διάρκεια χρόνου - σε λεπτά, μέγιστο μερίδιο "φρέσκων" αρχείων - σε%, μέγιστη περίοδος). Αντίστοιχα, εάν ένα αρχείο βρίσκεται στην κρυφή μνήμη για περισσότερο από τα καθορισμένα κριτήρια, τότε μπορεί να χρειαστεί να κάνετε λήψη μιας νέας έκδοσής του.

Βελτιστοποίηση πόρων μέσω χρονικών περιορισμών

Μια άλλη επιλογή που μπορεί να χρησιμοποιηθεί χάρη στις δυνατότητες του Squid-Proxy είναι ο περιορισμός της πρόσβασης των χρηστών στους πόρους του δικτύου με το χρόνο. Ρυθμίζεται χρησιμοποιώντας μια πολύ απλή εντολή: ACL (όνομα υπολογιστή) ώρα (ημέρα, ώρα, λεπτό). Η πρόσβαση μπορεί να περιοριστεί για οποιαδήποτε ημέρα της εβδομάδας αντικαθιστώντας το "day" το πρώτο γράμμα της λέξης που αντιστοιχεί στο όνομά της στο αγγλικό αλφάβητο. Για παράδειγμα, αν είναι Δευτέρα - τότε Μ, αν Τρίτη, τότε Τ. Εάν η εντολή δεν περιέχει τη λέξη "ημέρα", τότε θα οριστεί η αντίστοιχη απαγόρευση για ολόκληρη την εβδομάδα. Είναι ενδιαφέρον ότι είναι επίσης δυνατή η προσαρμογή του προγράμματος σύνδεσης δικτύου που εκτελείται από τους χρήστες με τη βοήθεια ορισμένων προγραμμάτων.

Βελτιστοποίηση πόρων μέσω περιορισμού ποσοστού

Μια αρκετά κοινή επιλογή είναι η βελτιστοποίηση πόρων μέσω της ρύθμισης της επιτρεπόμενης τιμής ανταλλαγής δεδομένων σε ένα δίκτυο υπολογιστών. Ο διακομιστής μεσολάβησης που μελετάμε είναι το πιο βολικό εργαλείο για την επίλυση αυτού του προβλήματος. Η ρύθμιση της ταχύτητας ανταλλαγής δεδομένων στο δίκτυο πραγματοποιείται με τη χρήση παραμέτρων όπως delay_class, delay_parameters, delay_access, καθώς και μέσω του στοιχείου delay_pools. Και τα τέσσερα στοιχεία έχουν μεγάλη σημασία για την επίλυση των προβλημάτων που αντιμετωπίζουν οι διαχειριστές συστημάτων όσον αφορά τη βελτιστοποίηση των πόρων του τοπικού δικτύου.

Πολλοί διαχειριστές συστημάτων αντιμετωπίζουν το ζήτημα του περιορισμού της πρόσβασης των χρηστών σε ορισμένους πόρους του Διαδικτύου. Στις περισσότερες περιπτώσεις, δεν είναι απαραίτητο το φιλτράρισμα περιεχομένου με ένταση πόρων και πολύπλοκο, επαρκούν οι λίστες URL. Είναι πολύ πιθανό να εφαρμοστεί μια τέτοια μέθοδος χρησιμοποιώντας τον διακομιστή μεσολάβησης squid χωρίς τη συμμετοχή λογισμικού τρίτων.

Η μέθοδος των "μαύρων" και "λευκών" λιστών είναι ιδανική για τον περιορισμό της πρόσβασης σε πόρους, οι διευθύνσεις των οποίων είναι γνωστές εκ των προτέρων, αλλά για κάποιο λόγο είναι ανεπιθύμητες, όπως τα κοινωνικά δίκτυα. Σε σύγκριση με το φιλτράρισμα περιεχομένου, αυτή η μέθοδος έχει πολλά μειονεκτήματα, αλλά από την άλλη, είναι πολύ πιο εύκολη στην εφαρμογή της και απαιτεί πολύ λιγότερους υπολογιστικούς πόρους.

Η αποτελεσματικότητα αυτής της μεθόδου θα πρέπει να ληφθεί υπόψη από την άποψη της εργασίας που εκτελείται, επομένως εάν θέλετε να αποκλείσετε τα κοινωνικά δίκτυα για τους υπαλλήλους και έναν αριθμό πόρων ψυχαγωγίας στους οποίους ξοδεύουν τον περισσότερο χρόνο, τότε το φιλτράρισμα κατά λίστες διευθύνσεων URL μπορεί να λύσε αυτό το πρόβλημα. Ταυτόχρονα, ένα τέτοιο φιλτράρισμα θα είναι αναποτελεσματικό εάν χρειαστεί να περιορίσετε την πρόσβαση σε οποιουσδήποτε πόρους συγκεκριμένου περιεχομένου.

Στη συνέχεια, θα υποθέσουμε ότι ο αναγνώστης έχει βασικές δεξιότητες διαχείρισης Linux. Επίσης, να θυμάστε ότι όλες οι παρακάτω εντολές θα πρέπει να εκτελούνται ως root.

Πρώτα απ 'όλα, ας δημιουργήσουμε ένα αρχείο λίστας. Μπορεί να βρίσκεται οπουδήποτε, αλλά θα ήταν λογικό να το τοποθετήσετε στον κατάλογο διαμόρφωσης καλαμάρι - / etc / καλαμάρι/ etc / squid3αν χρησιμοποιείτε καλαμάρι3)

Αγγίξτε / etc / καλαμάρι / μαύρη λίστα

και ας αρχίσουμε να το συμπληρώνουμε. Όταν προσδιορίζετε μια διεύθυνση URL, θα πρέπει να χρησιμοποιείτε τη σύνταξη RegExp, δεν θα σταθούμε λεπτομερώς σε αυτό το ζήτημα, καθώς αυτό είναι πέρα ​​από το πεδίο του άρθρου, μπορείτε να διαβάσετε περισσότερα σχετικά με τους κανόνες RegExp. Για παράδειγμα, ας αποκλείσουμε δημοφιλή κοινωνικά δίκτυα:

Vk \ .com
odnoklassniki \ .ru

Λάβετε υπόψη ότι το σημείο στο RegExp είναι σύμβολο υπηρεσίας και επομένως πρέπει να διαφύγει με το σύμβολο \ (πίσω κάθετο).

Στο αρχείο διαμόρφωσης squid ( /etc/squid/squid.conf) δημιουργήστε μια λίστα acl στην οποία συμπεριλαμβάνουμε κεντρικούς υπολογιστές ή χρήστες για τους οποίους θα γίνει φιλτράρισμα.

Acl url_filtred src 10.0.0.100-10.0.0.199

Στην περίπτωσή μας, το φιλτράρισμα είναι ενεργοποιημένο για όλους τους κεντρικούς υπολογιστές στο εύρος διευθύνσεων 10.0.0.100-199, π.χ. θα φιλτράρουμε το διαδίκτυο μόνο για μια συγκεκριμένη ομάδα χρηστών.

Στη συνέχεια συνδέουμε τη λίστα μας:

Acl μαύρη λίστα url_regex -i "/ etc / squid / blacklist"

Ο διακόπτης -i υποδεικνύει ότι η λίστα δεν έχει διάκριση πεζών-κεφαλαίων.

Τώρα ας πάμε στην ενότητα των κανόνων και πριν από τον κανόνα

Το Http_access επιτρέπει το localnet

Http_access άρνηση μαύρης λίστας url_filtred

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

Ας αποθηκεύσουμε τις αλλαγές και ας επανεκκινήσουμε το squid:

Επανεκκίνηση του σέρβις καλαμάρι

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

Ο λόγος για τη δημοσίευση αυτού του άρθρου είναι ο εξής: πολύ συχνά στα φόρουμ βλέπω πώς οι TC δίνουν παραδείγματα των ρυθμίσεων τους με ένα τερατώδες χάος acl και http_access οδηγίες, ειδικά σε θέματα που εξετάζουν προβλήματα πρόσβασης σε καλαμάρι... Κατά τη ρύθμιση οποιουδήποτε συστήματος, προσπαθώ να τηρήσω κάποια λογική σειρά. Σήμερα θα προσπαθήσω να σας μεταφέρω τι παραγγείλετε http_accessεμμένω.

Η κύρια ιδέα είναι η φράση που προέρχεται από το εγχειρίδιο http_access Squid:

Εάν καμία από τις γραμμές "πρόσβασης" δεν προκαλεί αντιστοίχιση, η προεπιλογή είναι το αντίθετο από την τελευταία γραμμή στη λίστα. Εάν η τελευταία γραμμή απορρίφθηκε, η προεπιλογή είναι να επιτρέπεται. Αντίθετα, εάν επιτρέπεται η τελευταία γραμμή, η προεπιλογή θα απορριφθεί. Για αυτούς τους λόγους, είναι καλή ιδέα να έχετε μια καταχώρηση "άρνηση όλων" στο τέλος των λιστών πρόσβασής σας για να αποφύγετε πιθανή σύγχυση.

Κυριολεκτικά το εξής:

Εάν δεν βρεθεί ο κανόνας "πρόσβασης", τότε από προεπιλογή θα εφαρμοστεί ο κανόνας που είναι αντίθετος από τον τελευταίο στη λίστα. Εάν ο τελευταίος κανόνας απορριφθεί, τότε η άδεια θα εφαρμοστεί από προεπιλογή. Αντίθετα, εάν επιτρέπεται η τελευταία γραμμή, η προεπιλογή θα απορριφθεί. Επομένως, είναι καλή ιδέα να έχετε έναν κανόνα "άρνηση όλων" στο τέλος της λίστας κανόνων σας για να αποφύγετε πιθανές παρεξηγήσεις.

Έχω ήδη καλύψει μερικές από τις συμβουλές και τους κανόνες στο άρθρο. Τώρα θα προσπαθήσω να μεταφέρω το όραμά μου παραγγείλετε acl και http_access... Πράγματι, acl οδηγίαεντελώς άσχετο. Το κυριότερο που Το acl ορίστηκαν ΠΡΙΝ τους κανόνες http_access(Δεν βρήκα επιβεβαίωση αυτού στα εγχειρίδια, αλλά είχα κάποια προβλήματα πρόσβασης κατά την τοποθέτηση του acl μετά το http_access). Προσπαθώ να ομαδοποιήσω το acl κατά τον ίδιο τύπο.

Ρύθμιση http_access στο squid

Ακριβώς τη σειρά με την οποία τοποθετούνται οι οδηγίες http_accessκαθορίζεται εάν ο πελάτης θα έχει πρόσβαση στη μνήμη cache ή όχι. Ο αλγόριθμος για την επεξεργασία ενός αιτήματος στην κρυφή μνήμη είναι ο εξής:

  1. Κάθε αίτημα συγκρίνεται διαδοχικά με κάθε γραμμή κανόνων http_access.
  2. Μέχρι το αίτημα να ταιριάζει με έναν από τους κανόνες πρόσβασης ή άρνησης, θα ακολουθεί από κανόνα σε κανόνα και θα ελέγχει τα διαπιστευτήριά του.
    Όλα είναι απλά εδώ. Ας ρίξουμε μια ματιά στους ακόλουθους κανόνες:
  3. Εάν καθορίζονται περισσότερα από ένα acl στο http_access, τότε εφαρμόζεται boolean AND. Παράδειγμα: http_access επιτρέπεται | άρνηση acl ΚΑΙ acl ΚΑΙ ... Ή http_access επιτρέπεται | άρνηση acl ΚΑΙ acl ΚΑΙ ... Ή
  4. Εάν το αίτημα δεν εμπίπτει σε κανέναν κανόνα, τότε από προεπιλογή το squid χρησιμοποιεί τον αντίθετο κανόνα από τον τελευταίο. # έχουμε τον μόνο επιτρεπόμενο κανόνα για κάποιο χρήστη acl: http_access επιτρέπεται ο χρήστης # εάν, κατά την πρόσβαση στο squid, το αίτημα δεν μπήκε σε αυτό το acl, τότε η ενέργεια άρνησης θα εφαρμοστεί σε αυτό. # Και αν έχουμε δύο κανόνες http_access επιτρέπουν στον χρήστη http_access άρνηση χρήστη2 # και το αίτημα δεν περιλαμβάνεται ούτε στον χρήστη acl ούτε στον χρήστη acl2, τότε το δικαίωμα θα ισχύει για αυτό. # Δηλαδή, το αντίθετο της τελευταίας ενέργειας http_access deny user2

Αυτά είναι τα βασικά των βασικών. Αλλά υπάρχουν ορισμένες αποχρώσεις που εντοπίζονται κατά τη λειτουργία.

Συντονισμός http_access)

Γνωρίζουμε ότι υπάρχουν acls που χρησιμοποιούν εξωτερικά. Ή άλλες ενότητες (για παράδειγμα, srcdomainκαι srcdom_regexπου απαιτεί επίλυση). Κάποιος μπορεί να κάνει ένα λογικό θεωρητικό συμπέρασμα ότι τα δεδομένα acl μπορεί να είναι ελαφρώς πιο αργά από τα acl src ή dst ή παρόμοια. Σύμφωνα με το wiki, οι προγραμματιστές χωρίζουν το γρήγορο / αργό acl στις ακόλουθες ομάδες (από το squid 3.1.0.7):

Αντίστοιχα, αν υποδείξουμε τους πρώτους απαγορευτικούς κανόνες, ειδικά αν είναι «γρήγοροι» (για παράδειγμα, τέτοιοι

Http_access deny manager http_access deny!Safe_ports http_access deny CONNECT!SSL_ports

) στη συνέχεια λειτουργούν πολύ γρήγορα, μειώνοντας το φόρτο λόγω του γεγονότος ότι λιγότερα αιτήματα φτάνουν στους κανόνες χρησιμοποιώντας έλεγχο ταυτότητας, αυτά που το χρειάζονται πραγματικά. Επομένως, προσπαθήστε να τοποθετήσετε κανόνες άρνησης http_access χρησιμοποιώντας το acl χωρίς εξωτερικές μονάδες όσο το δυνατόν ψηλότερα και, στη συνέχεια, τοποθετήστε επιτρεπτικούς κανόνες. Λοιπόν, το τελευταίο πράγμα που δεν ξεχνάμε να υποδείξουμε είναι να αρνηθούμε όλα (για να αποφύγουμε πιθανή σύγχυση).

Αντιμετώπιση προβλημάτων acl και http_access

Εάν εξακολουθούν να υπάρχουν ορισμένα προβλήματα κατά τη σύνδεση της οδηγίας http_access και ο επιθυμητός χρήστης δεν έχει πρόσβαση, μπορείτε να δοκιμάσετε να χρησιμοποιήσετε την επιλογή. Παράδειγμα:

Debug_options ALL, 1 33.2

Μετά την επαναδιαμόρφωση του squid, θα αρχίσουν να εμφανίζονται στο cache.log μηνύματα σχετικά με την άδεια / άρνηση πρόσβασης για κάθε συνεδρία και το όνομα του acl, σύμφωνα με το οποίο χορηγείται ή όχι η πρόσβαση. Εάν αυτές οι πληροφορίες δεν είναι αρκετές, τότε μπορείτε να ενεργοποιήσετε περισσότερες λεπτομέρειες:

Debug_options ALL, 1 33.2 28.9

Περίληψη

Αυτό είναι όλο για σήμερα. Σήμερα εξετάσαμε το θέμα της ρύθμισης παραμέτρων acl και http_access. Η λογική για την επεξεργασία των οδηγιών http_access και γνώρισα κάποιες συστάσεις. Ίσως κάποιος από τους αναγνώστες να με διορθώσει, για το οποίο θα είμαι πολύ ευγνώμων. Εκτός από αυτό το άρθρο, σας συνιστώ να εξοικειωθείτε με το http://wiki.squid-cache.org/SquidFaq/SquidAcl.

Με εκτίμηση, Mc.Sim!

Το πρόβλημα είναι το εξής. Στην επιχείρηση AD, πρόσβαση στο Διαδίκτυο μέσω διακομιστή μεσολάβησης, υπάρχει DMZ. Ο διακομιστής μεσολάβησης και η θύρα του καταχωρούνται στις ρυθμίσεις του προγράμματος περιήγησης, στην ενότητα _connections_. Το ISA 2006 χρησιμοποιείται για πρόσβαση στο DMZ (έχω τον πελάτη Isa 2004). Πηγαίνουμε στο Διαδίκτυο μέσω του καλαμαριού.

Μετά την εγκατάσταση των Windows 7 (σε καθαρό μηχάνημα), ο IExplorer το διαμόρφωσε ως συνήθως, κατέγραψε έναν διακομιστή μεσολάβησης και μια θύρα, αλλά ο IExplorer αρνείται να συνδεθεί στο διαδίκτυο (ανάλογα, η δυνατότητα ενεργοποίησης και λήψης ενημερώσεων πέφτει). Κατά την εκκίνηση, ζητούνται όνομα χρήστη και κωδικός πρόσβασης, αλλά στο τέλος λαμβάνω μια σελίδα με το ακόλουθο μήνυμα:
==============================
ΣΦΑΛΜΑ: Δεν επιτρέπεται η πρόσβαση στην κρυφή μνήμη.

ΛΑΘΟΣ

Η πρόσβαση στην κρυφή μνήμη δεν επιτρέπεται

Παρουσιάστηκε το ακόλουθο σφάλμα:

  • Η πρόσβαση στην κρυφή μνήμη δεν επιτρέπεται

Λυπούμαστε, δεν μπορείτε να ζητήσετε:

Http://go.microsoft.com/fwlink/; από αυτήν την προσωρινή μνήμη μέχρι να πραγματοποιήσετε έλεγχο ταυτότητας.

Για να το κάνετε αυτό, χρειάζεστε Netscape έκδοση 2.0 ή νεότερη ή Microsoft Internet Explorer 3.0 ή πρόγραμμα περιήγησης συμβατό με HTTP / 1.1. Παρακαλώ επικοινώνησε διαχειριστής κρυφής μνήμηςεάν αντιμετωπίζετε προβλήματα με τον έλεγχο ταυτότητας ή αλλάξτε τον προεπιλεγμένο κωδικό πρόσβασής σας.


Δημιουργήθηκε Πέμπτη, 18 Ιουνίου 2009 04:11:33 GMT από apk-proxy2.apk.gov (squid / 2.6.STABLE18) ======================= ======

Δεν υπάρχει τέτοιο πρόβλημα στο FireFox.... Καθόρισα έναν διακομιστή μεσολάβησης στις ρυθμίσεις, έβαλα το όνομα χρήστη και τον κωδικό πρόσβασης και εδώ κάθομαι και γράφω αυτό το γράμμα.
Σε XP και Vista όλα είναι εντάξει επίσης .

Εγκατέστησα τα ακόλουθα συγκροτήματα 7100 (rus), 7201, τώρα κοστίζει 7231 (rus) - η κατάσταση δεν αλλάζει.

Το ερώτημα είναι, τι και πού να τροποποιήσετε;