Blog (22)
Komentarze (997)
Recenzje (0)

Sprzęt i oprogramowanie na serwer proxy, czyli to, co powinno być najpierw a jest na końcu

@parranoyaSprzęt i oprogramowanie na serwer proxy, czyli to, co powinno być najpierw a jest na końcu28.06.2013 21:31

W poprzednich wpisach opisałem jak uruchomić firewall z serwerem cache’ującym proxy Squid i filtrowaniem treści stron WWW Dansguardian. Wszystkie wpisy dotyczą sytuacji gdy serwer obsługuje ruch u klienta końcowego czyli kilka, maksymalnie kilkanaście komputerów. Tym razem wpis będzie o doborze sprzętu i oprogramowania pod taki serwer. Co prawda to powinno znaleźć się na samym początku, ale jak to w życiu bywa, nie wszystko dzieje się tak jak powinno ;-)

W różnych internetowych poradnikach można przeczytać, że do Linuksa/BSD można wykorzystać stary, zalegający w piwnicy sprzęt. W przypadku wykorzystania go tylko jako firewall - OK. Tu prędkość procesora i dysku nie ma większego znaczenia. Przekazywanie pakietów wymaga naprawdę niewielkich zasobów sprzętowych. Jeśli chodzi o serwer, sprawa wygląda zupełnie inaczej. Przy dzisiaj dostępnych prędkościach internetu, stary sprzęt już nie podoła.

Hardware:

1. Dysk twardy

Komputer z kontrolerem dysku ATA odpada już na starcie. Wydajność takich dysków jest bardzo niska. Pojemność dysku nie ma znaczenia - najmniejszy dostępny SATA będzie miał wystarczającą pojemność. Optymalnym rozwiązaniem jest dysk SSD lub dwa dyski magnetyczne: jeden na cache, a drugi na resztę.

2. Pamięć RAM

W przypadku każdego chyba serwera im więcej pamięci RAM tym lepiej. Moim zdaniem 512 MB w zupełności wystarcza. Ostatnio włożyłem 1 GB i nie widać żadnej różnicy.

3. Procesor

W przypadku prędkości do 4 Mbit/s sprzęt z procesorem 800 MHz (VIA C3) daje radę, powyżej tej prędkości obciążenie procesora dochodzi do 80-100%. To powoduje odczuwalne zwalnianie transferu danych, a przecież serwer proxy powinien go przyspieszyć lub co najmniej nie spowolnić.

Software:

1. System operacyjny

Po wielu miesiącach używania (nie tylko testowania) rekomenduję OpenBSD. Powodów jest kilka: a) Większa wydajność niż na Linuksie (Debian i Ubuntu Server). Obciążenie procesora niższe o ok. 10-15%. b) Wkompilowana w Squid’a obsługa SSL. Oczywiście można samemu skompilować każdy program. Ci co wcześniej czytali moje wpisy, wiedzą jakie mam zdanie ten temat. Tym, którzy nie czytali, napiszę: odradzam. Jeśli nie jesteś w tym naprawdę dobry, prędzej czy później kończy się to źle. c) Nowsza wersja Dansguardian’a. W repozytoriach Debiana i Ububntu znajduje się wersja 2.10, w OpenBSD 2.12. Problem z wersją 2.10 polega na tym, że nie posiada patcha wprowadzającego opcję “proxytimeout”. Brak tego patcha powoduje, że przy wysyłaniu dużych plików przez przeglądarkę internetową do np. poczty web’owej, przy wolnym połączeniu internetowym (chyba wszyscy znamy ten ból), w pewnym momencie połączenie pomiędzy Squid’em i Dansguardian’em jest resetowane i proces kopiowania zaczyna się od nowa by po pewnym czasie znów się zatrzymać i tak w kółko. Oczywiście możemy ściągnąć sobie ze strony najnowszą wersję Dansguardian’a ale trzeba ją samodzielnie skompilować. Co o tym myślę - patrz wyżej ;-) Poza tym jeśli chcesz używać Dansguardian’a w celach komercyjnych (a używanie go w firmie jest takim przypadkiem), powienieneś zapłacić za jego pobranie ze strony twórców. d) Bezpieczeństwo. Tu nie ma co dyskutować. OpenBSD na starcie jest bezpieczniejsze niż jakikolwiek Linux. Oczywiście Linuksa można samemu odpowiednio "utwardzić" ale do tego potrzeba naprawdę dużo wiedzy. Z OpenBSD jest prościej bo system jest bezpieczny od razu po instalacji.

