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

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

Από WIKI Τεχνικής Στήριξης
Μετάβαση σε: πλοήγηση, αναζήτηση

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

Περιεχόμενα

Εγκατάσταση Squid

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

2012 r2 windows squid 1.png
  • Αποσυμπιέζουμε το zip αρχείο και αντιγράφουμε τα περιεχόμενά του στο φάκελο στο c:\squid.
2012 r2 windows squid 2.png
  • Μετονομάζουμε όλα τα αρχεία του φακέλου etc (c:\squid\etc) από .conf.default σε .conf (π.χ από squid.conf.default σε squid.conf).
2012 r2 windows squid 3.png
  • Ανοίγουμε για επεξεργασία το αρχείο squid.conf με οποιοδήποτε editor (πχ wordpad). Κάνουμε εύρεση για το: acl localnet src.
2012 r2 windows squid 4.png
  • Αλλάζουμε τις εγγραφές έτσι ώστε να επιτρέπεται η πρόσβαση στην υπηρεσία μόνο από το ιδιωτικό υποδίκτυο του σχολείου (10.x.y.z) και από τον ίδιο τον εξυπηρετητή (127.0.0.1). Τελικά θα πρέπει να υπάρχουν δύο εγγραφές:
    acl localnet src 127.0.0.1
    acl localnet src 10.x.y.z/24
2012 r2 windows squid 5.png
  • Τροποποιούμε τη γραμμή
    cache_dir ufs c:/squid/var/cache 100 16 256
    ώστε να ανταποκρίνεται στην τοποθεσία και στο μέγεθος της περιοχής cache.
2012 r2 windows squid 6.png
  • Δημιουργούμε το φάκελο cache
  • Στη συνέχεια μέσα από το Command Prompt ή το PowerShell πληκτρολογούμε τα παρακάτω

Terminal.pngcd c:\squid\sbin
.\squid.exe -z

2012 r2 windows squid 7.png

  • Εγκαθιστούμε το squid σαν service των Windows, που θα ξεκινά με κάθε εκκίνηση του εξυπηρετητή

Terminal.png.\squid.exe -i

2012 r2 windows squid 8.png


  • Ξεκινούμε την υπηρεσία squid για πρώτη φορά (χωρίς επανεκκίνηση του συστήματος), από το Application-windows-other.png Server Manager στο  Tools  Services  και στην συνέχεια επιλέγουμε την υπηρεσία squid και κάνουμε Start.
2012 r2 windows squid 9.png

2012 r2 windows squid 10.png

2012 r2 windows squid 11.png
  • Ο Windows Server 2012 έχει ενεργοποιημένο Firewall, στο οποίο πρέπει να επιτρέψουμε την επικοινωνία από το τοπικό δίκτυο στην θύρα 3128, όπου λαμβάνει αιτήματα ο squid. Ξεκινούμε την εφαρμογή διαχείρισης του firewall από το  Start  Administrative Tools  Windows Firewall and Advanced Security 
2012 r2 windows squid 12.png
  • Στη συνέχεια ακολουθούμε τα εξής  δεξί κλικ στα Inbound Rules  New Rule... .
2012 r2 windows squid 13.png
  • Επιλέγουμε τη δημιουργία κανόνα με βάση θύρα επικοινωνίας.
2012 r2 windows squid 14.png
  • Επιλέγουμε την TCP θύρα 3128.
2012 r2 windows squid 15.png
  • Επιτρέπουμε την επικοινωνία με βάση τις επιλεγμένες ρυθμίσεις.
2012 r2 windows squid 16.png
  • Ο κανόνας ενεργοποιείται για όλα τα προφίλ.
2012 r2 windows squid 17.png
  • Δίνουμε όνομα στον κανόνα και η δημιουργία του ολοκληρώνεται.
2012 r2 windows squid 18.png
  • Τα Inbound Rules για τον squid έχουν εισαχθεί.
