sobota, 05 lipca 2008 
Start arrow FreeBSD arrow WWW arrow Vhosty poprzez WWW
Menu BSD4u
FreeBSD
OpenBSD
NetBSD
Dla *BSD
FAQ BSD4u
Forum BSDGuru.org
Security Advisory
Licencje
Images BSD
Menu ogólne
Start
Aktualności
Download
Sondy
Szukaj
Linki
Książki
About BSD4u
Info
Team BSD4u
Regulamin
Kanał #BSD4u
Kontakt
Sondy
Co sądzisz o naszym nowym Projekcie, i jak oceniasz zmianę koncepcji Projektu?
 
Popularne
Kompilacja i konfigu...
SQUID - najpopularni...
Neostrada+ i modem ...
NATowanie czyli jak ...
Upgrade systemu
Samba - serwer plikó...
Apache (konfiguracja...
Praktyczne IPFW
MRTG - statystyki ru...
CVSup - pomocny podc...
Neostrada na modemie...
Postfix z autoryzacj...
System Portów (Kolek...
Postfix - bezpieczny...
Dummynet - dzielenie...
Top Download
File icon Postfix - "Krok po kroku" v1.06529
File icon Postfix - "Krok po kroku" v1.16155
File icon PPTPd - "Prosty i szybki VPN" v1.0b4861
File icon sdi.sh3830
File icon uEagle 1.0p12958
File icon named.sh2901
File icon uEagle 0.99b2861
File icon cs.sh2774
File icon uEagle 1.02751
File icon uEagle 1.12553
Ostatnie komentarze
transparent a virus...
Dodał: grzywka18
Dnia: 2008-05-13 11:19:58
hmm
Dodał: dzibi
Dnia: 2007-12-12 10:01:14
Bez tytułu
Dodał: grzywka18
Dnia: 2007-12-11 17:46:06
Bez tytułu
Dodał: termid
Dnia: 2007-05-09 18:01:11
Bez tytułu
Dodał: sarelo33
Dnia: 2006-12-30 23:50:14
Jest ok ale..
Dodał: theviant
Dnia: 2006-11-16 08:10:05
Google

Google


Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..




SQUID - najpopularniejszy serwer proxy Drukuj E-mail
Oceny: / 33
KiepskiBardzo dobry 
niedziela, 21 września 2003 - Napisał: Marcin Burda (47905 odsłon)

Jedną z najważniejszych usług Internetu, która często jest bezpośrednio kojarzona z Internetem, jest sieć WWW, dostarczana przez protokół HTTP. Znaczna ilość sieciowego ruchu transmitowana jest właśnie przez ten protokół. HTTP zawiera jednak mechanizmy, które pozwalają na unikanie wielokrotnej transmisji tego samego materiału przez sieć, mianowicie zgłaszanie czasu modyfikacji, czasu ważności oraz identyfikatora treści. Mechanizmy te są wykorzystywane przez przeglądarki internetowe do tworzenia lokalnego cache. Jednak lokalne cache dotyczy tylko jednego użytkownika na jednym komputerze, nie może więc zapobiec wielokrotnego sprowadzania tych samych danych poprzez jedno łącze internetowe przez wielu użytkowników, na przykład w sieci lokalnej. Potrzebny jest więc centralny serwer cache, który będzie zapisywał lokalne kopie stron dla większej ilości użytkowników. Serwerem tego typu jest Squid.

Instalacja i konfiguracja

# cd /usr/ports/www/squid24/
# vi Makefile

Odchaszowujemy poniższe linijki lub jeżeli którejś brakuje to dopisujemy:

--enable-dlmalloc
--enable-delay-pools
--enable-snmp
--enable-cache-digests
--enable-ipf-transparent
--disable-ident-lookups
--enable-truncate
--enable-removal-policies='heap lru'
--enable-heap-replacement

# make build && make install && make clean

Po zainstalowaniu przechodzimy do konfiguracji.
Głownym plikiem odpowiedzialnym za squida jest squid.conf

# cd /usr/local/etc/squid/squid.conf
# vi squid.conf

Poniżej przedstawiam przykładowy plik konfiguracyjny:

--- squid.conf ---

# transparentny proxy
http_port 8080
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

# ile pamięci użyć
cache_mem 32 M

# Max out Squid I/O perfomance, 500 mb cache and use Squid special diskd but you need to recompile
cache_dir diskd /home/w3cache 500 16 256 Q1=72 Q2=6

# I dont want to log anything
cache_access_log /var/log/squid/squid-access
cache_store_log none
cache_log /var/log/squid/squid-log
pid_filename /var/run/squid.pid

# Cache replacement policy
# GDSF zatrzymuje w cache niewielkie popularne obiekty
cache_replacement_policy GDSF

# Standard Access List
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 siec src 192.168.1.0/255.255.255.0 # nasza sieć LAN
acl SSL_ports port 443 563
acl Safe_ports port 21 80 442 563 70 210 280 488 591 777 1025-65535
acl CONNECT method CONNECT
acl MCONN maxconn 30

# wycięte słowa
#acl bad_url url_regex "/usr/local/etc/squid/bad_url"

# IP
#acl bad_url_ip_1 src 192.168.1.12

# dostęp 
#http_access deny bad_url bad_url_ip_1
http_access allow localhost
http_access allow manager localhost
http_access deny manager
http_access deny to_localhost
http_access deny MCONN siec
http_access allow siec
http_access deny CONNECT !SSL_ports
http_access deny !Safe_ports
http_access deny all

#Allow ICP queries from eveyone
icp_access allow all

# wyłączone cacheowanie cgi
acl QUERY urlpath_regex cgi-bin ?
hierarchy_stoplist cgi-bin ?
no_cache deny QUERY

acl magic_words1 url_regex -i 192.168
acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov

# Delay Pool
delay_pools 2

# limit na pliki wymienione w acl magic_words2 url_regex (4kb/s)
delay_class 1 2
delay_parameters 1 15650/15650 4000/15650
delay_access 1 allow magic_words2
delay_access 1 allow siec

# -1/-1 means that there are no limits for local traffic.
delay_class 2 2
delay_parameters 2 -1/-1 -1/-1
delay_access 2 allow magic_words1

# maksymalny plik jaki można ściągnąć (1MB)
#reply_body_max_size 1024 KB

# pora dnia, o której będą obowiązywać ograniczenia
acl day time 13:00-24:00

# snmp stuff
acl snmppublic snmp_community public
snmp_access allow snmppublic localhost
snmp_access deny all

# Change to your domain
cache_mgr

# serwery dns (możesz podać swój np. 192.168.1.1)
dns_nameservers 194.204.152.34 194.204.159.1

# aby użytkownicy nie mieli żadnych problemów z ftp
ftp_passive off

# podaje adres przy logowaniu anonymous
ftp_user ftp@LAN
# czas przechowywania zapisanych stron (dwa tygodnie)
reference_age 2 week

# logowanie zapytań ICP z innych serwerów web cache:
log_icp_queries off

# zapis logów z buforowaniem
buffered_logs on

# nazwa wyświetlana
visible_hostname konin.ath.cx

# reguły odświeżania
refresh_pattern -i (.*jpg$|.*gif$) 0 50% 28800
refresh_pattern -i (.*html$|.*htm|.*shtml) 0 20% 1440
refresh_pattern (http://.*/$) 0 20% 1440
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

# INNE
error_directory /usr/local/etc/squid/errors
debug_options ALL,1
connect_timeout 180 seconds
peer_connect_timeout 50 seconds
read_timeout 5 minutes
request_timeout 2 minutes
client_lifetime 1 day
half_closed_clients on
pconn_timeout 120 seconds
dead_peer_timeout 25 seconds
maximum_object_size 1024 KB
pipeline_prefetch on 
forwarded_for off

--- end squid.conf ---

Zapisujemy plik.
Następną czynność jaką należy wykonać to :

# cd /var/log
# mkdir squid
# chown nobody:nogroup squid

# cd /home
# mkdir w3cache
# chown nobody:nogroup w3cache

# squid -z

Przechodzimy do katalogu rc.d i zmieniamy plik squid.sh.

# cd /usr/local/etc/rc.d
# vi squid.sh

#!/bin/sh
echo -n ' Squid '
case "$1" in
start)
/usr/local/sbin/squid -D
;;
stop)
/usr/local/sbin/squid -k shutdown
;;
restart)
/usr/local/sbin/squid -k reconfigure
;;
*)
echo "Usage: `basename $0` {start|stop|restart}"
;;
esac

