Squid στο 12.04

Ξεκίνησε από ChrsMel, 17 Σεπ 2012, 10:07:52 ΠΜ

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

ChrsMel

Έκανα εγκατάσταση του squid στο ubuntu 12.04 LTSP. (apt-get install squid)
Έκανα τις απαραίτητες ρυθμίσεις στο squid.conf και δουλεύει
Έχω ρυθμίσει τον proxy του συστήματος (ρυθμίσεις συστήματος, Δίκτυο, Διαμεσολαβητής,Εφαρμογή σε όλο το σύστημα)

Ερώτηση : Ποια άλλη ενέργεια πρέπει να κάνω για παίρνουν όλοι ο χρήστες στα clients (14 thin και 1 fat) από τον proxy και όχι απ' ευθείας; 
Στο server δουλεύει έχοντας τις ρυθμίσεις του Firefox στο : Χρήση ρυθμίσεων διαμεσολαβητή συστήματος.

apanagio

Έκανες δημοσίευση του εικονικού δίσκου μετά τη ρύθμιση του proxy;

Δυστυχώς για εμάς, ο firefox επιτρέπει στους χρήστες να επιλέξουν πως θέλουν να συνδέονται στο δίκτυο (με ή χωρίς proxy).
Αν πιστεύεις ότι οι μαθητές σου θα μπορούν να βρουν τη ρύθμιση του proxy και να την παρακάμψουν μπορείς να δοκιμάσεις να επιβάλεις τη χρήση του proxy.

χρησιμοποιώντας iptables μπορείς να κόβεις την εξερχόμενη κυκλοφορία που πάει σε πόρτα 80 για όλους τους χρήστες εκτός από το διαχειριστή και τον proxy: http://askubuntu.com/questions/11957/iptables-rule-to-force-all-browsers-to-use-proxy

H λύση αυτή δεν είναι και η καλύτερη καθώς δεν ασχολείται με https αλλά είναι ένα βήμα

καλή αρχή σε όλους/ες

gidarakos

Υπάρχει και αυτό το θέμα Φιλτράρισμα σελίδων απο thin - fat client - server για ρυθμίσεις squid-mandatory-firefox.
Όμως δεν τα έχω δοκιμάσει σε 12.04!
@apanagio: δεν ισχύουν;

ChrsMel

Η καλύτερη λύση πιστεύω είναι η 2η κάρτα δικτύου ώστε να παίρνουν τα clients IP και proxy από τον server υποχρεωτικά, αλλιώς  οι μαθητές σχετικά εύκολα αλλάζουν τις ρυθμίσεις του firefox.

apanagio

Παράθεση από: vanitas στις 19 Σεπ 2012, 01:18:45 ΜΜ
Η καλύτερη λύση πιστεύω είναι η 2η κάρτα δικτύου ώστε να παίρνουν τα clients IP και proxy από τον server υποχρεωτικά, αλλιώς  οι μαθητές σχετικά εύκολα αλλάζουν τις ρυθμίσεις του firefox.

Δεν είμαι σίγουρος ότι έτσι θα λύναμε το πρόβλημα μας.
Με δεύτερη κάρτα μπορούμε να χρησιμοποιήσουμε transparent proxy αλλά και πάλι δεν μπορείς να κάνεις τίποτα για το https.

@vanitas: Άσχετα με το firefox, οι clients σου χρησιμοποιούν τον proxy; Αυτό το θέμα λύθηκε;

ChrsMel

Η δεύτερη κάρτα συνδέεται με το switch όπου συνδέονται τα client και της δίνουμε IP π.χ. 192.168.0.1  ενώ η πρώτη στο router και παίρνει IP από εκεί ή δίνoυμε 10.x.x.10
Το καλώδιο switch-router το βγάζουμε.
Έτσι ο server δίνει στα client IP π.χ. 192.168.0.x  οπότε αναγκαστικά η πρόσβαση στο internet γίνεται μέσω του proxy server. Απλά οι οδηγίες του ΠΣΔ λένε να αποφεύγουμε αυτή τη λύση για την περίπτωση βλάβης του server αλλά σε αυτή την περίπτωση έτσι και αλλιώς δεν παίζουν τα LTSP clients, δεν παίζει τίποτε.

alkisg

> για την περίπτωση βλάβης του server

...όπου οι clients έχουν και τοπικό OS, είτε Linux είτε Windows, οπότε θέλουμε να παίρνουν Internet χωρίς να αλλάζουμε την καλωδίωση. Καλά, λεπτομέρειες.

