Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-08-12 16:05:23

  kayo - Członek DUG

kayo
Członek DUG
Zarejestrowany: 2007-05-20

Squid 2.6 - krotkie wprowadzenie

Squid jest jednym z najlepszych o ile nie najlepszym proxy dostępnym obecnie w sieci. Nie ma on dużych wymagań co do sprzętu. Warto jednak by serwer miał troszkę dostępnej pamięci. dla średniej sieci wystarczające jest 512 MB RAMu.
Zakładam że adres serwera to 192.168.0.254, LAN wisi na eth1 i proxy znajduje się na tej samej maszynie co router. Będziemy tylko zmieniać domyślne wartości w pliku squid.conf

    [b]Instalacja i pierwsze uruchomienie.
[/b]
Zaczniemy od jego instalacji:
   

Kod:

apt-get install squid

Po instalacji squid jest uruchomiony z domyślnymi parametrami. Zajmiemy się teraz ich zmianami pod nasze potrzeby.
    Poinformujmy squida gdzie  i jak ma działać:
   

Kod:

http_port 192.168.0.254:3128 transparent

Jeszcze drobna zmiana w iptables:
   

Kod:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128

W zasadzie to wystarczy by proxy dzialało. Wystarczy przeładować squida poleceniem:
   

Kod:

/etc/init.d/squid restart

[b]Drobna optymalizacja[/b]

    W konfiguracji domyślnej squid zachowuje się całkiem dobrze. Oczywiście zastosujemy tu zasadę, że „zawsze może być lepiej”.
    Dla średniej wielkości sieci wystarczy by squid zajmowal w pamięci 128 MB:
   

Kod:

cache_mem 128 MB

Definiujemy maksymalny rozmiar pliku jaki będzie przechowywany przez squida:
   

Kod:

maximum_object_size 10 MB

i maksymalny rozmiar jaki będzie przechowywany w pamięci:
   

Kod:

maximum_object_size_in_memory 64 KB

Warto zdefiniować ilość przechowywanych wpisów FQDN:
   

Kod:

fqdncache_size 8192

Teraz zajmiemy się jedną z ważniejszych spraw, mianowicie sposobem wymiany plików w cache'u.
Aby zapewnić jak efektywniejsze działanie ustawiamy:
   

Kod:

cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

Teraz sposób obsługi cache na dysku:
   

Kod:

cache_dir diskd /var/spool/squid 256 16 256 Q1=90 Q2=110

Squid potrzebuje również dostępu do serwerów DNS:
   

Kod:

dns_nameservers 127.0.0.1 194.114.149.10

Wpisujemy własne adresy ip DNS. Warto uruchomić własny serwer dns cache.
Dodajmy jeszcze regułki do odświeżania niektórych typów plików oraz w zależności od miejsca ich pochodzenia:
   

Kod:

refresh_pattern -i \.(gif|jpg|jpeg|png|html|bmp)                                4320    90%     43200   reload-into-ims
refresh_pattern -i \.(zip|gz|bz2|exe|rar|mp3|mpg|avi|wmv|vqf|ogg|swf|js)        43200   100%    43200   reload-into-ims
refresh_pattern -i http://.*\.windowsupdate\.com/.*              43200   100%    43200   reload-into-ims
refresh_pattern -i http://download\.microsoft\.com/.*            43200   100%    43200   reload-into-ims
refresh_pattern -i http://.*\.update.microsoft.com/.*            43200   100%    43200   reload-into-ims
refresh_pattern -i http://au\.download\.windowsupdate\.com/.*    43200   100%    43200   reload-into-ims
refresh_pattern -i http://windowsupdate\.microsoft\.com/.*       43200   100%    43200   reload-into-ims
refresh_pattern -i http://download\.windowsupdate\.com/.*        43200   100%    43200   reload-into-ims
refresh_pattern \?                                                              0       90%     43200   reload-into-ims

Ustawiamy jeszcze polskie komunikaty o błędach ze squida
   

Kod:

error_directory /usr/share/squid/errors/Polish

I to by było na tyle. Po wszystkich zmianach przeładowujemy squida:
   

Kod:

/etc/init.d/squid restart

Oby Wam squid służył jak najdłużej;-)
Oczywiście, ten tekst nie wyczerpuje wszystkich możliwości squida. Ma on na celu wprowadzenie i ułatwienie startu z tym programem. Dla tych którzy chcą zgłębić squida odsyłam do oficjalnej dokumentacji projektu na stronie [url]http://www.squid-cache.org[/url]