Dajemy prawa wykonywania dla tego pliku

# chmod +x squid.sh

i odpalamy squida

# /usr/local/etc/rc.d/squid start

Statystyki SQMGRLOG

Jeżeli chcemy mieć wszystko ładnie logowane gdzie i na jakich stronach siedzą nasi userzy, to proponuje zainstalować narzędzie sqmgrlog.
We FreeBSD wersji 4.x można go znaleźć np. w /usr/ports/, natomiast we FreeBSD 5.x nie ma tego programu w portach. Proponuje więć ściągnąć sobie paczkę z serwera ftp.freebsd.org:

# wget ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.8-release/All/sqmgrlog-3.0.1.tgz
# pkg_add sqmgrlog-3.0.1.tgz

Przechodzimy do konfiguracji
# cd /usr/local/etc/
# vi sqmgrlog.conf

W pliku zmieniamy access_log i output_dir na :

access_log /var/log/squid/squid-access
output_dir /usr/local/www/squid-reports

Jeżeli chcemy aby nasz statystyki były pod adresem www.squid-stats.domena.pl robimy odpowiedni alias w DNSie w pliku strefy naszej domeny i odpowiedni VirtualHost w Apache'u.
Przechodzimy do configa od Apache i robimy sobie dodajemy wpisy :

