Blog (22)
Komentarze (997)
Recenzje (0)
@parranoyaSprzęt i oprogramowanie na serwer proxy, czyli to, co powinno być najpierw a jest na końcu

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

28.06.2013 21:31, aktualizacja: 22.07.2013 19:42

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
Komentarze (12)