2. Squid

Obecnie Squid występuję w dwóch wersjach: 2.x i 3.x. Wersja 3.x różni się od wersji 2.x wsparciem dla IPv6 i obsługą procesorów wielordzeniowych (i pewnie jeszcze kilkoma szczegółami). Niestety seria 3.x okazuje się być znacznie mniej wydajna niż 2.x. Różnica jest bardzo duża bo ok. 30%. Mnóstwo wpisów w internecie na ten temat potwierdza moją tezę. W mojej konfiguracji najlepiej sprawdza się Squid 2.7 pomimo tego, że korzysta tylko z jednego rdzenia. Być może powodem jest fakt, że pracuje na Atomie 230, który posiada jeden fizyczny rdzeń z obsługą Hyper Threading (w systemie widoczny jest jako dwa procesory). Możliwe, że na prawdziwych wielordzeniowcach sprawa wygląda zupełnie inaczej. Nie wiem, nie sprawdzałem. Liczę na to, że w komentarzu wypowie się ktoś, kto wie.

3. Dansguardian

Kto nie czytał uważnie niech cofnie się do punktu c).

Jak to wszystko działa.

Ponieważ ostatnio zmieniliśmy łącze na 10 Mbit/s, komputer VIA przestał dawać radę i przeszedł na emeryturę. Wobec tego nadszedł czas na upgrade sprzętu. Na próbę kupiłem używaną płytę z procesorem Intel Atom 230. Płyty z Atomami są tanie, dosyć wydajne i co najważniejsze, zużywają bardzo mało energii w porównaniu do zwykłych komputerów. Na kolanie skleciłem takiego potworka:

OpenBSD firewall i serwer proxy. Pingwin dla zmyłki :-)
OpenBSD firewall i serwer proxy. Pingwin dla zmyłki :-)

Schowałem pod regał (bo tylko tam zostało trochę miejsca a poza tym jest brzydki) i... działa sobie tam już kilka tygodni ;-) Wiadomo, prowizorki zawsze są najlepsze. Sprawność tego zestawu: OpenBSD 5.3, Squid 2.7, Dansguardian 2.12 napędzane Atomem 230 zaskoczyła mnie. Obciążenie procesora przy łączu 10 Mbit/s nie przekracza 10%. Rewelacja! W planach wymiana wszystkich serwer(k)ów na nowe Atomy.

W międzyczasie testowałem komputer z procesorem Celeron D 2800, Debianem 7 na pokładzie oraz Squid’em 3.1 i Dansguardian’em. Zdziwiłem się bardzo, ponieważ przy, wydawać by się mogło, szybkim procesorze, obciążenie systemu dochodziło do 60-70%!

Podsumowanie.

Wszystkim, których czeka instalacja serwera proxy radzę odpuścić sobie bawienie się starymi pecetami. Raz, że ich wydajność jest bardzo niska, dwa energochłonność spora. W sieciach do kilkunastu komputerów świetnie spisze się każdy komputer na bazie procesora Atom.

P.S. Jakby co, to Intel nie sponsorował tego wpisu. A szkoda... ;-) P.S. 2 Ciekawe jak by w tej roli się spisał testowany na łamach dobrychprogramów Intel NUC. Maleństwo pewnie by uciągnęło setkę użytkowników (wersja z przewodową kartą sieciową).

Wybrane dla Ciebie
Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.