Squid proxy - część 1

Witam wszystkich, możecie nazywać mnie Brody. Jestem specjalistą w dziedzinie centrów danych, a także fanem świata Linuksa z prostego powodu, że ułatwia mi to życie i pracę. Pomyśl o tym!

Od tego momentu będę traktować „ciebie” w sposób bardziej bezosobowy, z większą pewnością siebie. Moje samouczki nie będą dotyczyły tylko instalacji usługi, a teraz przekażę Ci całą wiedzę i narzędzia niezbędne do maksymalnego wykorzystania możliwości każdej funkcji aplikacji, wszelkie pytania wyślij wiadomość do skrzynki odbiorczej

Squid to nie tylko usługa proxy i cache, ale potrafi dużo więcej: zarządzać acl (listami dostępu), filtrować zawartość, może nawet filtrować ssl nawet w trybie transparentnym (metoda proxy - bez konieczności konfigurowania ustawień proxy z poziomu przeglądarki) , jest jak człowiek pośrodku, nikt nie wie, że tam jest). Dlatego często widzę, jak marnuje się cały potencjał tej aplikacji, nie wiedząc, jak skonfigurować każdą z jej części.

Najpierw jednak przyjrzyjmy się funkcji pełnomocnik.

Zainstalować:

aptitude zainstaluj squid3

Edytuj plik konfiguracyjny:

vi /etc/squid3/squid.conf

  • http_port ip: port

Przykładem może być http_port 172.16.128.50:3128  Usługa będzie świadczona przez określony adres IP i port, w szczególności nie polecam domyślnie pozostawiania portu 3128 w środowisku produkcyjnym.

  • acl localnet src ip / mask

Przykładem może być Acl sieć lokalna src 172.168.128.0/24 ogólna lista dostępu (możliwie makro), która będzie miała dostęp do wspomnianej usługi. localnet jest tym, co nazywa się lista ACL, ale możesz umieścić tam dowolną nazwę.

  • http_access zezwalaj na sieć lokalną

Prosty http_access pozwalają sieć lokalna o tej samej nazwie, którą umieściłeś w poprzednim elemencie, tutaj zezwalamy tej sieci na nawigację i korzystanie z usług squid

  • szybkie_przerwanie_min 0KB
  • szybkie_przerwanie_max 0KB

Czas, w którym anulujemy żądanie. Wyjaśnię to bardziej szczegółowo: kiedy użytkownik przegląda Twój serwer proxy i anuluje żądanie lub pobieranie, masz 3 opcje, jeśli pobieranie jest mniejsze niż szybkie_przerwanie_min 80 KB, a następnie Squid pobierze go, jeśli brakuje pobierania więcej niż szybkie_przerwanie_maks 150 KB zostanie wówczas natychmiast anulowane, jeśli oba są ustawione na 0 KB, jak ma to miejsce, pobieranie kończy się, gdy tylko użytkownik anuluje.

  • read_timeout 5 minut

Jest to czas, w którym sesja serwera będzie otwarta, o ile nie ma nowego odczytu, na przykład na stronie statycznej, bardzo wysoka wartość nie jest konieczna, ale na stronach dynamicznych, takich jak Facebook, jest to wartość akceptowalna

  • request_timeout 3 minuty

Ta wartość może być znacznie niższa, zależy to od jakości połączenia WAN serwera i liczby posiadanych klientów. Ten parametr odnosi się do maksymalnego czasu oczekiwania na nagłówki http żądania po nawiązaniu połączenia.

  • Half_closed_clients wyłączony

Zapobiega połowicznie zamkniętym połączeniom z powodu błędów komunikacji. Nie chcesz marnować zasobów serwera w żadnych okolicznościach.

  • shutdown_lifetime 15 sekund

Ten tag pozwala skrócić czas oczekiwania na zamknięcie procesów kałamarnicy podczas wykonywania SIGTERM lub SIGHUP

  • log_icp_queries wyłączony

To pozostawiam twojemu uznaniu, domyślnie się włącza i polega na logowaniu do dziennika każdego zapytania do pamięci podręcznej proxy.

  • serwery nazw_dns 8.8.4.4 8 8.8.8.8

Zapytania DNS będą kierowane do tych adresów IP oddzielonych spacjami, jeśli nie zdefiniowano żadnego, domyślnie używany jest DNS twojego systemu

  • dns_v4_pierwszy na

