Διαφορά μεταξύ των αναθεωρήσεων του "Linux/Προχωρημένα/Squid"

Γραμμή 8: Γραμμή 8:
 
{{Notice|Παρακάτω ακολουθούν οι οδηγίες εγκατάστασης και παραμετροποίησης του διαμεσολαβητή δικτύου Squid σε [[Linux/LTSP|Ubuntu LTSP]].}}   
 
{{Notice|Παρακάτω ακολουθούν οι οδηγίες εγκατάστασης και παραμετροποίησης του διαμεσολαβητή δικτύου Squid σε [[Linux/LTSP|Ubuntu LTSP]].}}   
  
== Εγκατάσταση ==
+
* [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/Παραμετροποίηση|Παραμετροποίηση αρχείου ρυθμίσεων]
  
Διαφορετικά μπορείτε να ανοίξετε ένα τερματικό (δίνοντας το συνδυασμό {{keypress|Alt}}+{{keypress|Ctrl}}+{{keypress|T}})
 
και να πληκτρολογήστε:
 
 
{{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 να φορτώσει τις καινούριες ρυθμίσεις.
 
  
 
=== Ρύθμιση εξυπηρετητή και σταθμών εργασίας ===
 
=== Ρύθμιση εξυπηρετητή και σταθμών εργασίας ===

Αναθεώρηση της 17:14, 27 Μαρτίου 2014

Το 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.


Dialog-information.pngΠαρακάτω ακολουθούν οι οδηγίες εγκατάστασης και παραμετροποίησης του διαμεσολαβητή δικτύου Squid σε Ubuntu LTSP.


  • [Linux/Προχωρημένα/Squid/Εγκατάσταση|Εγκατάσταση]
  • [Linux/Προχωρημένα/Squid/Παραμετροποίηση|Παραμετροποίηση αρχείου ρυθμίσεων]


Ρύθμιση εξυπηρετητή και σταθμών εργασίας

Υπάρχουν δύο τρόποι να ρυθμιστούν τόσο ο εξυπηρετητής όσο και οι σταθμοί εργασίας να χρησιμοποιούν ως διαμεσολαβητή δικτύου (proxy) το Squid:

  • Χειροκίνητα: ρητή δήλωση του διαμεσολαβητή στο σύστημα.
  • Αυτόματα: χρήση του πρωτοκόλου Wpad.

Χειροκίνητα

Για να ρυθμίσετε χειροκίνητα τον εξυπηρετητή και τους σταθμούς εργασίας να χρησιμοποιούν ως proxy το Squid χωρίς την δυνατότητα αλλαγής από τους χρήστες:

  • Ανοίξτε ένα τερματικό (δίνοντας το συνδυασμό Alt+Ctrl+T).
  • Δημιουργήστε τους παρακάτω καταλόγους στο κατάλογο /etc δίνοντας τις εντολές


Terminal.pngsudo mkdir -p /etc/dconf/db/proxy.d/locks



Terminal.pngsudo mkdir -p /etc/dconf/profile


  • Δημιουργήστε τα παρακάτω αρχεία δίνοντας τις εντολές


Terminal.pngsudo touch /etc/dconf/db/proxy.d/00_proxy_settings



Terminal.pngsudo touch /etc/dconf/db/proxy.d/locks/00_proxy



Terminal.pngsudo touch /etc/dconf/profile/user


  • Ανοίξτε το αρχείο /etc/dconf/profile/user και προσθέστε τις παρακάτω γραμμές:


Editor.pnguser-db:user
system-db:proxy


  • Ανοίξτε το αρχείο /etc/dconf/db/proxy.d/00_proxy_settings και προσθέστε τις παρακάτω γραμμές:


Editor.png[system/proxy]
mode='manual'


[system/proxy/ftp]
host='<ip_address_server>'
port=3128

[system/proxy/http]
host='<ip_address_server>'
port=3128

[system/proxy/https]
host='<ip_address_server>'
port=3128

[system/proxy/socks]
host='<ip_address_server>'

port=3128


  • Ανοίξτε το αρχείο /etc/dconf/db/proxy.d/locks/00_proxy και προσθέστε την παρακάτω γραμμή


Editor.png/system/proxy/mode


  • Τέλος, δώστε την εντολή


Terminal.pngsudo dconf update


Αυτόματα

Με την ενεργοποίηση του πρωτοκόλλου WPAD εάν για κάποιο λόγο ο Squid εξυπηρετητής δεν είναι διαθέσιμος (πχ λόγω βλάβης υλικού, λόγω προβλήματος στο λειτουργικό σύστημα κτλ) οι σταθμοί εργασίας αυτόματα θα συνεχίσουν να έχουν πρόσβαση στο Internet απευθείας μέσω του διαμεσολαβητή.


Dialog-information.pngH συγκεκριμένη ρύθμιση δεν παίζει καλά σε Chromium browser.


Για να ρυθμίσετε τον εξυπηρετητή και τους σταθμούς εργασίας αυτόματα να χρησιμοποιούν ως proxy το Squid του εξυπηρετητή χωρίς την δυνατότητα αλλαγής από τους χρήστες:

  • Ανοίξτε ένα τερματικό (δίνοντας το συνδυασμό Alt+Ctrl+T).
  • Εγκαταστήστε το web server Apache2 στον εξυπηρετητή δίνοντας την εντολή


Terminal.pngsudo apt-get install apache2


  • Ανοίξτε το αρχείο ρυθμίσεων του web server, Tag.png mime.conf δίνοντας την εντολή


Terminal.pngsudo gedit /etc/apache2/mods-available/mime.conf


  • Προσθέστε τις γραμμές


Editor.pngAddType application/x-javascript-config dat
AddType application/x-ns-proxy-autoconfig dat


  • Δημιουργήστε το αρχείο Tag.png wpad.dat δίνοντας την εντολή


Terminal.pngsudo gedit /var/www/wpad.dat


και προσθέστε τις παρακάτω γραμμές


Editor.pngfunction FindProxyForURL(url, host) {

    return "PROXY <ip_address_server>:3128; DIRECT";

}


  • Δημιουργήστε τους παρακάτω καταλόγους στο κατάλογο /etc


Terminal.pngsudo mkdir -p /etc/dconf/db/proxy.d/locks



Terminal.pngsudo mkdir -p /etc/dconf/profile


  • Δημιουργήστε τα παρακάτω αρχεία δίνοντας τις εντολές


Terminal.pngsudo touch /etc/dconf/db/proxy.d/00_proxy_settings



Terminal.pngsudo touch /etc/dconf/db/proxy.d/locks/00_proxy



Terminal.pngsudo touch /etc/dconf/profile/user


  • Ανοίξτε το αρχείο /etc/dconf/profile/user και προσθέστε τις παρακάτω γραμμές


Editor.pnguser-db:user
system-db:proxy


  • Ανοίξτε το αρχείο /etc/dconf/db/proxy.d/00_proxy_settings και προσθέστε τις παρακάτω γραμμές


Editor.png[system/proxy]

mode='auto'

autoconfig-url='http://<ip_address_server>/wpad.dat'


  • Ανοίξτε το αρχείο /etc/dconf/db/proxy.d/locks/00_proxy και προσθέστε την παρακάτω γραμμή


Editor.png/system/proxy/mode


  • Τέλος, δώστε την εντολή


Terminal.pngsudo dconf update


Παρεμετροποίηση φυλλομετρητών


Dialog-warning.pngΗ λύση έχει δοκιμαστή μόνο με Mozzila Firefox και Chromium Browser.


Η μοναδική αλλαγή που χρειάζεται είναι μόνο στον φυλομετρητή Mozzila Firefox. Πιο συγκεκριμένα για να μπορέσετε να αποτρέψετε την χειροκίνητη αλλαγή του διαμεσολαβητή δικτύου από το συγκεκριμένο φυλλομετρητή:

  • Δημιουργήστε ένα αρχείο /usr/lib/firefox/defaults/user.js δίνοντας την εντολή


Terminal.pngsudo gedit /usr/lib/firefox/defaults/user.js


  • Τέλος, προσθέστε την παρακάτω γραμμή


Editor.pnglockPref("network.proxy.type", 5)


Δημοσίευση εικονικού δίσκου

Τέλος, το μόνο που απαιτείται είναι η δημοσίευση του εικονικού δίσκου μέσα από τα Application-ubuntu-sch-scripts.png Διαχείριση ΣΕΠΕΗΥ (sch-scripts) και η επανεκκίνηση των σταθμών εργασίας.