# cd /usr/local/etc/apache
# vi httpd.conf


ServerAdmin
DocumentRoot /usr/local/www/squid-reports
ServerName www.squid-stats.domena.pl
ErrorLog /var/log/ squid-stats.domena.pl-error_log
CustomLog /var/log/apache/ squid-stats.domena.pl-access_log common

Restartujemy Apache i odpalamy sqmgrlog:

# apachectl restart
# /usr/local/bin/sqmgrlog.

Proponuje dodać sobie sqmgrlog do crona (np. co minutę)

# cd /etc/
# vi crontab

*/1  *  *  *  root  /usr/local/bin/sqmgrlog

Teraz po wpisaniu w dowolnej przeglądarce www.squid-stats.domena.pl naszym oczom ukażą się piękne statystki.

Wymuszenie na użytkownikach korzystania z proxy.

Jeżeli chcemy zmusić usera do korzystania z servera proxy, robimy to w następujacy sposób (przykład dla tych którzy używają maskarady IPNAT):

# cd /etc
# vi ipnat.rules

Jeżeli chcemy aby każdy user korzystał z proxy to dopisujemy:

rdr rl0 0/0 port 80 -> 192.168.1.1 port 3128 tcp

Natomiast jeżeli chcemy aby user z ip 192.168.1.10 i 192.168.1.11 korzystał z proxy a inni nie to robimy taki wpis:

rdr rl0 from 192.168.1.10/32 to any port = 80 -> 192.168.1.1 port 8080 tcp
rdr rl0 from 192.168.1.11/32 to any port = 80 -> 192.168.1.1 port 8080 tcp

Przeładowujemy ipnata

# ipnat -CF -f /etc/ipnat.rules


Autor: Marcin Burda
ml0dy(at)konin.ath.cx

Komentarze:
Re: SQUID - najpopularniejszy serwer pro
Dodane przez DrOOcik w dniu - 2003-09-30 21:39:12
# ile pamięci użyć 
cache_mem 32 M 
 
To dokładnie nie jest tak. 
 