Cóż, zależy to od kraju lub ustawień twojego środowiska, ale w moim przypadku nie mam DNS IPv6, więc domyślnie ustawia, że ​​wszystko jest najpierw sprawdzane w ipv4

  • ipcache_size 2048

Maksymalna liczba wpisów w pamięci podręcznej dns squid

  • ipcache_low 90

Najmniejszy rozmiar wpisów pamięci podręcznej dns.

  • fqdnccache_size 4096

Maksymalna liczba wpisów FQDN w pamięci podręcznej

  • memory_pools wyłączone

Dezaktywujemy, że pamięć RAM jest zarezerwowana dla przyszłych procesów squid, jeśli jest to bardzo rzadki zasób na twoim serwerze

  • przekazane_do wyłączenia

Jeśli chcesz uniemożliwić im zobaczenie twojego prywatnego adresu WAN, żądania przyjdą z nieznanym lub w takim przypadku ru ip wan

zaczynamy cache

kałamarnica3 -z

Ponownie uruchamiamy usługę

usługa squid3 restart

Aby zakończyć, wystarczy umieścić w przeglądarce, w opcjach proxy IP i port, gotowe, musisz przeglądać

To wszystko na tę okazję, wiesz, że dzięki temu będziesz miał bardzo solidną kałamarnicę, w przyszłych postach będziemy buforować kałamarnicą