Wszystkie sugestie i poprawki do tekstu bardzo  mile widziane!!


[b]EDIT  2007-05-24:[/b]

Zmieniłem regułki odświeżania by lepiej współpracowały z aktualizacjami Windows i innych programów ze stajni MS. Oczywiście można również dodać regułki do programów AV.
Można to przyszpilić na forum?

Ostatnio edytowany przez kayo (2008-05-24 21:58:56)


Having a Windows 95 box hooked to the internet is akin to walking naked into a prison carrying a carton of cigarettes.
-----------------
jid: kayo77//gmail.com  gg #1046710

Offline

 

#2  2007-08-21 10:48:22

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Squid 2.6 - krotkie wprowadzenie

fajny opis, ale zabraklo regolki [b]acl[/b]

acl all src 192.168.0.0/24

mozna rowniez dodac:

http_access allow all

i proponuje podpiac ten watek ;)


[img]http://intershock.pl/images/icons/freebsd.jpg[/img] [img]http://www.the-eleven.com/site_media/static/img/postgresql_powered.png[/img] [img]http://www.wwgmc.com/images/badge_php.gif[/img]
LRU #480459

Offline

 

#3  2007-08-24 20:36:11

  bolos_11 - Użytkownik

bolos_11
Użytkownik
Zarejestrowany: 2006-10-30

Re: Squid 2.6 - krotkie wprowadzenie

a ja mam innego typu pytanie ....

na kazdym laczu DSL jak uruchamialem squida (kazda wersja) TO smigal miooodzio ...

teraz uruchomilem na neostradzie i LIPA !! zalizcza totalny zwis, ze tylko odciecie pradu pomaga :D

ktos mial podobnie?

Offline

 

#4  2007-09-04 08:47:23

  kayo - Członek DUG

kayo
Członek DUG
Zarejestrowany: 2007-05-20

Re: Squid 2.6 - krotkie wprowadzenie

a ja mam innego typu pytanie ....

na kazdym laczu DSL jak uruchamialem squida (kazda wersja) TO smigal miooodzio ...

teraz uruchomilem na neostradzie i LIPA !! zalizcza totalny zwis, ze tylko odciecie pradu pomaga :D

ktos mial podobnie?[/quote]
Pokaż konfigurację i logi squida


Having a Windows 95 box hooked to the internet is akin to walking naked into a prison carrying a carton of cigarettes.
-----------------
jid: kayo77//gmail.com  gg #1046710

Offline

 

#5  2007-11-15 15:35:39

  buli - Użytkownik

buli
Użytkownik
Skąd: Człuchów
Zarejestrowany: 2006-04-30

Re: Squid 2.6 - krotkie wprowadzenie

ja mam taki maly problem.. postapilem wg tych krokow.. i windows cos nie bardzo chce pobierac aktualizacje.. pasek postepu lata.. na statystykach transferu nie ma..
w czym moze byc problem?
docelowo chcialbym uzyskac efekt przechowywania na serwerze przede wszystkim poprawek windows dzieki czemu nie bede musial ich pobierac na kazdej stacji za kazdym razem..
http://e.blink.pl/squid.conf

Ostatnio edytowany przez buli (2007-11-15 15:59:25)


blehh :F

Offline

 

#6  2007-11-15 18:13:58

  zlyZwierz - Moderator

zlyZwierz
Moderator
Zarejestrowany: 2005-02-18
Serwis

Re: Squid 2.6 - krotkie wprowadzenie

http://www.linux-faqs.com/squid.php

Warto nie zapomnieć o dodaniu:
`ulimit -HSn 8192` w skrypcie startowym squida i
`echo "1024 32768" > /proc/sys/net/ipv4/ip_local_port_range` w skrypcie firewalla.