2012 r2 windows squid 19.png
  • Ρυθμίζουμε τον browser του εξυπηρετητή να χρησιμοποιεί τον Squid Proxy, πληκτρολογώντας την IP διεύθυνση 127.0.0.1 (ή 10.x.y.z) και ως πόρτα την 3128 στις ρυθμίσεις σύνδεσης.
  • Για τους σταθμούς εργασίας επιλέγουμε την αυτόματη ρύθμισή τους με το πρωτόκολλο WPAD, όπως περιγράφεται στην Αυτόματη ρύθμιση proxy των σταθμών εργασίας.

Χειροκίνητη ρύθμιση proxy των σταθμών εργασίας

Για να αξιοποιήσουν οι σταθμοί εργασίας την υπηρεσία squid, πρέπει να ρυθμίσουμε κάθε browser να χρησιμοποιεί ως proxy την IP διεύθυνση του εξυπηρετητή και την πόρτα 3128.

Έπειτα συνδεόμαστε σε μία σελίδα του διαδικτύου και πρέπει να παρατηρήσουμε σχετική εγγραφή στο αρχείο C:\squid\var\logs\access.log του εξυπηρετητή, που θα αναφέρει την IP διεύθυνση του σταθμού εργασίας και τη σελίδα που διακινήθηκε μέσω του squid.

Αυτόματη ρύθμιση proxy των σταθμών εργασίας

Το Web Proxy Auto-Discovery Protocol (WPAD) είναι ένα πρωτόκολλο με το οποίο οι σταθμοί εργασίας μπορούν να έχουν αυτόματα πρόσβαση σε ένα αρχείο ρυθμίσεων, μέσω του οποίου θα ενεργοποιηθεί σε αυτούς ο proxy. Με την ενεργοποίηση του πρωτοκόλλου wpad αφενός οι browsers των σταθμών εργασίας (εφόσον έχουν αυτόματο εντοπισμό ρυθμίσεων διαμεσολαβητή ενεργοποιημένο)

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

Για τη λειτουργία αυτή απαιτούνται:

  • Ρύθμιση του DNS εξυπηρετητή του ΣΕΠΕΗΥ.
  • Ρύθμιση του WEB εξυπηρετητή του ΣΕΠΕΗΥ.
  • Ρύθμιση των σταθμών εργασίας.

Ρύθμιση DNS εξυπηρετητή του ΣΕΠΕΗΥ

Στη ζώνη school.local προσθέτουμε το wpad ως νέο alias(CNAME) που δείχνει στο server.school.local.

2012 r2 windows squid 20.png
  • Αυτό γίνεται από την εφαρμογή Application-windows-other.png Administrative Tools, όπου κάνουμε διπλό κλικ στο  DNS 
2012 r2 windows squid 21.png
  • Στη συνέχεια ακολουθούμε την διαδρομή  Forward Lookup Zones  school.local  κάνουμε δεξί κλικ και επιλέγουμε New Alias(CNAME)
2012 r2 windows squid 22.png
  • Ορίζουμε "Alias Name" wpad και "Fully Qualified Domain Name" server.school.local.

Το wpad είναι απαγορευμένο alias στο Windows Server 2012, οπότε για να υπάρξει πρόσβαση στο alias, πρέπει να άρουμε τον περιορισμό. Αρχικά βλέπουμε για ποια ονόματα υπάρχει περιορισμός.


Terminal.pngdnscmd /info /globalqueryblocklist

Query result:
String: wpad
String: isatap

Command completed successfully.

2012 r2 windows squid 23.png


Στη συνέχεια ορίζουμε τον περιορισμό για όλα τα ισχύοντα ονόματα εκτός του wpad.


Terminal.pngC:\Users\Administrator>dnscmd /config /globalqueryblocklist isatap

Registry property globalqueryblocklist successfully reset.
Command completed successfully.


2012 r2 windows squid 23.png

Επιβεβαιώνουμε την ορθή λειτουργία των ρυθμίσεων, από σταθμούς εργασίας με dns server τον εξυπηρετητή του ΣΕΠΕΗΥ, λαμβάνοντας μέσω της εντολής nslookup για το όνομα wpad.school.local τη διεύθυνση του εξυπηρετητή. Σε σταθμούς εργασίας που δεν είναι δυνατό να οριστεί ως dns server ο εξυπηρετητής του ΣΕΠΕΗΥ, προσθέτουμε την ακόλουθη γραμμή στο αρχείο c:\windows\system32\drivers\etc\hosts.


