Προσωπικά εργαλεία

Linux/Προχωρημένα/Squid

Από WIKI Τεχνικής Στήριξης
< Linux | Προχωρημένα(Διαφορές μεταξύ αναθεωρήσεων)
Μετάβαση σε: πλοήγηση, αναζήτηση
 
(21 ενδιάμεσες αναθεωρήσεις από 2 χρήστες δεν εμφανίζονται)
Γραμμή 1: Γραμμή 1:
Το Squid είναι ένας διαμεσολαβητής δικτύου (proxy server) το οποίο προσφέρει και υπηρεσίες web caching. Έχει ένα ευρύ φάσμα χρήσεων:
+
Το Squid είναι μία εφαρμογή υπολοποιεί την υπηρεσία του διακομιστή μεσολάβησης για την ταχύτερη πρόσβαση των Η/Υ στο διαδίκτυο με caching των πρόσφατων ιστοσελίδων.
* αυξάνει την ταχύτητα απόκρισης του web server, αποθηκεύοντας προσωρινά επαναλαμβανόμενες αιτήσεις για συγκεκριμένες ιστοσελίδες,
+
Δείτε στο [[Υπηρεσίες ΣΕΠΕΗΥ/Proxy]] πληροφορίες για τα πλεονεκτήματα της υπηρεσίας του διακομιστή μεσολάβησης και στο [[Εφαρμογές/Squid]] για τα χαρακτηριστικά του Squid.
* αποθηκεύει τις συχνά προσπελάσιμες ιστοσελίδες στην προσωρινή μνήμη (πχ: 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.
+
  
{{Notice|Παρακάτω ακολουθούν οι οδηγίες εγκατάστασης και παραμετροποίησης του διαμεσολαβητή δικτύου Squid σε [[Linux/LTSP|Ubuntu LTSP]].}} 
+
Για τη βασική εγκατάσταση πρέπει να πραγματοποιήσουμε τα ακόλουθα βήματα:
 
+
* [[Linux/Προχωρημένα/Squid/Εγκατάσταση|Εγκατάσταση του πακέτου]]
== Εγκατάσταση ==
+
* [[Linux/Προχωρημένα/Squid/Παραμετροποίηση|Παραμετροποίηση αρχείου ρυθμίσεων]]
Για να εγκαταστήσετε το Squid ανοίξτε το {{Application-linux|Κέντρο λογισμικού Ubuntu|Application-ubuntu-software-center.png}} στο οποίο μπορείτε να πλοηγηθείτε από το μενού {{menu|Εφαρμογές}} και στην αναζήτηση που βρίσκεται πάνω δεξιά στην εφαρμογή πληκτρολογείστε {{Label|squid}}. Κάντε εγκατάσταση το πακέτο με τίτλο {{Label|Dummy transitional package from squid to squid3}} και όνομα πακέτου {{Label|squid}}.
+
* [[Linux/Προχωρημένα/Squid/Ενεργοποίηση WPAD|Ενεργοποίηση πρωτοκόλλου WPAD στον εξυπηρετητή]]
 
+
* [[Linux/Προχωρημένα/Squid/Εξυπηρετητής|Ρύθμιση εξυπηρετητή για τη χρήση proxy]]
Διαφορετικά μπορείτε να ανοίξετε ένα τερματικό (δίνοντας το συνδυασμό {{keypress|Alt}}+{{keypress|Ctrl}}+{{keypress|T}})
+
* [[Linux/Προχωρημένα/Squid/Παραμετροποίηση Φυλλομετρητών|Παραμετροποίηση Φυλλομετρητών]]
και να πληκτρολογήστε:  
+
* [[Linux/Προχωρημένα/Squid/Ρύθμιση LTSP thin fat clients|Ρύθμιση LTSP thin fat clients]]
 
+
* [[Linux/Προχωρημένα/Squid/Προχωρημένα|Προχωρημένα]]
{{Terminal|sudo apt-get install squid}}
+
 
+
== Αντιγραφή του πρότυπου αρχείου ρυθμίσεων ==
+
{{Warning|Συνιστάται να κρατήσετε αντίγραφο ασφαλείας το πρότυπο αρχείο ρυθμίσεων του Squid το οποίο βρίσκεται στον κατάλογο <tt>/etc/squid3</tt> ώστε σε περίπτωση σφάλματος να μπορέσετε να το επαναφέρετε.}}
+
 
+
Για να κρατήσετε αντίγραφο ασφαλείας το πρότυπο αρχείο ρυθμίσεων του Squid:
+
# Ανοίξτε ένα τερματικό (δίνοντας το συνδυασμό {{keypress|Alt}}+{{keypress|Ctrl}}+{{keypress|T}}).
+
# Δώστε την εντολή: <br/>{{Terminal|sudo cp /etc/squid3/squid.conf /etc/squid3/squidconf.backup}}
+
 
+
Με την παραπάνω εντολή ουσιαστικά δημιουργούμε ένα πανομοιότυπο με το πρότυπο αρχείο ρυθμίσεων αρχείο (squid.conf) το οποίο στην συνέχεια θα επεξεργαστούμε, έχοντας δημιουργήσει ένα αντίγραφο ασφαλείας (squidconf.backup).
+
 
+
== Παραμετροποίηση ==
+
=== Ενεργοποίηση cache ===
+
Για να ενεργοποιήσετε τη web cache
+
* Εκκινήστε ένα τερματικό (δίνοντας το συνδυασμό {{keypress|Alt}}+{{keypress|Ctrl}}+{{keypress|T}}).
+
* Ανοίξτε το αρχείο ρυθμίσεων του Squid δίνοντας την εντολή: <br/>{{Terminal|sudo gedit /etc/squid3/squid.conf}} {{Warning|Για να τροποποιήσετε το συγκεκριμένο αρχείο θα πρέπει να έχετε δικαιώματα διαχειριστή (sudo).}}
+
* Τέλος, αφού δώσετε τον κωδικό σας, κάντε αναζήτηση τη φράση {{Label|TAG: cache_dir}} και στο τέλος των σχολίων του συγκεκριμένου tag απο-σχολιάστε την γραμμή: <br/>{{Editor|cache_dir ufs /var/spool/squid3 15000 16 256}} Με την συγκεκριμένη εντολή ορίζουμε το μέγεθος της cache στα 15 Gigabytes.
+
 
+
=== Εισαγωγή ελέγχων πρόσβασης υποδικτύου (ACL subnet) ===
+
Για να επιτρέψετε την πρόσβαση στην υπηρεσία μόνο στο υποδίκτυο του σχολείου σας έχοντας διευθύνσεις του ΠΣΔ  εκκινήστε ένα τερματικό (δίνοντας το συνδυασμό {{keypress|Alt}}+{{keypress|Ctrl}}+{{keypress|T}}) και δώστε την εντολή:
+
 
+
{{Terminal|sudo gedit /etc/squid3/squid.conf}}
+
 
+
για να ανοίξετε το αρχείο ρυθμίσεων του Squid. Στην συνέχεια, αναζητήστε την φράση {{Label|acl localnet src}} και μετά το τέλος των σχολίων προσθέστε την γραμμή αναλόγως των διευθύνσεων που έχουν οι σταθμοί εργασίας και ο εξυπηρετητής. Πιο συγκεκριμένα:
+
 
+
* Εάν το υποδίκτυο είναι της μορφής '''10.x.y.z''' τότε προσθέστε την παρακάτω γραμμή: <br/>{{Editor|acl localnet src 10.x.y.0/24}}
+
* Εάν το υποδίκτυο είναι της μορφής '''192.x.y.z''' τότε προσθέστε την παρακάτω γραμμή: <br/>{{Editor|acl localnet src 192.x.y.0/24}}
+
 
+
Τέλος, αναζητήστε την φράση {{Label|http_access allow localnet}} και από-σχολιάστε την.
+
 
+
=== Απαγόρευση πρόσβασης των χρηστών σε συγκεκριμένες σελίδες ===
+
Για να απαγορεύσετε την είσοδο των χρηστών σε συγκεκριμένες σελίδες (όπως πράττει και το ΠΣΔ):
+
* Ανοίξτε ένα τερματικό (δίνοντας το συνδυασμό {{keypress|Alt}}+{{keypress|Ctrl}}+{{keypress|T}}).
+
* Δημιουργήστε ένα νέο αρχείο με όνομα {{Label|acl-block.acl}} στον κατάλογο <tt>/etc/squid3</tt> δίνοντας την εντολή: <br/>{{Terminal|sudo gedit /etc/squid3/acl-block.acl}}
+
* Στο νέο αρχείο συμπληρώστε τις ιστοσελίδες που επιθυμείτε να απαγορεύσετε. πχ: <br/>{{Editor|.facebook.com<br/>.twitter.com}}
+
* Στην συνέχεια εισάγετε τις ακόλουθες γραμμές στο αρχείο <tt>/etc/squid3/squid.conf</tt> μετά την εντολή {{Label|acl localnet src 10.x.y.0/24}} <br/>{{Editor|acl bad url_regex -i "/etc/squid3/acl-block.acl"<br/>http_access deny bad}}
+
* Τέλος, δώστε την παρακάτω εντολή: <br/>{{Terminal|sudo service squid3 restart}} με σκοπό το Squid να φορτώσει τις καινούριες ρυθμίσεις.
+
 
+
=== Ρύθμιση εξυπηρετητή και σταθμών εργασίας ===
+
Υπάρχουν δύο τρόποι να ρυθμιστούν τόσο ο εξυπηρετητής όσο και οι σταθμοί εργασίας να χρησιμοποιούν ως διαμεσολαβητή δικτύου (proxy) το Squid:
+
* '''Χειροκίνητα''': ρητή δήλωση του διαμεσολαβητή στο σύστημα.
+
* '''Αυτόματα''': χρήση του πρωτοκόλου Wpad.
+
 
+
==== Χειροκίνητα ====
+
Για να ρυθμίσετε χειροκίνητα τον εξυπηρετητή και τους σταθμούς εργασίας να χρησιμοποιούν ως proxy το Squid χωρίς την δυνατότητα αλλαγής από τους χρήστες:
+
* Ανοίξτε ένα τερματικό (δίνοντας το συνδυασμό {{Keypress|Alt}}+{{Keypress|Ctrl}}+{{Keypress|T}}).
+
* Δημιουργήστε τους παρακάτω καταλόγους στο κατάλογο <tt>/etc</tt>  δίνοντας τις εντολές
+
 
+
{{Terminal|sudo mkdir -p /etc/dconf/db/proxy.d/locks}} {{Terminal|sudo mkdir -p /etc/dconf/profile}}
+
 
+
* Δημιουργήστε τα παρακάτω αρχεία δίνοντας τις εντολές
+
 
+
{{Terminal|sudo touch /etc/dconf/db/proxy.d/00_proxy_settings}}
+
{{Terminal|sudo touch /etc/dconf/db/proxy.d/locks/00_proxy}}
+
{{Terminal|sudo touch /etc/dconf/profile/user}}
+
 
+
* Ανοίξτε το αρχείο <tt>/etc/dconf/profile/user</tt> και προσθέστε τις παρακάτω γραμμές:
+
 
+
{{Editor|user-db:user<br/>system-db:proxy}}
+
 
+
* Ανοίξτε το αρχείο <tt>/etc/dconf/db/proxy.d/00_proxy_settings</tt> και προσθέστε τις παρακάτω γραμμές:
+
 
+
{{Editor|<nowiki>[system/proxy]</nowiki><br/><nowiki>mode='manual'</nowiki>
+
<br/>
+
<nowiki>[system/proxy/ftp]</nowiki><br/>
+
<nowiki>host='<ip_address_server>'</nowiki><br/>
+
<nowiki>port=3128</nowiki><br/>
+
<br/>
+
<nowiki>[system/proxy/http]</nowiki><br/>
+
<nowiki>host='<ip_address_server>'</nowiki><br/>
+
<nowiki>port=3128</nowiki><br/>
+
<br/>
+
<nowiki>[system/proxy/https]</nowiki><br/>
+
<nowiki>host='<ip_address_server>'</nowiki><br/>
+
<nowiki>port=3128</nowiki><br/>
+
<br/>
+
<nowiki>[system/proxy/socks]</nowiki><br/>
+
<nowiki>host='<ip_address_server>'</nowiki><br/>
+
<nowiki>port=3128</nowiki><br/>}}
+
 
+
* Ανοίξτε το αρχείο <tt>/etc/dconf/db/proxy.d/locks/00_proxy</tt> και προσθέστε την παρακάτω γραμμή
+
 
+
{{Editor|/system/proxy/mode}}
+
 
+
* Τέλος, δώστε την εντολή
+
 
+
{{Terminal|sudo dconf update}}
+
 
+
==== Αυτόματα ====
+
Με την ενεργοποίηση του πρωτοκόλλου WPAD εάν για κάποιο λόγο ο Squid εξυπηρετητής δεν είναι διαθέσιμος (πχ λόγω βλάβης υλικού, λόγω προβλήματος στο λειτουργικό σύστημα κτλ) οι σταθμοί εργασίας αυτόματα θα συνεχίσουν να έχουν πρόσβαση στο Internet απευθείας μέσω του διαμεσολαβητή.
+
 
+
{{Notice|H συγκεκριμένη ρύθμιση δεν παίζει καλά σε Chromium browser.}}
+
 
+
Για να ρυθμίσετε τον εξυπηρετητή και τους σταθμούς εργασίας αυτόματα να χρησιμοποιούν ως proxy το Squid του εξυπηρετητή χωρίς την δυνατότητα αλλαγής από τους χρήστες:
+
* Ανοίξτε ένα τερματικό (δίνοντας το συνδυασμό {{Keypress|Alt}}+{{Keypress|Ctrl}}+{{Keypress|T}}).
+
* Εγκαταστήστε το web server Apache2 στον εξυπηρετητή δίνοντας την εντολή
+
 
+
{{Terminal|sudo apt-get install apache2}}
+
 
+
* Ανοίξτε το αρχείο ρυθμίσεων του web server, {{Label|mime.conf}} δίνοντας την εντολή
+
 
+
{{Terminal|sudo gedit /etc/apache2/mods-available/mime.conf}}
+
 
+
* Προσθέστε τις γραμμές
+
 
+
{{Editor|AddType application/x-javascript-config dat<br/>AddType application/x-ns-proxy-autoconfig dat}}
+
 
+
* Δημιουργήστε το αρχείο {{Label|wpad.dat}} δίνοντας την εντολή
+
 
+
{{Terminal|sudo gedit /var/www/wpad.dat}}
+
 
+
και προσθέστε τις παρακάτω γραμμές
+
 
+
{{Editor|<nowiki>function FindProxyForURL(url, host) {</nowiki><br/>
+
&nbsp;&nbsp;&nbsp;&nbsp;<nowiki>return "PROXY <ip_address_server>:3128; DIRECT";</nowiki>
+
<nowiki>}</nowiki>}}
+
 
+
* Δημιουργήστε τους παρακάτω καταλόγους στο κατάλογο <tt>/etc</tt>
+
 
+
{{Terminal|sudo mkdir -p /etc/dconf/db/proxy.d/locks}} {{Terminal|sudo mkdir -p /etc/dconf/profile}}
+
 
+
* Δημιουργήστε τα παρακάτω αρχεία δίνοντας τις εντολές
+
 
+
{{Terminal|sudo touch /etc/dconf/db/proxy.d/00_proxy_settings}}
+
{{Terminal|sudo touch /etc/dconf/db/proxy.d/locks/00_proxy}}
+
{{Terminal|sudo touch /etc/dconf/profile/user}}
+
 
+
* Ανοίξτε το αρχείο <tt>/etc/dconf/profile/user</tt> και προσθέστε τις παρακάτω γραμμές
+
 
+
{{Editor|user-db:user<br/>system-db:proxy}}
+
 
+
* Ανοίξτε το αρχείο <tt>/etc/dconf/db/proxy.d/00_proxy_settings</tt> και προσθέστε τις παρακάτω γραμμές
+
 
+
{{Editor|<nowiki>[system/proxy]</nowiki>
+
<nowiki>mode='auto'</nowiki>
+
<nowiki>autoconfig-url='http://<ip_address_server>/wpad.dat'</nowiki>}}
+
 
+
* Ανοίξτε το αρχείο <tt>/etc/dconf/db/proxy.d/locks/00_proxy</tt> και προσθέστε την παρακάτω γραμμή
+
 
+
{{Editor|/system/proxy/mode}}
+
 
+
* Τέλος, δώστε την εντολή
+
 
+
{{Terminal|sudo dconf update}}
+
 
+
==== Παρεμετροποίηση φυλλομετρητών ====
+
{{Warning|Η λύση έχει δοκιμαστή μόνο με Mozzila Firefox και Chromium Browser.}}
+
 
+
Η μοναδική αλλαγή που χρειάζεται είναι μόνο στον φυλομετρητή Mozzila Firefox. Πιο συγκεκριμένα για να μπορέσετε να αποτρέψετε την χειροκίνητη αλλαγή του διαμεσολαβητή δικτύου από το συγκεκριμένο φυλλομετρητή:
+
* Δημιουργήστε ένα αρχείο <tt>/usr/lib/firefox/defaults/user.js</tt> δίνοντας την εντολή
+
 
+
{{Terminal|sudo gedit /usr/lib/firefox/defaults/user.js}}
+
 
+
* Τέλος, προσθέστε την παρακάτω γραμμή
+
 
+
{{Editor|lockPref("network.proxy.type", 5)}}
+
 
+
=== Δημοσίευση εικονικού δίσκου ===
+
Τέλος, το μόνο που απαιτείται είναι η [[Linux/sch-scripts/Δημοσίευση εικονικού δίσκου|δημοσίευση του εικονικού]] δίσκου μέσα από τα {{Sch-scripts}} και η επανεκκίνηση των σταθμών εργασίας.
+

Τελευταία αναθεώρηση της 17:23, 31 Μαρτίου 2014

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

Για τη βασική εγκατάσταση πρέπει να πραγματοποιήσουμε τα ακόλουθα βήματα:


Παραλλαγές
Ενέργειες
Πλοήγηση
Εργαλεία