Strona 1 z 1

Serwer proxy na Ubuntu (SQUID 2.4, 2.5)

: 26 sie 2005, 13:11
autor: shufla
Witam,

W dzisiejszym odcinku dobry wujek Łukasz ma przyjemność zaprezentować prostą metodę na przyspieszenie lokalnej sieci komputerowej.

W tym celu należy użyć programu SQUID.
Należy uzyskać dostęp do użytkownika root komendą

Kod: Zaznacz cały

sudo -i
Zainstalować program SQUID:

Kod: Zaznacz cały

apt-get install
squid i dokonać jego konfiguracji w pliku /etc/squid/squid.conf.

Pierwsza sprawa to ile chcemy przeznaczyć miejsca na buforowanie stron WWW . Szukamy linijki:

Kod: Zaznacz cały

# cache_dir ufs /var/spool/squid 100 16 256
Wartość 100 to ilość megabajtów przeznacznoych dla SQUIDa. Podobno jest taka zasada, że na każdy gigabajt danych na dysku, należy przeznaczyć 64MB pamięci RAM. Jednak najlepsza w tym przypadku będzie metoda prób i błędów.

Druga sprawa, to skonfigurowanie kto będzie miał prawo korzystać z naszego proxy. Załóżmy, że korzystamy z sieci 192.168.0.0/255.255.255.0. Należy znaleźć linijkę:

Kod: Zaznacz cały

acl CONNECT method CONNECT
i za nią wpisać:

Kod: Zaznacz cały

acl MYNET src 192.168.0.0/255.255.255.0
W ten sposób zdefinowaliśmy ACL MYNET dla naszej sieci. Należy go tylko odpowiednio ustawić. Szukamy linijki

Kod: Zaznacz cały

#http_access allow our_networks
i za nią wpisujemy:

Kod: Zaznacz cały

http_access allow MYNET
Teraz tylko pozostaje ponowne uruchomienie SQUIDa

Kod: Zaznacz cały

/etc/init.d/squid restart
i....gotowe! Teraz wystarczy przekonać użytkowników sieci do skonfigurowania swoich przeglądarek, aby korzystały z serwera proxy, którego IP jest IP serwera skonfigurowanego, a port to 3128.

Pozostaje sprawa lenistwa użytkowników sieci. Czasem braku wiedzy. Istnieje takie rozwiązanie jak Transparent Proxy with Linux and Squid, którego opis można znaleźć na sieci.

Jednak dobry wujek Łukasz liczy na piwo przy okazji spotkania, dlatego wyekstrahuję najczęstsze postępowanie. Konieczne będzie utrzymywanie konfiguracji iptables pomiędzy restartami, które można uzyskać za pomocą mojego skryptu.

Następnie dokonujemy odpowiednich wpisów w /etc/squid/squid.conf:

Kod: Zaznacz cały

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Musimy skonfigurować iptables, tak aby przekierowywał ruch na port 80 przez nasz serwer SQUID. Komenda jest następująca:

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -i wewnętrzny_interfejs_naszego_serwera -p tcp --dport 80 -j REDIRECT --to-port 3128
Gdzie wewnętrzny_interfejs_naszego_serwera, to ten, który ma, w naszym przypadku adres z sieci 192.168.0.0/255.255.255.0.

W przypadku (kryptoreklama) korzystania z ww. skryptu do iptables wystarczy wpisać

Kod: Zaznacz cały

/etc/init.d/iptables save
(koniec kryptoreklamy).

(oryginał)

Odp: Serwer proxy na Ubuntu (SQUID 3.0)

: 06 mar 2008, 14:43
autor: Sir_Yaro
squid 3 ma spore zmiany w konfigu wiec warto byłoby - szczegolnie dla transproxy - napisac nowy opis...

EDIT:

Kod: Zaznacz cały

apt-get install squid3 mc

sudo mcedit /etc/squid3/squid.conf
dodajemy (odpowiednio zmieniajac adresy):

Kod: Zaznacz cały

http_port 3128 transparent
acl our_networks src 192.168.0.0/24
http_access allow our_networks
zmieniamy rozmiar cache'u:

Kod: Zaznacz cały

cache_dir ufs /var/spool/squid3 7000 16 256
restart serwera

Kod: Zaznacz cały

sudo /etc/init.d/squid3 restart
ustawiamy routing:

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128