--- 
Squid jest strasznie pazerny na pamięć (im więcej tym lepiej), że nie wspomnę o jakości twardziela (skazi obowiązkowo!). Znam z doświadczenia, że jak dysk był wolny (nędzne ATA 33) i pamięci tyle, co kot napłakał (smętne 64MB) to po kilkumiesięcznym testowaniu wyrzuciłem squida, bo zanim sprawdził cache, zanim odszukał pliki, to dawno już można było zassać, co potrzeba z sieci. Czyli zbędny wodotrysk. Pamiętajcie o tym, admini! 
 
--- 
 
Z moich doświadczeń wynika, że ograniczenie do 32 MB w tym punkcie konfiguracji nie działa jak należy. 
Przy tej wartości potrafi "zeżreć" i 3 razy tyle swapując niemiłosiernie. 
 
Trzeba to sprawdzać empirycznie. Ale by właśnie ograniczyć do max 32 MB użycia pamięci (przynajmniej u mnie) wstawiam tu 8MB i wtedy faktycznie nie wychodzi poza te 32MB (squid działa od roku). Sam nie wiem dlaczego. Bo nic więcej od standardowych ustawień nie zmieniałem. 
 
Any ideas? 
 
--- 
 
# Max out Squid I/O perfomance, 500 mb cache and use Squid special diskd but you need to recompile 
cache_dir diskd /home/w3cache 500 16 256 Q1=72 Q2=6 
 
Sa różne szkoły, jak to z tym podziałem najlepiej. 16 256 ? Chyba jednak tak. Ja kombinowałem na różne sposoby i tak źle, i tak niedobrze. Zostałem przy domyślnych. Tylko ta wielkość 500 - hmmm. Patrz wyżej... To nieprawda, że im większy cache, tym mniej zapytań. No, może i mniej, ale czas przeszukiwania jest coraz większy. Tu nie ma reguły. Widziałem cache 5GB, ale na szybkich dyskach i pamięci od cholery (1GB) - wtedy to ma sens. A tak? Ja daję przy średniej jakości kompie (RAM 128-256 MB) dyski ATA - 200MB  
Tą wielkość trudno ocenić. "By wilk był syty i...". 
 
No i: Squid special diskd but you need to recompile - właśnie, diskd. Coś zawsze miałem z tym problemy. Niby działało, ale od czasu do czasu były jakieś błędy w logach. I nie wnikając, zostałem przy starym: ufs
Re: SQUID - najpopularniejszy serwer pro
Dodane przez DrOOcik w dniu - 2003-09-30 21:59:42
Aaa, sorek i jeszcze jedno, trasparent proxy... 
 
Co ja się swego czasu namęczyłem, by to zrobić... 
 
Wszyscy piszą o ipnat, ale mnie to jakoś nie chciało chodzić. Już nie miałem siły, by sprawdzić dlaczego... 
 
Ale chyba wszyscy znaja ipfw? No i dummynet na przykład? No, znacie, to posłuchajcie:  
 
Sprawa prosta, gdzieś tam w skrypcie dummynet (tylko przed rurkami i takimi tam) lub w innym dopiszcie sobie po prostu: 
 
ipfw add nr_regulki fwd 127.0.0.1,port_squida tcp from nasza_siec to any 80 
 
gdzie: 
 
nr_regulki to moze byc (bo ja wiem) może 1000 
 
nasza_siec to przykladowo 192.168.0.0/24 
 