Btw ό,τι γίνεται με δύο κάρτες, μπορεί να γίνει και με μία. Αν μας βολεύει καλύτερα για το squid, μπορούμε να βάζουμε σε μία μόνο κάρτα δικτύου δύο IP, και έτσι οι clients να είναι απομονωμένοι τελείως από το τοπικό δίκτυο (gateway=ο server) ακόμα κι ας είναι στο ίδιο switch.

Δηλαδή π.χ. server ip1 = 10.160.31.10, server ip2 = 192.168.67.10, client ip = 192.168.67.123, client gateway = 192.168.67.10.
Οπότε οι clients δεν μπορούν να δουν τον router του εργαστηρίου, δεν μπορούν να βγουν στο internet αν δεν τους κάνει NAT ή proxy ο server.
Αν αυτό βολεύει καλύτερα στο squid, μπορούμε να αλλάξουμε τη default εγκατάσταση ώστε να χρησιμοποιεί 2 IP είτε μία κάρτα έχει ο server είτε δύο.

gidarakos

Άλκη ρώτησα κ τον apanagio.. αυτές οι ρυθμίσεις Φιλτράρισμα σελίδων απο thin - fat client - server ισχύουν στη 12.04;

alkisg

Από squid εγώ δηλώνω άσχετος! apanagio αν θες να τσεκάρεις το plugin αν παίζει στην 12.04 και να το ενσωματώσουμε στα sch-scripts, πολύ ευχαρίστως!
Προσωπικά θέλω να βρω ευκαιρία να διαβάσω για ip tables και proxies κτλ για να δούμε τι παίζει καλύτερα και είναι πιο σταθερό, διπλή IP σε μια κάρτα δικτύου ή όχι, transparent proxy ή όχι, κτλ, αλλά όλο και πιάνομαι με άλλα και το αναβάλλω... :-/

gidarakos

Είχα εφαρμόσει παλιότερα αυτή τη λύση Configuring a Transparent Proxy/Webcache in a Bridge using Squid and ebtables για Transparent Proxy και θυμάμαι μου είχε δουλέψει!

apanagio

Γεια σας,

Εγκατάσταση και ρύθμιση squid:
Δεν υπάρχει διαφορά από τη 10.04

Ρύθμιση clients να χρησιμοποιούν τον proxy:
Δεν έιμαι ακόμα σε εργαστήριο οπότε δεν έχω επιβεβαιώσει πειραματικά αυτά που γράφω, οπότε παρακαλώ διορθώστε με αν κάτι δεν ισχύει.
thin clients: ρυθμίζεις το server να χρησιμοποιεί τον proxy (κανεις και εφαρμογή σε όλο το σύστημα)
fat clients: Αφού ρυθμίσεις το server, δημοσιεύεις τον εικονικό δίσκο.
standalone: Ανάλογα με το λειτουργικό σύστημα κάνεις την κατάλληλη ρύθμιση (συνήθως είναι 2-3 κλίκ)

