Πώς να ρυθμίσετε τον διακομιστή "Squid Proxy" σε Ubuntu και Debian


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

Διαβάστε επίσης: Πώς να δημιουργήσετε έναν διακομιστή μεσολάβησης HTTP χρησιμοποιώντας το Squid στο CentOS 7

Σε αυτό το άρθρο, θα εξηγήσουμε πώς να εγκαταστήσετε έναν διακομιστή μεσολάβησης squid σε διανομές Ubuntu και Debian και να τον χρησιμοποιήσετε ως διακομιστή μεσολάβησης HTTP.

Πώς να εγκαταστήσετε το Squid στο Ubuntu

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

Το πακέτο Squid είναι διαθέσιμο για εγκατάσταση από το βασικό αποθετήριο του Ubuntu, αλλά πριν από αυτό φροντίστε να ενημερώσετε τα πακέτα σας εκτελώντας.

sudo apt update

Μόλις τα πακέτα σας είναι ενημερωμένα, μπορείτε να προχωρήσετε περαιτέρω στην εγκατάσταση του squid και να το ξεκινήσετε και να το ενεργοποιήσετε κατά την εκκίνηση του συστήματος χρησιμοποιώντας τις ακόλουθες εντολές.

sudo apt -y install squid
sudo systemctl start squid
sudo systemctl enable squid

Σε αυτό το σημείο ο διακομιστής ιστού Squid σας θα πρέπει να εκτελείται ήδη και μπορείτε να επαληθεύσετε την κατάσταση της υπηρεσίας με.

sudo systemctl status squid
Δείγμα εξόδου
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Tue 2018-12-04 06:42:43 UTC; 14min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 4 (limit: 1717)
   CGroup: /system.slice/squid.service
           ├─2761 /usr/sbin/squid -YC -f /etc/squid/squid.conf
           ├─2766 (squid-1) -YC -f /etc/squid/squid.conf
           ├─2768 (logfile-daemon) /var/log/squid/access.log
           └─2772 (pinger)

Dec 04 06:42:43 tecmint systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Dec 04 06:42:43 tecmint squid[2708]:  * Starting Squid HTTP Proxy squid
Dec 04 06:42:43 tecmint squid[2708]:    ...done.
Dec 04 06:42:43 tecmint systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: will start 1 kids
Dec 04 06:42:43 tecmint squid[2761]: Squid Parent: (squid-1) process 2766 started

Ακολουθούν ορισμένες σημαντικές τοποθεσίες αρχείων καλαμαριών που πρέπει να γνωρίζετε:

  • Αρχείο διαμόρφωσης Squid: /etc/squid/squid.conf
  • Αρχείο καταγραφής πρόσβασης Squid: /var/log/squid/access.log
  • Αρχείο καταγραφής προσωρινής μνήμης καλαμάρι: /var/log/squid/cache.log

Το προεπιλεγμένο αρχείο ρυθμίσεων περιέχει ορισμένες οδηγίες ρύθμισης παραμέτρων που πρέπει να ρυθμιστούν για να επηρεάσουν τη συμπεριφορά του Squid.

Τώρα ανοίξτε αυτό το αρχείο για επεξεργασία χρησιμοποιώντας το πρόγραμμα επεξεργασίας Vi και κάντε αλλαγές όπως φαίνεται παρακάτω.

sudo vim /etc/squid/squid.conf

Τώρα, μπορείτε να πραγματοποιήσετε αναζήτηση για τις ακόλουθες γραμμές και να τις αλλάξετε όπως ζητήθηκε, στο πρόγραμμα επεξεργασίας Vi, μπορείτε να κάνετε αναζήτηση για αυτές τις γραμμές πατώντας το 'ESC' και πληκτρολογώντας "/ ” κλειδί για να γράψετε τις συγκεκριμένες γραμμές που θέλετε να αναζητήσετε.

  • http_port : Αυτή είναι η προεπιλεγμένη θύρα για τον διακομιστή μεσολάβησης HTTP, από προεπιλογή είναι 3128, μπορείτε να την αλλάξετε σε οποιαδήποτε άλλη θύρα θέλετε, μπορείτε επίσης να προσθέσετε Προσθέστε ετικέτα "διαφανές" στο τέλος της γραμμής, όπως http_port 8888 διαφανές για να κάνετε τον διακομιστή μεσολάβησης Squid να λειτουργεί σαν διαφανής διακομιστής μεσολάβησης, αν θέλετε.
  • http_access deny all : Αυτή η γραμμή δεν επιτρέπει σε κανέναν να έχει πρόσβαση στον διακομιστή μεσολάβησης HTTP, γι' αυτό πρέπει να τον αλλάξετε σε http_access επιτρέπονται σε όλους για να αρχίσουν να χρησιμοποιούν τον διακομιστή μεσολάβησης Squid .
  • visible_hostname : Αυτή η οδηγία χρησιμοποιείται για τον ορισμό του συγκεκριμένου ονόματος κεντρικού υπολογιστή σε έναν squid server. Μπορείτε να δώσετε οποιοδήποτε όνομα κεντρικού υπολογιστή στο καλαμάρι.

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

sudo systemctl restart squid

Διαμόρφωση του Squid ως διακομιστή μεσολάβησης HTTP στο Ubuntu

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

Προσθέστε Squid ACL

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

