Πρόβλημα με το Squid3 στο 12.04

Ξεκίνησε από Δημήτρης Γκίνης, 27 Ιαν 2014, 09:28:21 ΠΜ

« προηγούμενο - επόμενο »

apapakL

Η δημοσίευση εικονικού χρειάζεται για τα κλειδώματα και τις ρυθμίσεις στο firefox και τον proxy του συστήματος. Επομένως αν το μόνο που μένει είναι η παραπάνω διόρθωση (δηλαδή έχεις κάνει ήδη τα κλειδώματα και τη δημοσίευση εικονικού δίσκου) τότε το μόνο που θα θέλει είναι ένα sudo service squid3 start. Αν θες ενόχλησε αύριο να το δούμε live...

Δημήτρης Γκίνης

Μιας και η αλλαγή των proxy settings δεν δουλεύει με ότι και αν δοκιμάσαμε, αν αντί των οδηγιών που αναφέρονται στον σχετιικό οδηγό δοκιμάσω αυτό: http://askubuntu.com/questions/342906/change-proxy-settings-in-ubuntu.

Ρίξε μια ματιά εκεί που λέει:

These settings are saved into /etc/apt/apt.conf file .So you can directly add these variables using text editor .First open the apt.conf file
sudo gedit /etc/apt/apt.conf

......
ή για αλλαγή των proxy settings μέσω γραφικού πειβάλλοντος, όπως περιγράφεται εδώ:
http://askubuntu.com/questions/15719/where-are-the-system-wide-proxy-server-settings

apapakL

Εφ όσον το squid δουλεύει και η προεπιλογη του firefox ειναι να χρησιμοποιεί τις ρυθμισεις proxy συστήματος μπορείς να δηλώσεις τον proxy στα profiles των χρηστών  μαζικά για τους χρήστες που συνδέονται στους clients χρησιμοποιώντας τη σχετική λειτουργία μαζικής εκτέλεσης εντολών του επόπτη ως εξής:

gsettings set org.gnome.system.proxy.socks host 'server'

gsettings set org.gnome.system.proxy.socks port '3128'

gsettings set org.gnome.system.proxy mode 'manual'


ή όλες μαζί

gsettings set org.gnome.system.proxy.socks host 'server' && gsettings set org.gnome.system.proxy.socks port '3128' && gsettings set org.gnome.system.proxy mode 'manual'



Η καθεμία απο τις παραπάνω εντολές θα αποθηκεύσει στο προφίλ του χρήστη τις τιμές στα κλειδιά που ορίζουν τον proxy... Ορίζουμε τις τιμές μόνο για το socks και αυτές θα χρησιμοποιούνται και για http, https,ftp.

Αρκεί να τις εκτελέσεις από τον επόπτη μαζικά για τους χρήστες κάθε τμήματος που συνδέεται μια μόνο φορά. Για να επαναφέρεις τις default ρυθμίσεις η εντολή είναι

gsettings reset-recursively org.gnome.system.proxy


Ωστόσο με αυτό τον τρόπο οι ρυθμίσεις δεν κλειδώνονται και ο χρήστης (αν ξέρει) μπορεί να τις πειράξει...

Δημήτρης Γκίνης

#18
Όταν λέμε δεν θέλει, εννοούμε δεν θέλει.....
Το squid είναι ΟΚ.
Το ποβλημα εντοπίζεται στην αλλαγή του proxy.
Αρχικά δοκίμασα σε έναν client να αλλάξω τις ρυθμίσεις του proxy με:
gsettings set org.gnome.system.proxy.socks host 'server' && gsettings set org.gnome.system.proxy.socks port '3128' && gsettings set org.gnome.system.proxy mode 'manual'

Το δοκιμάζω, δουλεύει. Άντε λέω, επιτέλους.
Αμ δε...

Edit: Το πιθανότερο είναι ότι κάποια στιγμή άλλαξα manual τον proxy ορίζοντας τον server και δεν το θυμόμουν.
Σε όποιον άλλο client ή user το δοκιμάζω, δεν μπορούν να συνδεθούν σε καμιά σελίδα παρά μόνο αν επαναφέρω τις default ρυθμίσεις (μετά την αλλαγή του proxy δοκίμασα logoff, restart αλλά τίποτα..).
Αν όμως δοκιμάσω να αλλάξω τις ρυθμίσεις του proxy  μέσα από τις ρυθμίσεις του firefox, τότε όλα είναι ΟΚ και το squid φιλτράρει τις  για σελίδες κανονικά.
....
Αν κάνω το εξής:
Στον server, με
sudo gedit /etc/apt/apt.conf
ανοίξω το apt.conf και προσθέσω
Acquire::http::proxy "http://server:3128/";
για να ορίσω proxy για το http και παρόμοια για τα υπόλοιπα πρωτόκολλα (https κλπ), και κάνω μετά δημιουργία εικονικού και τον μοιράσω στους clients δεν θα δουλέψει??

ΑΚΥΡΟ: η αλλαγή στο apt.conf επηρεάζει μόνο τον proxy που χρησιμοποιεί η apt-get και όχι τον system proxy

apapakL

Το ότι μετά την αλλαγή δεν μπαίνουν σε καμία σελίδα είναι θετικό :D ! Σημαίνει ότι κάτι αλλάζει στον proxy τελικά. Όταν έχεις χρόνο να το δούμε live.... 

Δημήτρης Γκίνης

Τελικώς:
Τρέχοντας από τον Επόπτη στους clients:
gsettings set org.gnome.system.proxy.socks host 'server' && gsettings set org.gnome.system.proxy.socks port '3128' && gsettings set org.gnome.system.proxy mode 'manual'