Editor.png10.x.y.z wpad

Ρύθμιση Web εξυπηρετητή σε MS-Windows

2012 r2 windows squid 25.png
Από την εφαρμογή Application-windows-other.png Server Manager ενεργοποιούμε το ρόλο Web Server στον εξυπηρετητή του ΣΕΠΕΗΥ.
2012 r2 windows squid 26.png
Ακολουθούμε τα βήματα εγκατάστασης και κατά την ολοκλήρωση έχουμε την διπλανή εικόνα.
2012 r2 windows squid 27.png
Μέσα από τον Application-windows-other.png IIS Manager, στο Default Web Site ανοίγουμε τα MIME Types.
2012 r2 windows squid 28.png
Όπου εμφανίζονται κάποια MIME Types με τις επεκτάσεις τους.
2012 r2 windows squid 29.png
Κάνουμε Add... ένα νέο MIME Type, με στοιχεία File name extenstion: .dat και MIME Type: application/x-javascript-config.
2012 r2 windows squid 30.png
Το νέο MIME Type εμφανίζεται μαζί με τα προηγούμενα.
2012 r2 windows squid 31.png

Επανεκκινούμε τον εξυπηρετητή Web με δεξί κλικ στο SERVER(SCHOOL/yper), Stop και Start.

Δημιουργούμε στο root φάκελο του web site (C:\inetpub\wwwroot) ένα αρχείο κειμένου με όνομα "wpad.dat" που περιλαμβάνει τις ακόλουθες γραμμές:


Editor.pngfunction FindProxyForURL(url, host){
if (
     isInNet(host, "10.x.y.0", "255.255.255.0") ||
     isPlainHostName(host) ||
     localHostOrDomainIs(host, "127.0.0.1") ||
     dnsDomainIs(host, ".school.local")
   )
      return "DIRECT";
else if (isInNet(myIpAddress(), "10.x.y.0", "255.255.255.0"))
      return "PROXY 10.x.y.10:3128";
}

Στο παραπάνω αρχείο ρυθμίσεων 10.x.y.0 είναι το υποδίκτυο του σχολείου και 10.x.y.10 η διεύθυνση του εξυπηρετητή (αντικαταστήστε τα x, y, ώστε να ταιριάζουν στο υποδίκτυο του σχολείου σας). Με βάση τις ρυθμίσεις αυτές πραγματοποιείται επικοινωνία μέσω του squid για όλες τις επικοινωνίες εκτός από αυτές εντός του τοπικού δικτύου. Το σχέδιο του αρχείου wpad.dat, έχει προέλθει από τη σελίδα WEBTITAN-Quickstart guide to setting up WPAD file. Περισσότερες πληροφορίες για τη σύνταξη του αρχείου wpad.dat, μπορείτε να βρείτε στις σελίδες: http://findproxyforurl.com/, http://www.proxypacfiles.com, http://en.wikipedia.org/wiki/Proxy_auto-config.

Επιβεβαιώνουμε κατ' αρχήν την ορθή λειτουργία των ρυθμίσεων με άνοιγμα του url http://wpad.school.local/wpad.dat, μέσω του οποίου λαμβάνουμε το οριζόμενο αρχείο wpad.dat στον εξυπηρετητή. Επιπλέον οι σταθμοί εργασίας που έχουν ορισμένο τον "Αυτόματο εντοπισμό ρυθμίσεων διαμεσολαβητή", θα έχουν πρόσβαση στο διαδίκτυο μέσω του proxy, οπότε στο C:\squid\var\log\access.log θα καταγράφεται η δραστηριότητά τους.

Ρύθμιση σταθμών εργασίας για χρήση του WPAD

Στον Internet Explorer από το μενού  Εργαλεία  Επιλογές Internet  Συνδέσεις  Ρυθμίσεις LAN  και επιλέγουμε τον  Αυτόματο εντοπισμό ρυθμίσεων .

