Serwer proxy na Ubuntu (SQUID 2.4, 2.5, 3.0)

shufla

Serwer proxy na Ubuntu (SQUID 2.4, 2.5)

Post autor: shufla » 26 sie 2005, 13:11

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ł)
Awatar użytkownika
Sir_Yaro
Przyjaciel
Przyjaciel
Posty: 91
Rejestracja: 22 maja 2005, 21:33
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE4
Architektura: x86_64
Kontakt:

Odp: Serwer proxy na Ubuntu (SQUID 3.0)

Post autor: Sir_Yaro » 06 mar 2008, 14:43

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
ODPOWIEDZ

Wróć do „Software-Sieć”