[url=http://www.netfix.pro]www.netfix.pro[/url]

Offline

 

#7  2007-11-16 12:14:59

  buli - Użytkownik

buli
Użytkownik
Skąd: Człuchów
Zarejestrowany: 2006-04-30

Re: Squid 2.6 - krotkie wprowadzenie

z moich obserwacji wynika jak by udalo mi sie jednak zmusic squia do wspolpracy z windows update (nie widac pobierania na statystylach lstata.. no chyba ze windows update ciagnie sie jakimis dziwnymi portami..)
komputer nie obciaza lacza podczas pobierania.. ponownie takich samych aktualizacji tylko ciagnie je z proxy ale mam wrazenie ze tak samo wolno jak by byly pobierane z online..
da sie to jakos podkrecic?
glownie zalezalo mi na tym aby skrocic czas instalacji aktualizacji..

Ostatnio edytowany przez buli (2007-11-16 12:16:32)


blehh :F

Offline

 

#8  2007-11-16 16:54:20

  mariaczi - Użytkownik

mariaczi
Użytkownik
Zarejestrowany: 2007-10-02

Re: Squid 2.6 - krotkie wprowadzenie

Witam.

[quote=buli]glownie zalezalo mi na tym aby skrocic czas instalacji aktualizacji..[/quote]
Oj, czasu instalacji chyba nie skrocisz bo zalezy on od maszyny na ktorej one sie instaluja.
Czas pobierania - tak, jesli faktycznie proxy przechowuje.
Może masz kolejkowanie tak ustawione ze tnie od strony lanu rowniez i squida.

pzdr.

Offline

 

#9  2007-11-19 12:28:09

  buli - Użytkownik

buli
Użytkownik
Skąd: Człuchów
Zarejestrowany: 2006-04-30

Re: Squid 2.6 - krotkie wprowadzenie

[quote=mariaczi]Witam.

[quote=buli]glownie zalezalo mi na tym aby skrocic czas instalacji aktualizacji..[/quote]
Oj, czasu instalacji chyba nie skrocisz bo zalezy on od maszyny na ktorej one sie instaluja.
Czas pobierania - tak, jesli faktycznie proxy przechowuje.
Może masz kolejkowanie tak ustawione ze tnie od strony lanu rowniez i squida.

pzdr.[/quote]
nie lap za slowka.. to oczywiste ze chodzilo mi o czas pobierania..
mam wylaczony z kolejkowania serwer..
okazalo sie ze cache nie moze dzialac z transparentnym proxy..


blehh :F

Offline

 

#10  2008-05-24 11:03:22

  masonix - Użytkownik

masonix
Użytkownik
Skąd: Bielsko-Biała
Zarejestrowany: 2006-04-07

Re: Squid 2.6 - krotkie wprowadzenie

Witam

To są wszystkie wpisy konfiguracyjne które mają być w squid.conf? Zrobiłem konfiga tak jak w opisie i po dodaniu wpisu do iptables przeglądarka nie otwiera mi stron w mojeje sieci lan.


[url=http://userbars.org][img]http://img209.imageshack.us/img209/3974/debiancu6.png[/img][/url]
[url=http://userbars.org][img]http://img89.imageshack.us/img89/6861/bashqm1.png[/img][/url]

Offline

 

#11  2008-05-24 11:11:25

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: Squid 2.6 - krotkie wprowadzenie

moze port squid masz zamkniety na interfeisie podłoczonym do internetu ,sprawdz

Offline

 

#12  2008-05-24 19:34:15

  masonix - Użytkownik

masonix
Użytkownik
Skąd: Bielsko-Biała
Zarejestrowany: 2006-04-07

Re: Squid 2.6 - krotkie wprowadzenie

szewczyk miałeś rację otwarłem porty 3128 tcp

Kod:

iptables -A INPUT -s $LAN -d $SERWER -p tcp --dport 3128 -j ACCEPT
iptables -I OUTPUT -s $LAN -d $SERWER -p tcp --sport 3128 -j ACCEPT

i następnie :

Kod:

 iptables -t nat -A PREROUTING -s $LAN -p tcp --dport 80 -j REDIRECT --to-ports 3128

Dzieki pozdrawiam ;)


[url=http://userbars.org][img]http://img209.imageshack.us/img209/3974/debiancu6.png[/img][/url]
[url=http://userbars.org][img]http://img89.imageshack.us/img89/6861/bashqm1.png[/img][/url]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.009 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00093 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.76.159' WHERE u.id=1
0.00071 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.76.159', 1732504781)
0.00064 SELECT * FROM punbb_online WHERE logged<1732504481
0.00043 SELECT topic_id FROM punbb_posts WHERE id=67651
0.00006 SELECT id FROM punbb_posts WHERE topic_id=8742 ORDER BY posted
0.00049 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=8742 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00221 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=8742 ORDER BY p.id LIMIT 0,25
0.00082 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=8742
Total query time: 0.00651 s