I już!
Re: SQUID - najpopularniejszy serwer pro
Dodane przez pawcio w dniu - 2004-01-06 21:10:03
Jest mały problem jak podaję opcje --enable-ipf-transparent to wyrzuca iz nie będzie transparantnego proxy i nie mogę tego rozgryżć chociaż reszta opcji się zgadza i dział z małym ale iż należy nadać prawa wykonywalne nie tylko na katalogi logowania ale także na podstawowe logi squida jakby cos to moze ktos mi coś podpowie dlaczego nie zabardzo to mi zadziałało ja używam ipfw do przycinania klientów i użyłem do tego ciekawego skryptu który otrzymałem od znajomego
Re: SQUID - najpopularniejszy serwer pro
Dodane przez pepe w dniu - 2004-01-19 08:14:32
Najpierw skasuj plik config.cache a potem spróbuj tak:  
env CPPFLAGS="-fhuge-objects -I/usr/src/sys/contrib/ipfilter/netinet" ./configure --enable-ipf-transparent ...
Re: SQUID - najpopularniejszy serwer pro
Dodane przez Trash w dniu - 2004-03-01 18:16:13
Od wersji 5.x SQMGRLOG istnieje w portach ale nazwa zostala zmieniona na sarg. /usr/ports/www/sarg
Re: SQUID - najpopularniejszy serwer pro
Dodane przez kingboy w dniu - 2004-10-26 17:30:17
a ja napisze tak: mam w pracy maszyne na płycie Intela z PIV 2.4Ghz i 1Gb ramu, squid-proxy osadzony jest na dwóch dyskach 120Gb spiętych w RAID 0 w sieci jest tzw. przymus korzystania z proxy (obecnie 186 userow), lacze 2Mb, ustawilem tak paramtery: 
cache_mem 768 MB 
maximum_object_size 81920 KB 
cache_dir ufs /var/spool/squid 120000 256 256 
Jak na razie nie widac aby cos sie przytykało czy robiło cokolwiek co by swiadczylo ze maszyna sie nie wyrabia, jedynie jak zwiekszylem objetosc z 120Gb na 125Gb to zauwazylem ze maszyna zaczela swapowac (512Mb jest na swapa) widocznie osiagnalem mase krytyczna dlatego chyba wroce do 120Gb kiedy swap byl rzedu 12Mb a nie jak teraz 80Mb-90Mb, po za tym wszystko smiga az milo, srednia trafnosc oscyluje na poziomie 48% co jest wynikiem doskonalym. 
Jedyne co w sumie wydaje mi sie nalezaloby zrobic to zwiekszyc pamiec do 2Gb i wtedy powinno nic nie swapowac. 
 
Re: SQUID - najpopularniejszy serwer pro
Dodane przez piotr_k10 w dniu - 2005-05-03 18:47:57
Mam problem zapiałem plik squid.conf tak jak jest wyżej i pisze mi takie coś.Czy ktoś wie jak to poprawić 
 
 
 
[root@serwer etc]# squid -z 
FATAL: Could not determine fully qualified hostname. Please set 'visible_hostname' 
 
Squid Cache (Version 2.5.STABLE6): Terminated abnormally. 
CPU Usage: 0.014 seconds = 0.006 user + 0.008 sys 
Maximum Resident Size: 0 KB 
Page faults with physical i/o: 0 
Aborted (core dumped) 
transparent a virusy
Dodane przez grzywka18 w dniu - 2008-05-13 11:19:58
Podobno jesli ktos ma transparetne proxy to wirusy atakuja squid -przez co moze nie działac poprawnie .Jak sie bronic przed tym ??

Tylko zarejestrowani użytkownicy mogą pisać komentarze.
Prosze zaloguj się i dodaj komentarz.

Powered by AkoComment!

Ostatnio aktualizowany ( piątek, 11 listopada 2005 )

« wstecz   dalej »
Ciekawostki
By wyczyścić linię którą napisałeś w konsoli, użyj "Ctrl-U".
Pobierz
FreeBSD
OpenBSD
NetBSD
DragonFlyBSD
PC-BSD
FreeSBIE LiveCD
4.4BSD Lite
Reklama M3M.pl
Domeny
Książki

FreeBSD. Księga eksperta

FreeBSD. Księga eksperta

Cena: 125.00 zł
Dodaj do koszyka


FreeBSD. Podstawy administracji systemem

FreebBSD

Cena: 64.90 zł
Dodaj do koszyka


OpenBSD. Podstawy administracji systemem

OpenBSD

Cena: 84.90 zł
Dodaj do koszyka


OpenBSD. Tworzenie firewalla za pomocą PF

Firewall PF

Cena: 44.90 zł
Dodaj do koszyka

Licznik odwiedzin
Odwiedziło już nas
2278353
Internautów od lutego 2003

Korzystamy ze statysyk