Στο Firefox από το μενού  Εργαλεία  Επιλογές  Για προχωρημένους  Δίκτυο  Ρυθμίσεις  και επιλέγουμε  Αυτόματος εντοπισμός ρυθμίσεων διαμεσολαβητή για αυτό το δίκτυο .

Ρύθμιση σταθμών εργασίας για χρήση του WPAD με πολιτικές ομάδας

Για τον Internet Explorer ακολουθείστε τα ακόλουθα βήματα:

  • Επιβεβαιώστε ότι η πολιτική στο Default Domain Policy (ή Local Policy για σταθμούς εργασίας εκτός Domain)  User Configuration  Windows Settings  Internet Explorer Maintenance  Connection  Automatic Browser Configuration  είναι ενεργοποιημένη (είναι προεπιλεγμένη ρύθμιση στο Default Domain Policy). Η συγκεκριμένη πολιτική ρυθμίζει τον MS-Internet Explorer να αναζητά αυτόματα τον εξυπηρετητή proxy κάθε φορά που καλείται.
  • Ενεργοποιήστε επίσης την πολιτική στο Default Domain Policy (ή Local Policy για σταθμούς εργασίας εκτός Domain)  User Configuration  Administrative Templates  Windows Components  Internet Explorer  Disable changing Automatic Configuration settings . Η συγκεκριμένη πολιτική ρυθμίζει τον MS-Internet Explorer ώστε να μην μπορούν οι χρήστες να αλλάζουν τις αυτόματες ρυθμίσεις αναζήτησης του εξυπηρετητή proxy.

Ο Firefox δεν υποστηρίζει εγγενώς τη ρύθμιση με πολιτικές ομάδας. Αυτό υλοποιείται σε ειδική έκδοσή του από την εταιρεία FrontMotion, οι εκδόσεις όμως που παρέχει είναι nightly builds, οπότε δεν προτείνεται η χρήση τους. Βέβαια με την εγκατάστασή του ο firefox έχει ενεργοποιημένη την αυτόματη αναζήτηση ρυθμίσεων.

Ρυθμίσεις Squid για απαγόρευση πρόσβασης των χρηστών σε συγκεκριμένες σελίδες

Το ΠΣΔ για να προστατεύσει τους χρήστες του από ακατάλληλο και επικίνδυνο περιεχόμενο στο Διαδίκτυο, παρέχει την υπηρεσία Web Filtering με την οποία απαγορεύεται η πρόσβαση σε σελίδες:

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

Στην περίπτωση που οι χρήστες του σχολικού δικτύου διαπιστώσουν πως έχουν πρόσβαση σε σελίδες με ακατάλληλο περιεχόμενο, πρέπει να ενημερώσουν άμεσα την υπηρεσία Web Filtering (cachemaster@sch.gr), ώστε η απαγόρευση πρόσβασης σε αυτές να ισχύσει στο σύνολο του ΠΣΔ.

Στην περίπτωση που το αίτημα αφορά σε σελίδες που δεν απαγορεύονται, καθώς είναι αξιοποιήσιμες από τμήμα της εκπαιδευτικής κοινότητας, τότε πρέπει να εισαχθούν κανόνες απαγόρευσης στον proxy server, με την ακόλουθη διαδικασία:

  • Δημιουργούμε το αρχείο "c:\squid\etc\squid-block.acl" με περιεχόμενο τις ιστοσελίδες για τις οποίες θέλουμε να απαγορεύσουμε την πρόσβαση. Για παράδειγμα για να απαγορευτεί η πρόσβαση στις σελίδες που το url τους περιλαμβάνει τα στοιχεία “facebook.com” και “hi5.com”προσθέτουμε:

Editor.png.facebook.com

.hi5.com


  • Εισάγουμε τις ακόλουθες γραμμές στην αρχή του αρχείου "C:\squid\etc\squid.conf" πριν την εντολή "http_access allow sch:"

Editor.pngacl bad url_regex -i "C:\squid\etc\squid-block.acl"