Επιβολή της χρήσης Proxy:
Το θέμα είναι αρκετά πολύπλοκο οπότε φαντάζομαι δεν θα το εξαντλήσουμε αλλά ίσως καταλήξουμε σε κάποια ικανοποιητική λύση
Χρήση του router:

  • Αν έχουμε πρόσβαση στο router μπορούμε να τον ρυθμίσουμε με τέτοιο τρόπο ώστε να δέχεται εξερχόμενες συνδέσεις μόνο απο την ip του proxy server. Έτσι όσοι χρησιμοποιούν proxy θα συνδέονται κανονικά, όσοι δεν χρησιμοποιούν θα μπλοκάρονται. Αν ο proxy server μας λειτουργεί και σαν ltsp server(συνήθως έτσι γίνεται) τότε με τους thin clients θα έχουμε πρόβλημα και θα πρέπει να τους μπλοκάρουμε με άλλο τρόπο. Επίσης πολύ συχνά δεν έχουμε πρόσβαση στο router.
    Αυτή η μέθοδος μας επιτρέπει να "μπλοκάρουμε" όλα τα μηχανήματα που θα μπουν στο δίκτυο (thin, fat, linux, windows, mac κτλ κτλ)
  • Χρήση transparent proxy
    Υποχρεώνουμε όλη την κίνηση του δικτύου να περνάει από συγκεκριμένο υπολογιστή. Εκεί εγκαθιστούμε τον proxy που "εν αγνοία" των clients φιλτράρει τα πακέτα. Είναι καλή λύση που δεν χρειάζεται καμία ρύθμιση στους clients. Έχει κάποια μειονεκτήματα: http://wiki.squid-cache.org/SquidFaq/InterceptionProxy (η πρώτη παράγραφος) που δεν είναι ιδιαίτερα σημαντικά αλλά πρέπει να τα λάβουμε υπόψη. Αν γίνει με 2 κάρτες δικτύου δεν μπορεί να παρακαμφθεί. Αν γίνει με 1 κάρτα δικτύου θα μπορούσε κάποιο μηχάνημα του δικτύου μας να βάλει άλλη IP και να συνδεθεί κατευθείαν στο router
  • Βάζουμε τον proxy "κανονικά" και με τη δύναμη του διαχειριστή, υποχρεώνουμε τους clients να χρησιμοποιούν τον proxy. Σχετικά απλή λύση, σε thin, fat clients και σε linux workstations μπορεί να δουλέψει. Για windows clients δουλεύει αρκεί να μην έιναι διαχειριστές και όλοι οι χρήστες.
    Μια παραλλαγή της λύσης αυτής είναι η ρύθμιση του proxy σε επίπεδο συστήματος, και μετά η ρύθμιση του firefox όπως γράφει στο link που λέει ο gidarakos
Αν έχουμε πρόσβαση στον router πιστεύω καλύτερη είναι η λύση 1
Αν έχουμε 2 κάρτες δικτύου στο server τότε ουσιαστικά κανουμε δουλειά router και μπορούμε να κάνουμε και τη λύση 1 και τη 2. Δίνοντας 2 ip στην ίδια κάρτα μπορούμε να κάνουμε το ίδιο άλλα δεν είναι τόσο ισχυρό γιατί δεν υπάρχει φυσικός διαχωρισμός μεταξύ των δικτύων οπότε παρακάμπτεται σχετικά εύκολα,
Αν έχουμε μόνο ltsp τότε πιστεύω η λύση 3 μας καλύπτει.

Το πράγμα περιπλέκεται αν θέλουμε να φιλτράρουμε και ασύρματες συσκευές που συνδέονται στο δίκτυο μας.

ChrsMel

#11
Παράθεση από: vanitas στις 20 Σεπ 2012, 01:58:20 ΜΜ
Η δεύτερη κάρτα συνδέεται με το switch όπου συνδέονται τα client και της δίνουμε IP π.χ. 192.168.0.1  ενώ η πρώτη στο router και παίρνει IP από εκεί ή δίνoυμε 10.x.x.10
Το καλώδιο switch-router το βγάζουμε.
Έτσι ο server δίνει στα client IP π.χ. 192.168.0.x  οπότε αναγκαστικά η πρόσβαση στο internet γίνεται μέσω του proxy server. Απλά οι οδηγίες του ΠΣΔ λένε να αποφεύγουμε αυτή τη λύση για την περίπτωση βλάβης του server αλλά σε αυτή την περίπτωση έτσι και αλλιώς δεν παίζουν τα LTSP clients, δεν παίζει τίποτε.
Παράθεση από: apanagio στις 19 Σεπ 2012, 02:26:09 ΜΜ
Δεν είμαι σίγουρος ότι έτσι θα λύναμε το πρόβλημα μας.
Με δεύτερη κάρτα μπορούμε να χρησιμοποιήσουμε transparent proxy αλλά και πάλι δεν μπορείς να κάνεις τίποτα για το https.

@vanitas: Άσχετα με το firefox, οι clients σου χρησιμοποιούν τον proxy; Αυτό το θέμα λύθηκε;

Οι clients όταν μπαίνουν στα  windows παίρνουν από router και χρησιμοποιούν τον proxy κανονικά .
Όταν μπαίνουν LTSP Clients παίρνουν απ'ευθείας, γι' αυτό άνοιξα αυτό το θέμα. Στο 10.04 έπαιρναν αμέσως τις ρυθμίσεις του συστήματος και είχαν internet μέσω proxy αλλά στο 12.04 κάτι έχει αλλάξει και παρόλο που στις ρυθμίσεις του συστήματος βάζω εφαρμογή σε όλο το σύστημα η εφαρμογή γίνεται μόνο στο server.

apanagio

