Proxy (Internet Sharing) tutorial
Γενικά για τον Proxy
Ρύθμιση Proxy
Proxy στους Browsers
Ρύθμιση Proxy σε Firefox
Στα Preferences του Firefox, επιλέγουμε Advanced>Network
Επιλέγουμε Settings
- Στη θέση του 10.140.1.1 βάζουμε την ip ή το dns name του proxy server και όπου 8080 την port του.
- Στη θέση No proxy for συμπληρώνουμε 10.0.0.0/8 και .pwmn (τα χωρίζουμε με ",")
Ρύθμιση Proxy σε Internet Explorer
Proxy στο IRC
Proxy στο MSN
Proxy σε Torrents
Proxy Servers
Windows Proxy Servers
Linux Proxy Servers
Squid
O Squid είναι ένας HTTP/1.0 proxy με πολλές δυνατότηετες όπως caching, access control, authorization και logging.
H δυνατότητα του squid να κάνει caching τις σελίδες που γίνονται access, ελαχιστοποιεί το απαιτούμενο προς το internet bandwidth και δίνει συχνά την εντύπωση ταχύτατης σύνδεσης στο internet.
Οι περισσότερες ρυθμίσεις του squid βρίσκονται στο squid.conf (συνήθως στο /etc/squid/squid.conf).
Squid: Βασικές Ρυθμίσεις
Στο squid.conf:
http_port 3128 cache_mem 400 MB
- ΠΡΟΣΟΧΗ: Squid -z για τη δημιουργία των αρχείων της cache
Squid: Access Control Lists
Έτσι επιτρέπουμε την πρόσβαση στον proxy του 10.140.1.2.
Στο squid.conf:
acl UserName src 10.140.1.2/255.225.255.255 http_access allow UserName icp_access allow UserName
Squid: Bandwidth Control (Pools)
Τα pools είναι ο μηχανισμός του squid για περιορισμό του bandwidth. Οι περιορισμοί αυτοί μπορούν να γίνουν ανά subnet, user κλπ. και να ακολουθήσουν διάφορες πολιτικές περιορισμού. Μία από τις πιο ενδιαφέρουσες είναι η level 2 pool στην οποία μπορούμε να περιορίσουμε το bandwidth που μοιράζονται όλοι οι χρήστες καθώς και το maximum bandwidth του καθενός.
Οι κανονισμοί λειτουργούν ως εξής:
Ο κανονας ορίζεται σαν bw_limit/Pool_Size. Το δεύτερο είναι το μέγεθος της pool (εδώ 3000000bytes δηλαδή ~3MB) το οποίο επιτρέπεται να αδειάσει χωρίς περιορισμούς στην ταχύτητα. Αυτό επιτρέπει ταχύτατη πρόσβαση σε ιστοσελίδες μιας και οι ιστοσελίδες είναι συνήθως λιγότερες του 1MB. Όταν αδειάσει το pool (των 3ΜΒ εδώ) τότε ενεργοποιείται ο περιορισμός bw_limit (εδώ είναι 20000bytes/sec δηλαδή ~20kbytes/sec).
Το pool level 1 επιτρέπει έλεγχο του bandwidth συνολικά.
Στο squid.conf:
all src 0.0.0.0/0.0.0.0 delay_pools 1 delay_class 1 1 delay_parameters 1 20000/3000000 delay_access 1 allow all
Συνολικά FULL SPEED μέχρι τα 3000000 bytes και στη συνέχεια 20000 bytes/sec
Το pool level 2 επιτρέπει εκτός από συνολικό έλεγχο, και έλεγχο ανά χρήστη
Εδώ περιλαμβάνεται ο κανόνας της level 1 pool (20000/3000000) αλλά και ο level 2 (13000/2000000)
Η δεύτερη παράμετρος (20000/3000000) στο delay_parameters δηλώνει τον κανονισμό για όλους τους users ενώ η τρίτη (13000/2000000) αφορά τους μεμονομένους χρήστες.
Στο squid.conf:
acl all src 0.0.0.0/0.0.0.0 delay_pools 1 delay_class 1 2 delay_parameters 1 20000/3000000 13000/2000000 delay_access 1 allow all
Συνολικά FULL SPEED μέχρι τα 3000000 bytes και στη συνέχεια 20000 bytes/sec για όλους τους χρήστες και FULL SPEED μέχρι τα 2000000 bytes και 13000 bytes/sec ανά χρήστη
Ένα working squid.conf
http_port 8080 hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY # #CACHE SIZE #----------------- cache_mem 400 MB # auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off #Suggested default: refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 # # ACCESS CONTROLS # ----------------------------------------------------------------------------- #Recommended minimum configuration: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl Safe_ports port 6667 # irc acl Safe_ports port 81 # http-81 acl Safe_ports port 800 # http-800 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS #---------------------------------------------------------------------------------------------------------------------- acl all src 0.0.0.0/0.0.0.0 delay_pools 1 delay_class 1 2 delay_parameters 1 45500/3000000 33000/2000000 delay_access 1 allow all # #USERS #--------- acl proxy_username src 10.140.1.1/255.255.255.255 http_access allow proxy_username icp_access allow proxy_username # #END USERS http_access deny all http_reply_access allow all icp_access allow all # # HOSTNAME #--------------------- visible_hostname myhostname.something coredump_dir /var/lib/squid/cache
Σημείωση:
- Επιτρέπει μόνο τον user proxy_username με ip 10.140.1.1
- To hostname είναι στο visible_hostname και είναι το myhostaname.something. Αυτό το αλλάζετε ανάλογα με το hostname σας