http_access deny bad


Η παράμετρος ‘-i’ εξασφαλίζει πως η πρόσβαση στις διευθύνσεις θα απαγορευθεί ανεξάρτητα από το αν εισαχθούν από το χρήστη με μικρούς ή :κεφαλαίους χαρακτήρες.
  • Αποθηκεύουμε το αρχείο και επανεκκινούμε το squid service να ξαναφορτώσει τις ρυθμίσεις του:

Terminal.pngnet stop squid && net start squid

Ρυθμίσεις Squid για τα updates των Ubuntu & MS-Windows standalone σταθμών εργασίας

Εάν το ΣΕΠΕΗΥ διαθέτει standalone σταθμούς εργασίας είναι δυνατόν ο squid να ρυθμιστεί ώστε να κάνει cache τα updates των σταθμών εργασίας είτε αυτοί διαθέτουν Ubuntu λειτουργικό σύστημα (κάτι ανάλογο με το apt-cacher) είτε αυτοί διαθέτουν MS-Windows λειτουργικό σύστημα (κάτι ανάλογο με το MS-Windows Server Update Services). Με αυτόν τον τρόπο δεν απαιτείται κάθε σταθμός να κατεβάζει από το διαδίκτυο τα updates του.

  • Προσθέτουμε τις ακόλουθες γραμμές στο αρχείο squid.conf, πριν τον ορισμό του localnet (acl localnet src 10.x.y.z/24)

Editor.pngrefresh_pattern deb$ 1577846 100% 1577846
refresh_pattern Packages.gz$ 1440 100% 1440
refresh_pattern zip$ 1440 100% 1440
refresh_pattern windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
refresh_pattern msi$ 1440 100% 1440
maximum_object_size 1 GB

  • Σε όλους τους Ubuntu standalone σταθμούς εργασίας δίνουμε την ακόλουθη εντολή

Terminal.pngecho 'Acquire::http::Proxy "http://10.x.y.z:3128";'

όπου 10.x.y.z, η διεύθυνση του squid εξυπηρετητή.
  • Σε όλους τους MS-Windows standalone σταθμούς εργασίας δίνουμε την ακόλουθη εντολή

Terminal.pngnetsh winhttp set proxy proxy-server="10.x.y.z:3128" bypass-list="<local>;*.school.local;10.x.y.z"

όπου 10.x.y.z, η διεύθυνση του squid εξυπηρετητή, ορίζοντας πως η επικοινωνία με το τοπικό δίκτυο θα είναι άμεση και όχι μέσω του proxy. Μπορούμε να δούμε τις ρυθμίσεις με την εντολή:

Terminal.pngnetsh winhttp show proxy

Οι συγκεκριμένες ρυθμίσεις αφορούν στο Local Machine, ενώ οι ρυθμίσεις στον IE αφορούν στον Currnet User και για αυτό το λόγο οι ρυθμίσεις μέσω IE δε μπορούν να εξυπηρετήσουν τη λειτουργία Windows Update, μέσω proxy.

Dialog-warning.pngΌταν οι σταθμοί εργασίας MS-Windows κάνουν αυτόματο κατέβασμα και εγκατάσταση των updates (μέσω του MS-Windows Update service) δεν σημειώνεται 100% caching των updates. Αντίθετα εάν ο χρήστης κατεβάσει μόνος του ένα update αυτό παραμένει στην cache του squid.

Μια εναλλακτική τεχνολογία για την μαζική και αυτοματοποιημένη λήψη ενημερώσεων του ΛΣ Microsoft Windows είναι το Windows Server Update Services (WSUS), που απαιτεί την ενεργοποίηση επιπλέον υπηρεσίας στον εξυπηρετητή του Σχολικού Εργαστηρίου. Οι προτεινόμενες ρυθμίσεις για το squid είναι συμβατές με τη λειτουργία WSUS, δηλαδή δεν εμποδίζουν τη λειτουργία της, ενώ οι ενημερώσεις των Windows, θα εξυπηρετούνται μέσω της WSUS και όχι του squid.


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