Συγγνώμη αν άλλαξα θέμα στο thread. Για συνέχεια της κουβέντας για το πως να επιβάλλουμε τη χρήση proxy άνοιξα αυτό το θέμα:
https://alkisg.mysch.gr/steki/index.php?topic=4774.new#new

Για τη σύνδεση των client στον proxy:
Αν καταλαβαίνω σωστά:
Έχεις proxy που λειτουργεί σωστά.
ο server με το βασικό χρήστη συνδέεται και χρησιοποιεί τον proxy
οι thin/fat clients δεν τον χρησιμοποιούν
οι windows clients χρησιμοποιούν τον proxy κανονικά.

Αν ρυθμίσεις ένα client χειροκίνητα (πχ από τις ρυθμίσεις του firefox) να χρησιμοποιεί τον proxy δουλεύει οκ;
Αν από τον server μπεις ως άλλος χρήστης (πχ αυτός που μπαίνει από έναν client) τότε χρησιμοποιείται ο proxy;

ChrsMel

Παράθεση από: apanagio στις 21 Σεπ 2012, 02:03:42 ΜΜ
Συγγνώμη αν άλλαξα θέμα στο thread. Για συνέχεια της κουβέντας για το πως να επιβάλλουμε τη χρήση proxy άνοιξα αυτό το θέμα:
https://alkisg.mysch.gr/steki/index.php?topic=4774.new#new

Για τη σύνδεση των client στον proxy:
Αν καταλαβαίνω σωστά:
Έχεις proxy που λειτουργεί σωστά.
ο server με το βασικό χρήστη συνδέεται και χρησιοποιεί τον proxy
οι thin/fat clients δεν τον χρησιμοποιούν
οι windows clients χρησιμοποιούν τον proxy κανονικά.

Αν ρυθμίσεις ένα client χειροκίνητα (πχ από τις ρυθμίσεις του firefox) να χρησιμοποιεί τον proxy δουλεύει οκ;
Αν από τον server μπεις ως άλλος χρήστης (πχ αυτός που μπαίνει από έναν client) τότε χρησιμοποιείται ο proxy;


Αν αλλάξω τις ρυθμίσεις του χρήστη στο firefox και βάλω proxy ο χρήστης παίρνει proxy και εφαρμόζoνται οι ρυθμίσεις πρόσβασης  του squid. Αυτό συμβαίνει είτε ο χρήστης ,μπει από το τερματικό είτε από τον server.

Η αρχική ερώτηση ήτανε να εφαρμοσθούν σε  όλους  τους χρήστες οι ρυθμίσεις squid είτε έχουν δημιουργηθεί είτε όχι χωρίς να αλλαχθούν οι ρυθμίσεις στον firefox στον καθένα.

apanagio

Απ' ό,τι βλέπω,  όντως δεν εφαρμόζεται η ρύθμιση για κάθε χρήστη.
Δεν έχει σχέση με sch-scripts πρέπει να είναι bug του ubuntu.Το ανέφερα:
https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/1055525
Αν αφορά και άλλον/η κλικάρετε το "also affects me" να γίνουμε πολλοί/ες

Για το δικο μας πρόβλημα:
Για να χρησιμοποιεί ο χρήστης τον proxy πρέπει να τρέξει τις εντολές:
gsettings set org.gnome.system.proxy.socks host 'PROXY_IP'
gsettings set org.gnome.system.proxy.socks port PROXY_PORT
gsettings set org.gnome.system.proxy mode 'manual'

όπου PROXY_IP και PROXY_PORT η ip και η πόρτα του proxy αντίστοιχα

Αυτό που θέλουμε να κάνουμε είναι να τρέχουμε αυτές τις εντολές κάθε φορά που συνδέεται ένας χρήστης. Οπότε πρέπει στο ~/.profile αρχείο κάθε χρήστη να μπουν αυτές οι εντολές. (καλύτερα στο τέλος του)

Μπορείς να το κάνεις για ένα χρήστη και με ένα scriptάκι να αντιγράψεις το .profile αρχείο του, στο home όλων των υπόλοιπων χρηστών.
Αν θέλουμε οι χρήστες που θα δημιουργηθούν στο μέλλον να έχουν το ίδιο .profile αρχείο, το αντιγράφουμε στο φάκελο: /etc/skel (Υπάρχει ήδη εκεί οπότε αρκεί να συμπληρώσουμε τις γραμμές που θέλουμε)