24 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Inż. Jose Albert powiedział

    Doskonały samouczek krok po kroku. Najbardziej podobało mi się wyjaśnianie repertuaru konfiguracji według opcji.

    Najbardziej podobała mi się opcja:

    szybkie_przerwanie_min 0KB
    szybkie_przerwanie_max 0KB

    Myślę, że jest to niezwykle ważne, ponieważ wiele razy użytkownik może stracić (anulować) z powodu sytuacji X, pobieranie, które ma się zakończyć, a ten parametr dobrze oszacowany zgodnie z naszymi zasobami komputerowymi może pozwolić nam kontynuować to pobieranie, ponieważ całkiem możliwe tyle, ile ten sam lub inny użytkownik może w krótkim czasie spróbować ponownie pobrać ten sam element, oszczędzając ruch w internecie.

    Popraw mnie, jeśli się mylę, BrodyDalle?

    1.    Brody Dalle powiedział

      Tak i nie, wyjaśnię.

      Rzeczywiście, pobieranie zakończy się pomyślnie, nawet jeśli użytkownik je anuluje, tylko wtedy, gdy ten sam lub inny użytkownik spróbuje pobrać aplikację lub stronę internetową, squid dostarczy kopię, którą już ma w pamięci podręcznej i nie przejdzie do Internetu, aby pobierz dane ponownie. Teraz uwaga, efekt wznowienia to tylko menedżer pobierania, który przechowuje dane w pamięci podręcznej twojego komputera przez z góry określony czas i pozwala wznowić anulowane lub przerwane pobieranie, to nie jest kałamarnica.

      W przyszłych samouczkach dokładnie podam squid jako pamięć podręczną, abyś nie marnował zasobów WAN (Internetu) swojej sieci

  2.   Javier Espinoza powiedział

    świetny artykuł Dowiaduję się o kałamarnicy i jej realizacji bardzo dziękuję, przydaje się

    1.    Brody Dalle powiedział

      Dziękuję, zwróć uwagę, że w przyszłych samouczkach dokładnie podam kałamarnicę jako pamięć podręczną, abyś nie marnował zasobów WAN (Internetu) swojej sieci

  3.   henry servita powiedział

    świetny samouczek jest zawsze dobry, aby poszerzyć wiedzę. Twoje zdrowie

  4.   Miguel Ananas powiedział

    Witam, przede wszystkim dziękuję za temat, wyjaśnienia i wiedzę jaką udzielam. Mam więcej do skomentowania, pytanie. Podaję do tabeli problem, który właśnie mi się przydarzył z squid3 na Debianie, okazuje się, że pewnego pięknego dnia, miesiące temu, zaktualizowałem system i wraz z tą aktualizacją pojawiła się nowa wersja squid, 3.5, stamtąd proxy w lewo, aby przejść wszystkie połączenia HTTPS, to znaczy od razu nie otwierałem https // www.google.com.cu, https://www.facebook.com i wszystko, co korzysta z bezpiecznego protokołu HTTPS. Po dokładnym zbadaniu stwierdziłem, że problem dotyczył obsługi SSL, czyli czegoś, co Debian przestał pakować w squid3 z powodów prawnych i filozoficznych. NIE muszę mówić o dyskomforcie, jaki istniał w jednostce w dniach, kiedy próbowałem rozwiązać ten "problem", którego w końcu nie mogłem naprawić, ale wróciłem do poprzedniej wersji Squid3 i zachowałem pakiet ze zdolnością do zapobiec ponownej aktualizacji. Na stronie, na której zgłaszane są błędy kałamarnic, wspomniał o błędzie zwanym "squid-in-the-middle" i ostrzegł, że wszystkie squid od wersji 3.4.8 są podatne na ataki, więc zalecili aktualizację do nowszej wersji i skompilowanie squid z SSL + ustawionym na ręczne generowanie certyfikatów…. PROSZĘ! Jeśli ktoś zetknął się z tą sytuacją i ją rozwiązał, to chciałbym być tak miły i dać mi światło na ten temat, a jeśli nie, to przynajmniej skomentować, że stało się to samo ... i jakie zastosowano rozwiązanie. Dziękuję Ci.

    1.    Brody Dalle powiedział

      Obecnie w Debianie Jessie jest dostępne tylko do wersji 3.4.8-6 + deb8u1… Jednakże mogę Ci powiedzieć, że możesz użyć ssl bump, jeśli używasz squid w trybie przezroczystym. http://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit… Nie kwestionuję Twojego wkładu, dlatego wkrótce zainstaluję najnowszą wersję z jego oficjalnej strony internetowej

  5.   Antonio A. powiedział

    Dzień dobry,

    Jeśli chodzi o wydajność, czy warto byłoby zainstalować na Raspberry Pi 2?

    Z góry dziękuję, pozdrawiam.

  6.   Antonio A. powiedział

    Cześć,

    Fajny poradnik, ale mam pytanie: czy pod względem wydajności warto byłoby zainstalować na Raspberry Pi 2?

    Pozdrowienia.

    1.    Brody Dalle powiedział

      Krótka odpowiedź brzmi: nie ... możesz to zrobić, ale niektóre funkcje, takie jak interfejs sieciowy, procesor, dysk, są wieloma wąskimi gardłami. Jeśli nadal musisz działać jako proxy, myślę, że tinyproxy jest lepsze

      Dziękuję za udział

  7.   Tabrís powiedział

    Czy masz doświadczenie z Squidem w ramach pfSense?

    1.    Brody Dalle powiedział

      tak, co musisz wiedzieć? zobacz, czy mogę ci pomóc.

  8.   acontreras90 powiedział

    Dobry tutorial, już bardzo dobry czas. Niewiele o tym wiem, obecnie instaluję proxy w swojej firmie z squid.conf z poprzedniej wersji i są rzeczy, które zmieniły składnię. Bardzo mi to służyło. Będę dalej czekał na część 2.
    Dziękuję bardzo

    1.    Brody Dalle powiedział

      Dziękuję za komentarz, do czasu, gdy druga część kałamarnicy na temat tego, jak buforować, będzie wkrótce dostępna.

  9.   Ramzes powiedział

    Świetnie, dawno temu zaimplementowałem serwer ubuntu z squidem i działał całkiem nieźle. Od jakiegoś czasu jestem odłączony od Linuksa i chciałbym wrócić do kwestii serwerów buforowanych, aby poprawić wydajność przy problemach z Wisp, dzięki Twój wkład Brody!

  10.   rodrigoarielpizarro powiedział

    Witam, twoja pomoc jest bardzo miła, właśnie wszedłem w problem IPV6 z DNS i mam tam problemy. Gdyby żadna strona internetowa nie pojawiła się z IPV6, działałaby dla mnie, więc muszę wiedzieć, czy dns_v4_first on configuration musi być aktywowany przed kompilacją squid, ponieważ w 3.3.8 nie będzie działać.

  11.   jocampo powiedział

    Dzień dobry.
    Na początek ten samouczek był bardzo pomocny. Teraz przedstawiam mój przypadek, ponieważ nie wiem, czy z kalmarem uda mi się rozwiązać swoją potrzebę, czy powinienem poszukać innej alternatywy.
    Mam aplikację skonfigurowaną na instancji AWS EC2, która musi wysyłać żądania do api amazon, problem pojawia się, gdy żądania są masowe, więc amazon rozpoznaje IP i odrzuca je przez jakiś czas, generując niedogodności w aplikacji, którą mam. Aby rozwiązać ten problem, używamy usługi Proxymesh, która przyjmuje żądanie i wysyła je z jednego ze swoich adresów IP, unikając w ten sposób wspomnianego blokowania, faktem jest, że w tym celu, wysyłając żądanie do amazon, robimy to poprzez curl w php, dając jako opcję podłączenia do proxymesh. Teraz szukam możliwości, że to z instancji, którą można skonfigurować, gdy żądania są wysyłane do api amazon, trafiają bezpośrednio do usługi proxymesh, aby to ona była odpowiedzialna za wysłanie żądania do miejsca docelowego . Czy możliwe jest to przekierowanie za pomocą kałamarnicy, czy polecasz inną alternatywę?
    Dziękuję Ci bardzo.

  12.   Janho powiedział

    Czy ktoś próbował wielu schematów uwierzytelniania w kałamarnicy? Zainstalowałem wersję 3.5.22 w debianie i chociaż wypróbowałem różne warianty, nie działa, moja sytuacja jest taka, że ​​potrzebuję zarówno użytkowników mojego AD, jak i innych użytkowników zewnętrznych, aby mogli się zalogować, jeśli pracują osobno me lub ntml dla zalogowanych użytkowników domeny i basic (ncsa) dla zewnętrznych, ale nie jednocześnie. jakakolwiek pomoc będzie przydatna. Z góry dziękuję

  13.   Będzie powiedział

    Drogi, nie wiem dlaczego, zainstalowałem squid bez problemów, ale kiedy zaktualizowałem go do wersji 3.5 plik access.log zaczął pozostawać pusty, nie przechowuje już danych, kiedy był. Nie wiem, czy muszę zobaczyć i wdrożyć WPAD, aby nie używać już przezroczystej konfiguracji, a także usunąć przekierowanie z portu 80 do 3128, jak to zwykle się dzieje, ponieważ w przypadku wpada ta reguła nie jest już potrzebna.

    czy to dlatego access.log nie rejestruje już aktywności?

    Twoje zdrowie !!

  14.   Cristian powiedział

    Dobry, bardzo dobry przewodnik!

    Od jakiegoś czasu używam kałamarnicy jako internetowego serwera proxy, ale ostatnio zauważyłem, że wyszukiwanie lub otwieranie stron zajmuje mi dużo czasu ... czy może być konieczne wyczyszczenie pamięci podręcznej?

    Ktoś skonfigurował kałamarnicę w mkt, jak to działa?

    pozdrowienia

  15.   John powiedział

    Bardzo dobra informacja, przepraszam jak mogłem dołączyć do squid z active directory tak, że w momencie wejścia na zablokowaną stronę pyta mnie o nazwę użytkownika i hasło do konta active directory i czy wspomniany użytkownik ma pozwolenie na wejście na stronę.

  16.   Carlos powiedział

    Cześć,
    świetny przewodnik, w każdym razie i możesz mnie poprowadzić, ponieważ po prostu nie daję, mam internet światłowodowy 20 MB i squid 3.1 zamontowany na centos 6.9 i obsługuję około 300 użytkowników, zanim miałem łącze 4MB i squid 3.1 i to samo liczba użytkowników i oczywiście wszystko super wolne i wspomniane adminowi (ja) obwiniłem link, w końcu zmusiłem ich do zmiany i internet jest równie wolny, przeinstalowałem OS, skonfigurowałem squid 3.1 i nic więcej nie przyspiesza ja wykonaj pomiar z klienta squid i daje mi od 18 do 20 MB, ale ciągle o mnie wspominano, ponieważ usługa jest równie wolna

    Jeśli Ty lub ktoś, kto miał podobny problem, moglibyście dać mi światło, dziękuję im nieskończenie.

  17.   Luis powiedział

    Co dzieje się z adresami, czy są one zmieniane na własne adresy sieciowe, czy też używane są te, których używasz.

  18.   irwing powiedział

    Dowiaduję się o squid debianie i jego implementacji, bardzo dziękuję, przydaje się. ale to daje mi problemy z połączeniem i sprawdzam czy daje błąd i podobno wszystko działa dobrze.