Wstęp
Squid jest darmowym oprogramowaniem serwera proxy, dostępnym dla (chyba) wszystkich systemów operacyjnych. Prywatne proxy przydaję się do wielu rzeczy np. dodawania postów na jakimś forum z różnych adresów IP :p.
Instalacja
Instalacja na Ubuntu jest bardzo prosta. Wystarczy, że włączymy gnome-terminal i wpiszemy taką komendę ( i oczywiście klikniemy enter ) :
apt-get install squid albo aptitude install squid
Mi znacznie bliższy jest aptitude, ale to bez różnicy.
Przystępujemy do konfiguracji
Na samym początku naszej konfiguracji zajmiemy się ncsa_auth, czyli mniej więcej tworzeniem usernamea z hasłem ( tego z którym będziemy się łączyć, żeby korzystać z proxy ). Cała operacja ogranicza się do wklepania takiej komendy:
htpasswd /etc/squid/passwd username
Następnie zmieniamy prawa naszego pliku tak aby squid był w stanie go odczytać i pobrać z niego dane:
chmod o+r /etc/squid/passwd
Zaraz potem musimy znaleźć nsca_auth authentication helper:
dpkg -L squid | grep nsca_auth
Natomiast teraz przechodzimy do konfiguracji najważniejszego pliku squida czyli squid.conf. Otwórzmy go za pomocą mcedit:
mcedit /etc/squid/squid.conf
Szukamy:
#auth_param basic program <uncomment and complete this line> #auth_param basic children 5 startup=5 idle=1 #auth_param basic realm Squid proxy-caching web server #auth_param basic credentialsttl 2 hours
i zamieniamy na:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd auth_param basic children 2 auth_param basic realm Komunikat przy logowaniu auth_param basic credentialsttl 2 hours auth_param basic casesensitive off
Następnie szukamy:
acl ncsa_users
i zamieniamy na:
acl ncsa_users proxy_auth REQUIRED
Potem szukamy:
http_access
i zamieniamy na:
http_access allow ncsa_users
Aby nasze proxy było high anymous musimy znaleźć:
forwarded_for on
i zamienić na:
forwarded_for off
Następnie na samym końcu squid.conf dodajemy:
request_header_access Allow allow all request_header_access Authorization allow all request_header_access WWW-Authenticate allow all request_header_access Proxy-Authorization allow all request_header_access Proxy-Authenticate allow all request_header_access Cache-Control allow all request_header_access Content-Encoding allow all request_header_access Content-Length allow all request_header_access Content-Type allow all request_header_access Date allow all request_header_access Expires allow all request_header_access Host allow all request_header_access If-Modified-Since allow all request_header_access Last-Modified allow all request_header_access Location allow all request_header_access Pragma allow all request_header_access Accept allow all request_header_access Accept-Charset allow all request_header_access Accept-Encoding allow all request_header_access Accept-Language allow all request_header_access Content-Language allow all request_header_access Mime-Version allow all request_header_access Retry-After allow all request_header_access Title allow all request_header_access Connection allow all request_header_access Proxy-Connection allow all request_header_access User-Agent allow all request_header_access Cookie allow all request_header_access All deny all
a na sam koniec uruchamiamy w konsoli te trzy komendy:
service squid start chkconfig squid on ufw allow squid
W razie problemów z visible_hostname przy starcie squida wystarczy edytować squid.conf i dodać:
visible_hostname server1
Teraz nasze proxy powinno działać i powinniśmy mieć możliwość połączenia się z nim i to by było na tyle (: