8. Настройка PROXY (squid)
Spisu treści:
- Instalowanie Squid na Ubuntu
- Konfigurowanie Squid
- Uwierzytelnianie Squid
- Konfigurowanie zapory ogniowej
- Konfigurowanie przeglądarki do korzystania z serwera proxy
- Firefox
- Google Chrome
- Wniosek
Squid to w pełni funkcjonalny buforujący serwer proxy obsługujący popularne protokoły sieciowe, takie jak HTTP, HTTPS, FTP i inne. Squid jest wykorzystywany głównie do poprawy wydajności serwera WWW poprzez buforowanie powtarzających się żądań, filtrowanie ruchu w sieci i dostęp do treści ograniczonych geograficznie.
Ten samouczek przeprowadzi Cię przez proces konfigurowania serwera proxy Squid na Ubuntu 18.04 oraz konfigurowania przeglądarek internetowych Firefox i Google Chrome pod kątem korzystania z niego.
Instalowanie Squid na Ubuntu
Pakiet Squid jest zawarty w domyślnych repozytoriach Ubuntu 18.04. Aby zainstalować, wprowadź następujące polecenia jako użytkownik sudo:
sudo apt update
sudo apt install squid
Po zakończeniu instalacji usługa Squid uruchomi się automatycznie.
Aby sprawdzić, czy instalacja się powiodła i usługa Squid działa, wpisz następujące polecenie, które wyświetli status usługi:
sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Thu 2019-06-27 11:45:17 UTC…
Konfigurowanie Squid
Squid można skonfigurować, edytując plik
/etc/squid/squid.conf
. Możesz także użyć osobnych plików z opcjami konfiguracji, które można uwzględnić za pomocą dyrektywy „include”.
Plik konfiguracyjny zawiera komentarze opisujące działanie poszczególnych opcji konfiguracji.
Przed wprowadzeniem jakichkolwiek zmian warto wykonać kopię zapasową oryginalnego pliku konfiguracyjnego:
sudo cp /etc/squid/squid.conf{,.orginal}
Aby edytować plik, otwórz go w edytorze tekstu:
sudo nano /etc/squid/squid.conf
Domyślnie Squid jest skonfigurowany do nasłuchiwania na porcie
3128
na wszystkich interfejsach sieciowych na serwerze.
# Squid normally listens to port 3128 http_port IP_ADDR:PORT
Uruchomienie Squid na wszystkich interfejsach i na domyślnym porcie powinno być w porządku dla większości użytkowników.
W Squid możesz kontrolować, w jaki sposób klienci mogą uzyskiwać dostęp do zasobów internetowych za pomocą list kontroli dostępu (ACL).
Domyślnie Squid zezwala na dostęp tylko z lokalnego hosta.
Jeśli wszyscy klienci korzystający z serwera proxy mają statyczny adres IP, możesz utworzyć listę ACL, która będzie zawierać dozwolone adresy IP.
Zamiast dodawać adresy IP w głównym pliku konfiguracyjnym utworzymy nowy plik dedykowany, który będzie przechowywać adresy IP:
/etc/squid/allowed_ips.txt
192.168.33.1 # All other allowed IPs
Po zakończeniu otwórz główny plik konfiguracyjny i utwórz nową listę ACL o nazwie
allowed_ips
(pierwsza podświetlona linia) i zezwól na dostęp do tej listy ACL za pomocą dyrektywy
http_access
(druga podświetlona linia):
#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all
Kolejność reguł
http_access
jest ważna. Upewnij się, że dodajesz linię, zanim
http_access deny all
.
Dyrektywa
http_access
działa w podobny sposób, jak reguły zapory. Squid odczytuje reguły od góry do dołu, a gdy reguła pasuje do reguły poniżej, nie są przetwarzane.
Za każdym razem, gdy wprowadzasz zmiany w pliku konfiguracyjnym, musisz ponownie uruchomić usługę Squid, aby zmiany odniosły skutek:
Uwierzytelnianie Squid
Squid może korzystać z różnych uwierzytelnień, w tym podstawowego uwierzytelniania Samba, LDAP i HTTP dla uwierzytelnionych użytkowników.
W tym samouczku skonfigurujemy Squid do korzystania z podstawowego uwierzytelniania. Jest to prosta metoda uwierzytelniania wbudowana w protokół
Użyjemy
openssl
do wygenerowania haseł i dołączenia pary
username:password
do
/etc/squid/htpasswd
za pomocą polecenia
tee
jak pokazano poniżej:
printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
Sz$Zdg69
użytkownika o nazwie „josh” z hasłem „
Sz$Zdg69
”:
printf "josh:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
josh:RrvgO7NxY86VM
Teraz, gdy użytkownik został utworzony, następnym krokiem jest włączenie podstawowego uwierzytelniania HTTP i dołączenie pliku
htpasswd
.
Otwórz główną konfigurację i dodaj:
#… auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all
Pierwsze trzy wyróżnione linie tworzą nową listę ACL o nazwie
authenticated
a ostatnia wyróżniona linia umożliwia dostęp do uwierzytelnionych użytkowników.
Uruchom ponownie usługę Squid:
Konfigurowanie zapory ogniowej
Zakładając, że używasz
UFW
do zarządzania zaporą ogniową, musisz otworzyć tegowy port Squid. W tym celu włącz profil „Squid”, który zawiera reguły dla domyślnych portów Squid.
sudo ufw allow 'Squid'
Aby zweryfikować typ statusu:
sudo ufw status
Dane wyjściowe będą wyglądać mniej więcej tak:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere Squid ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) Squid (v6) ALLOW Anywhere (v6)
Jeśli Squid działa na innym, innym niż domyślny porcie, na przykład
8888
, możesz zezwolić na ruch na tym porcie za pomocą:
sudo ufw allow 8888/tcp
.
Konfigurowanie przeglądarki do korzystania z serwera proxy
Po skonfigurowaniu Squid ostatnim krokiem jest skonfigurowanie preferowanej przeglądarki do korzystania z niej.
Firefox
Poniższe kroki są takie same dla systemów Windows, macOS i Linux.
-
W prawym górnym rogu kliknij ikonę hamburgera
☰
aby otworzyć menu Firefoksa:Kliknij link
⚙ Preferences
.Przewiń w dół do sekcji
Network Settings
i kliknij przyciskSettings…
Otworzy się nowe okno.
- Wybierz przycisk opcji
Manual proxy configuration
Wprowadź adres IP serwera Squid w poluHTTP Host
i3128
w poluPort
Zaznacz pole wyboruUse this proxy server for all protocols
Kliknij przyciskOK
, aby zapisać ustawienia.
- Wybierz przycisk opcji
W tym momencie Firefox jest skonfigurowany i możesz przeglądać Internet za pośrednictwem serwera proxy Squid. Aby to zweryfikować, otwórz
google.com
, wpisz „what is my ip”, a powinieneś zobaczyć adres IP swojego serwera Squid.
Aby przywrócić ustawienia domyślne, przejdź do
Network Settings
, wybierz przycisk radiowy
Use system proxy settings
i zapisz ustawienia.
Istnieje kilka wtyczek, które mogą również pomóc w skonfigurowaniu ustawień proxy przeglądarki Firefox, takich jak FoxyProxy.
Google Chrome
Google Chrome używa domyślnych systemowych ustawień proxy. Zamiast zmieniać ustawienia proxy systemu operacyjnego, możesz użyć dodatku takiego jak SwitchyOmega lub uruchomić przeglądarkę Chrome z wiersza polecenia.
Aby uruchomić Chrome przy użyciu nowego profilu i połączyć się z serwerem Squid, użyj następującego polecenia:
Linux:
/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
System operacyjny Mac:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"
Windows:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"
Profil zostanie utworzony automatycznie, jeśli nie istnieje. W ten sposób możesz uruchamiać wiele instancji Chrome jednocześnie.
Aby potwierdzić, że serwer proxy działa poprawnie, otwórz
google.com
i wpisz „what is my ip”. Adres IP wyświetlany w przeglądarce powinien być adresem IP serwera.
Wniosek
Nauczyłeś się, jak zainstalować Squid na Ubuntu 18.04 i skonfigurować przeglądarkę, aby z niego korzystać.
Squid jest jednym z najpopularniejszych serwerów buforujących proxy. Poprawia szybkość serwera internetowego i może pomóc ograniczyć dostęp użytkownika do Internetu.
proxy ubuntuJak zainstalować i skonfigurować serwer NFS na Ubuntu 18.04
Network File System (NFS) to protokół rozproszonego systemu plików, który umożliwia udostępnianie zdalnych katalogów przez sieć. W tym samouczku omówimy, jak skonfigurować serwer NFSv4 w systemie Ubuntu 18.04.
Jak zainstalować i skonfigurować Squid proxy na Centos 7
Squid to w pełni funkcjonalny buforujący serwer proxy obsługujący popularne protokoły sieciowe, takie jak HTTP, HTTPS, FTP i inne. W tym samouczku wyjaśniono, jak skonfigurować Squid na CentOS 7
Jak zainstalować i skonfigurować squid proxy na Debianie 10 Linux
Squid to w pełni funkcjonalny buforujący serwer proxy obsługujący popularne protokoły sieciowe, takie jak HTTP, HTTPS, FTP i inne. W tym samouczku wyjaśnimy, jak skonfigurować Squid Proxy w Debian Buster.