sudo vim /etc/squid/squid.conf

Ο κανόνας acl που πρέπει να προσθέσετε είναι:

acl localnet src XX.XX.XX.XX

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

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

acl localnet src 192.168.0.102  # Boss IP address

Θα χρειαστεί να επανεκκινήσετε την υπηρεσία Squid για να τεθούν σε ισχύ οι νέες αλλαγές.

sudo systemctl restart squid

Ανοίξτε τις θύρες στο Squid Proxy

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

acl Safe_ports port XXX

Όπου XXX είναι ο αριθμός θύρας που θέλετε να επιτρέψετε. Και πάλι, είναι καλό να ορίσετε ένα σχόλιο δίπλα στο acl που θα περιγράφει για ποιο σκοπό θα χρησιμοποιηθεί η θύρα.

Για να ισχύσουν οι αλλαγές, θα χρειαστεί να επανεκκινήσετε το Squid για άλλη μια φορά.

sudo systemctl restart squid

Έλεγχος ταυτότητας πελάτη μεσολάβησης Squid

Για να επιτρέψετε στους χρήστες να κάνουν έλεγχο ταυτότητας πριν από τη χρήση του διακομιστή μεσολάβησης, πρέπει να ενεργοποιήσετε τον βασικό έλεγχο ταυτότητας http στο αρχείο διαμόρφωσης, αλλά πριν από αυτό πρέπει να εγκαταστήσετε το πακέτο apache2-utils χρησιμοποιώντας την ακόλουθη εντολή.

sudo apt install apache2-utils

Τώρα δημιουργήστε ένα αρχείο με το όνομα “passwd” που αργότερα θα αποθηκεύσει το όνομα χρήστη για τον έλεγχο ταυτότητας. Το Squid εκτελείται με “proxy” χρήστη, επομένως το αρχείο θα πρέπει να ανήκει σε αυτόν τον χρήστη.

sudo touch /etc/squid/passwd
sudo chown proxy: /etc/squid/passwd
ls -l /etc/squid/passwd

Τώρα θα δημιουργήσουμε έναν νέο χρήστη που ονομάζεται "tecmint" και θα ρυθμίσουμε τον κωδικό πρόσβασής του.

sudo htpasswd /etc/squid/passwd tecmint

New password: 
Re-type new password: 
Adding password for user tecmint

Τώρα για να ενεργοποιήσετε τον βασικό έλεγχο ταυτότητας http, ανοίξτε το αρχείο διαμόρφωσης.

sudo vim /etc/squid/squid.conf

Μετά τις θύρες ACL προσθέστε τις ακόλουθες γραμμές:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

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

sudo systemctl restart squid

Αποκλεισμός ιστοσελίδων στο Squid Proxy

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

sudo touch /etc/squid/blacklisted_sites.acl

Τώρα προσθέστε τους ιστότοπους στους οποίους θέλετε να αποκλείσετε την πρόσβαση, για παράδειγμα.

.badsite1.com
.badsite2.com

Η τρέχουσα dot ενημερώνει το squid να αποκλείσει όλες τις αναφορές σε αυτούς τους ιστότοπους, συμπεριλαμβανομένων των www.badsite1, subsite.badsite1.com κ.λπ.

Τώρα ανοίξτε το αρχείο ρυθμίσεων του Squid.

sudo vim /etc/squid/squid.conf

Ακριβώς μετά τα παραπάνω ACL προσθέστε τις ακόλουθες δύο γραμμές:

acl bad_urls dstdomain "/etc/squid/blacklisted_sites.acl"
http_access deny bad_urls

Τώρα αποθηκεύστε το αρχείο και επανεκκινήστε το squid:

sudo systemctl restart squid

Αποκλεισμός συγκεκριμένης λέξης-κλειδιού με καλαμάρι

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

sudo touch /etc/squid/blockkeywords.lst

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

facebook
instagram
gmail

Τώρα ανοίξτε το αρχείο ρυθμίσεων του Squid και προσθέστε τον ακόλουθο κανόνα.

acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist

Τώρα αποθηκεύστε το αρχείο και επανεκκινήστε το squid:

sudo systemctl restart squid

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

Διαμόρφωση προγράμματος-πελάτη για χρήση του Squid Proxy

Τώρα για να ελέγξετε εάν ο διακομιστής μεσολάβησης σας λειτουργεί ή όχι, μπορείτε να ανοίξετε το Firefox και να μεταβείτε στο Επεξεργασία –> Προτιμήσεις –> Προηγμένες –> Δίκτυο –> Ρυθμίσεις και επιλέξτε «Μη αυτόματη διαμόρφωση διακομιστή μεσολάβησης ” και εισαγάγετε τη διεύθυνση IP του διακομιστή μεσολάβησης και τη θύρα που θα χρησιμοποιηθούν για όλες τις συνδέσεις όπως ακολουθεί.

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

Για να βεβαιωθείτε ότι σερφάρετε στο διαδίκτυο χρησιμοποιώντας τον διακομιστή μεσολάβησής σας, μπορείτε να επισκεφτείτε τη διεύθυνση http://www.ipaddresslocation.org/, στην επάνω δεξιά γωνία πρέπει να δείτε την ίδια διεύθυνση IP με τον διακομιστή σας Διεύθυνση IP.

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