δεν αλλάζει για κάποιον λόγο τον proxy για το http ως όφειλε.
Για να γίνει αυτό πρέπει να ξανατρέξεις την ίδια εντολή αντικαθιστώντας το socks με http, δηλαδή:
gsettings set org.gnome.system.proxy.http host 'server' && gsettings set org.gnome.system.proxy.http port '3128' && gsettings set org.gnome.system.proxy mode 'manual'

Αυτό συμβαίνει μόνο στους clients (είναι όλοι fat). Στον server η εντολή
gsettings set org.gnome.system.proxy.socks host 'server' && gsettings set org.gnome.system.proxy.socks port '3128' && gsettings set org.gnome.system.proxy mode 'manual'

δουλεύει μια χαρά....

@#$%^&$#%#%$#%

apapakL

Όντως εντός του server δηλαδή local accounts - thin clients παίζει μια χαρά η ρύθμιση με το socks. Στους fat όμως όχι εκτός αν ρυθμιστεί το κλειδί για το http... Ωστόσο, η σχετική εξήγηση στον dconf editor λέει οτι αν ρυθμιστεί το socks τότε ισχύει για όλα τα πρωτόκολλα αν τα σχετικά κλειδιά παραμείνουν κενά.

Δημήτρης Γκίνης

Να υποθέσω ότι αυτό ακριβώς δημιουργούσε και το πρόβλημα όταν προσπαθούσαμε να αλλάξουμε τον system proxy των fat clients με το dconf-tools και την διαδικασία που περιγράφεται στον σχετικό οδηγό εγκατάστασης του squid3;
Αν ναι, καλό θα ήταν να ενημερωθούν οι σχετικοί οδηγοί ώστε να το έχουν υπόψη όσοι προσπαθήσουν να κάνουν το ίδιο σε εγκατάσταση με fat clients.

@apapakL: Και πάλι ευχαριστώ για το χρόνο που διέθεσες... :)

apapakL

#23
Φαίνεται ότι κάποια ιδιαιτερότητα υπάρχει ή κάτι πήγε πολύ στραβά με την αρχική προσπάθεια που έγινε με την εφαρμογή των οδηγιών στη δική σου περίπτωση... Ο οδηγός έχει εφαρμοστεί, τόσο από εμένα στις διάφορες εγκαταστάσεις στις οποίες έχω αναμιχθεί όσο και από άλλους συναδέλφους, και λειτουργεί είτε πρόκειται για fat είτε για thin. Το κακό είναι ότι χρειάζεται μεγάλη προσοχή όταν παίζεις με το dconf  >:(. Το workaround που είδαμε με το gsettings λειτουργεί με ρύθμιση των τιμών socks μόνο για thin ενώ αν αντί για το socks ρυθμίσουμε τις τιμές του κλειδιού για το htpp τότε ο proxy ρυθμίζεται και για fat και για thin. Επομένως, μια πιο εύκολη λύση, η οποία όμως δεν εξασφαλίζει ότι κάποιος μαθητής δεν θα μπορέσει να κάνει override τον proxy, είναι εφαρμογή του οδηγού μέχρι το τέλος της εγκατάστασης και ρύθμισης του squid3 και του ident2. Στη συνέχεια, από τον επόπτη αποθήκευση στα προφιλ των χρηστών που είναι συνδεδεμένοι στους clients (thin ή fat) των ρυθμίσεων proxy με την εντολή:
gsettings set org.gnome.system.proxy.http host 'server' && gsettings set org.gnome.system.proxy.http port 3128 && gsettings set org.gnome.system.proxy mode 'manual'


Ωστόσο, αν δεν σε ενδιαφέρει να κάνεις cache ιστοσελίδες για εξοικονόμηση bandwith και γρηγορότερο web browsing, αλλά μόνο να κόβεις ιστοσελίδες υπάρχει και η λύση https://alkisg.mysch.gr/steki/index.php?topic=5060.msg52886#msg52886 που είχε προτείνει κάποτε ο alkisg!

Δημήτρης Γκίνης

Στους clients το squid φαίνεται να δουλεύει: κόβει πχ το facebook.

Σε κάποιες όμως σελίδες δεν μπορεί να μπει: πχ www.google.gr , μετά από λίγο εμφανίζεται στον browser το μήνυμα:
The following error was encountered while trying to retrieve the URL: http://www.google.gr/
    Connection to 2a00:1450:4005:808::1018 failed.

Το σύστημα ενημέρωσε ότι: (110) Connection timed out

The remote host or network may be down. Please try the request again.

Generated Wed, 19 Feb 2014 09:04:40 GMT by localhost (squid/3.1.19)


ενώ σε κάποιες άλλες μπαίνει κανονικά: www.bing.com, www.in.gr.
Εννοείται ότι το www.google.gr δεν ανήκει στα banned_domains.
Αν στους client απενεργοποιήσω τον proxy με
gsettings reset-recursively org.gnome.system.proxy

τότε μπαίνουν σε όλες τις σελίδες.

apapakL

#25
Κάποιο πρόβλημα με λάθος ρυθμίσεις για ipv6 σε κάποιο ενδιάμεσο dns πρέπει να έφταιγε. Ο squid κοιτά πρωτα για ipv6 και μετά για ipv4... Αν ομως δεν είναι σωστά ρυθμισμένο το σχετικό ipv6 record τότε φαίνεται σαν να μην παίζει το site και ο squid δεν κάνει fallback σε ipv4... Ένα workaround είναι να του πεις να αλλάξει τη σειρά και να κοιτά πρώτα ipv4 εισάγοντας τη γραμμή

dns_v4_fallback on


στο squid.conf. Το default είναι dns_v4_fallback off...

πηγή: http://www.squid-cache.org/Doc/config/dns_v4_fallback/