Linux/Προχωρημένα/Squid
Το Squid είναι ένας διαμεσολαβητής δικτύου (proxy server) το οποίο προσφέρει και υπηρεσίες web caching. Έχει ένα ευρύ φάσμα χρήσεων:
- αυξάνει την ταχύτητα απόκρισης του web server, αποθηκεύοντας προσωρινά επαναλαμβανόμενες αιτήσεις για συγκεκριμένες ιστοσελίδες,
- αποθηκεύει τις συχνά προσπελάσιμες ιστοσελίδες στην προσωρινή μνήμη (πχ: updates λειτουργικού συστήματος )
- παρέχει DNS υπηρεσίες,
- φιλτράρει την κυκλοφορία του δικτύου, υποβοηθώντας την ασφάλεια.
Δεν υποστηρίζει πλήρως τα πρωτόκολλα TLS, SSL, Internet Gopher και HTTPS, αντιθέτως υποστηρίζει πλήρως τα πρωτόκολλα HTTP και FTP. Το Squid αρχικά είχε σχεδιαστεί για να τρέχει σε UNIX συστήματα. Η συμβατότητα με το λειτουργικό σύστημα MS-Windows σταμάτησε μετά την έκδοση 2.7, ενώ η τρέχουσα stable έκδοση είναι 3.4.2. Στο Ubuntu 12.04 είναι διαθέσιμη η έκδοση 3.1.19.
![]() | Παρακάτω ακολουθούν οι οδηγίες εγκατάστασης και παραμετροποίησης του διαμεσολαβητή δικτύου Squid σε Ubuntu LTSP. |
Περιεχόμενα
Ρύθμιση εξυπηρετητή και σταθμών εργασίας
Υπάρχουν δύο τρόποι να ρυθμιστούν τόσο ο εξυπηρετητής όσο και οι σταθμοί εργασίας να χρησιμοποιούν ως διαμεσολαβητή δικτύου (proxy) το Squid:
- Χειροκίνητα: ρητή δήλωση του διαμεσολαβητή στο σύστημα.
- Αυτόματα: χρήση του πρωτοκόλου Wpad.
Χειροκίνητα
Για να ρυθμίσετε χειροκίνητα τον εξυπηρετητή και τους σταθμούς εργασίας να χρησιμοποιούν ως proxy το Squid χωρίς την δυνατότητα αλλαγής από τους χρήστες:
- Ανοίξτε ένα τερματικό (δίνοντας το συνδυασμό Alt+Ctrl+T).
- Δημιουργήστε τους παρακάτω καταλόγους στο κατάλογο /etc δίνοντας τις εντολές
![]() | sudo mkdir -p /etc/dconf/db/proxy.d/locks |
![]() | sudo mkdir -p /etc/dconf/profile |
- Δημιουργήστε τα παρακάτω αρχεία δίνοντας τις εντολές
![]() | sudo touch /etc/dconf/db/proxy.d/00_proxy_settings |
![]() | sudo touch /etc/dconf/db/proxy.d/locks/00_proxy |
![]() | sudo touch /etc/dconf/profile/user |
- Ανοίξτε το αρχείο /etc/dconf/profile/user και προσθέστε τις παρακάτω γραμμές:
![]() | user-db:user system-db:proxy |
- Ανοίξτε το αρχείο /etc/dconf/db/proxy.d/00_proxy_settings και προσθέστε τις παρακάτω γραμμές:
- Ανοίξτε το αρχείο /etc/dconf/db/proxy.d/locks/00_proxy και προσθέστε την παρακάτω γραμμή
![]() | /system/proxy/mode |
- Τέλος, δώστε την εντολή
![]() | sudo dconf update |
Αυτόματα
Με την ενεργοποίηση του πρωτοκόλλου WPAD εάν για κάποιο λόγο ο Squid εξυπηρετητής δεν είναι διαθέσιμος (πχ λόγω βλάβης υλικού, λόγω προβλήματος στο λειτουργικό σύστημα κτλ) οι σταθμοί εργασίας αυτόματα θα συνεχίσουν να έχουν πρόσβαση στο Internet απευθείας μέσω του διαμεσολαβητή.
![]() | H συγκεκριμένη ρύθμιση δεν παίζει καλά σε Chromium browser. |
Για να ρυθμίσετε τον εξυπηρετητή και τους σταθμούς εργασίας αυτόματα να χρησιμοποιούν ως proxy το Squid του εξυπηρετητή χωρίς την δυνατότητα αλλαγής από τους χρήστες:
- Ανοίξτε ένα τερματικό (δίνοντας το συνδυασμό Alt+Ctrl+T).
- Εγκαταστήστε το web server Apache2 στον εξυπηρετητή δίνοντας την εντολή
![]() | sudo apt-get install apache2 |
![]() | sudo gedit /etc/apache2/mods-available/mime.conf |
- Προσθέστε τις γραμμές
![]() | AddType application/x-javascript-config dat AddType application/x-ns-proxy-autoconfig dat |
![]() | sudo gedit /var/www/wpad.dat |
και προσθέστε τις παρακάτω γραμμές
![]() | function FindProxyForURL(url, host) { return "PROXY <ip_address_server>:3128; DIRECT"; } |
- Δημιουργήστε τους παρακάτω καταλόγους στο κατάλογο /etc
![]() | sudo mkdir -p /etc/dconf/db/proxy.d/locks |
![]() | sudo mkdir -p /etc/dconf/profile |
- Δημιουργήστε τα παρακάτω αρχεία δίνοντας τις εντολές
![]() | sudo touch /etc/dconf/db/proxy.d/00_proxy_settings |
![]() | sudo touch /etc/dconf/db/proxy.d/locks/00_proxy |
![]() | sudo touch /etc/dconf/profile/user |
- Ανοίξτε το αρχείο /etc/dconf/profile/user και προσθέστε τις παρακάτω γραμμές
![]() | user-db:user system-db:proxy |
- Ανοίξτε το αρχείο /etc/dconf/db/proxy.d/00_proxy_settings και προσθέστε τις παρακάτω γραμμές
![]() | [system/proxy]
mode='auto' autoconfig-url='http://<ip_address_server>/wpad.dat' |
- Ανοίξτε το αρχείο /etc/dconf/db/proxy.d/locks/00_proxy και προσθέστε την παρακάτω γραμμή
![]() | /system/proxy/mode |
- Τέλος, δώστε την εντολή
![]() | sudo dconf update |
Παρεμετροποίηση φυλλομετρητών
![]() | Η λύση έχει δοκιμαστή μόνο με Mozzila Firefox και Chromium Browser. |
Η μοναδική αλλαγή που χρειάζεται είναι μόνο στον φυλομετρητή Mozzila Firefox. Πιο συγκεκριμένα για να μπορέσετε να αποτρέψετε την χειροκίνητη αλλαγή του διαμεσολαβητή δικτύου από το συγκεκριμένο φυλλομετρητή:
- Δημιουργήστε ένα αρχείο /usr/lib/firefox/defaults/user.js δίνοντας την εντολή
![]() | sudo gedit /usr/lib/firefox/defaults/user.js |
- Τέλος, προσθέστε την παρακάτω γραμμή
![]() | lockPref("network.proxy.type", 5) |
Δημοσίευση εικονικού δίσκου
Τέλος, το μόνο που απαιτείται είναι η δημοσίευση του εικονικού δίσκου μέσα από τα Διαχείριση ΣΕΠΕΗΥ (sch-scripts) και η επανεκκίνηση των σταθμών εργασίας.