Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

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

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:
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ą). 

sprzęt oprogramowanie bezpieczeństwo

Komentarze

0 nowych
bachus   20 #1 28.06.2013 23:27

Serwery proksy (szczególnie transparente) to świetna sprawa dla bezpieczeństwa sieci... Odeszło się od nich z prostej przyczyny: wydajność. Przez lata była cisza, teraz cieszą się znowu ogromną popularnością, szczególnie w firmach mocno nastawionych na 'security'.

N4R   3 #2 29.06.2013 20:38

Ciekawy wpis. Rozumiem, że serwer służy jako proxy cache'ujące, czy też jakieś filtracje stron WWW są wykonywane?

I też pytanie do tego co poruszył bachus, rozwiązanie w pełni transparentne, czy wymaga operacji od strony stacji?

parranoya   9 #3 30.06.2013 09:21

Zainstalowany jest Dansguardian czyli filtrowanie WWW w toku. W tym przypadku jest to główne zastosowanie serwera, cache'owanie przy okazji. Rozwiązanie jest transparentne z podziałem na grupy o rożnych uprawnieniach dostępu do WWW.

N4R   3 #4 30.06.2013 12:20

W jaki sposób rozpoznawane są grupy (użytkownicy)?

parranoya   9 #5 30.06.2013 17:38

Poczytaj dokumentację Dansguardian'a. W skrócie: należy utworzyć dla każdej grupy osobny plik konfiguracyjny dansgurdianf1.conf, ...f2.conf itd.

CzarnyMisio   4 #6 30.06.2013 21:08

Ja za router używam IPCOP w wersji 2.
Komputer z intel PDC 1 GB ram.
Obsługuje powiedzmy max 200 kompów i urządzeń sieciowych.
Uruchomiłem na nim openvpn (max na raz 3 - 4 połączenia).
Uruchomiony także proxy (transparent) + update accelerator (przechowuje update'y dla windows i linux, niesamowicie przyspiesza aktualizacje)..
Uruchomiony copfilter z clamav (ale wyłączyłem skanowanie poczty, ale zostawiłem skanowanie clamavem proxy).
Do tego uruchomiony dhcp i ntp.

I w zasadzie działa super. Tylko ostatnio okazało się, że jest problem z update'ami do xp (na stronie microsoft update, przy wyszukiwaniu aktualizacji wywala błąd, pod 7 problemów nie zauważyłem) i tymi ściąganymi przez yum (wywala błąd 403, forbidden coś tam, dodawanie info o proxy do wpisów konfiguracyjnych yum nic nie daje, zmiana w repo mirrorlist na baseurl). więc musiałem proxy wyłączyć i net zwolnił mocno (mam dsl 8/2 więc na tyle stanowisk proxy dawał sporo) :(

ciesiel   5 #7 30.06.2013 21:31

Akurat zamiast Atoma do "serwerowania" wybrałbym APU AMD nawet, nie nowego już Brazosa e-350 - ma przynajmniej prawdziwe 2 rdzenie - cały zestaw z HDD nie bierze więcej niż 30W - i do domu jest jak znalazł (zwłaszcza przy użyciu cpufreq - który powoduje, że w stanie spoczynku ten procek zwalnia do 800MHz i jest zimny jak lód)
A zamiast kobyłek typu Ubuntu coś lżejszego - osobiście preferuje Centosa - kosztem "supernowości" w stokowych plikach (a także w dodatkowym repo epel) otrzymujemy stabilne jak skała pakiety i rozwiązania serwerowe.
Uważałbym także z używaniem dysku SSD na serwerach z dużą ilością operacji dyskowych - spotkałem się z zakazami w firmach udostępniających VPSy na takich dyskach, uruchamiania np. serwerów pod javą (m.in. minecraft) z powodu "przyspieszonego zużywania się dysków SSD"

parranoya   9 #8 30.06.2013 21:56

@CzarnyMisio
Sprawdź czy proxy nie blokuje Ci plików z pewnymi rozszerzeniami. Jeśli to nie pomoże, dopisz do konfigu proxy wyjątek od filtrowania danej strony.
I dlatego nie lubię gotowych rozwiązań typu Ipcop. Początkowo wydaje się to szybkim i łatwym rozwiązaniem ale później okazuje się, że jak cośnie działa to nie wiadomo gdzie szukać. Jak się pomęczysz i sam wszystko zrobisz to przynajmniej wiesz GDZIE coś spier@#%eś ;-)

CzarnyMisio   4 #9 30.06.2013 22:55

@parranoya
Próbowałem już dodawać wyjątki z microsoftem, ale niestety nie działa, zaś jeśli chodzi o linuxa to i tak za każdym połączeniem yum szuka najszybszych serwerów, więc wrzucanie wyjątków konkretnych odpada.

Autor edytował komentarz.
N4R   3 #10 02.07.2013 21:07

Domyślam się, że poszczególne grupy mają configi itd. Pytałem o rozpoznawanie hostów, a raczej użytkowników, skoro nie ma żadnej konfiguracji na stacjach to w jaki sposób są użytkownicy należący do danej grupy rozpoznawani. Czy to tylko rozpoznanie IP/MAC, czy też może portal do logowania w celu rozpoczęcia uwierzytelnionej sesji?

parranoya   9 #11 03.07.2013 11:07

@N4R
Po adresie IP. Wyprzedzam kolejne pytanie: zmiana adresu IP nie pomoże umknąć filtrom, tablica ARP jest skonfigurowana statycznie.

  #12 31.07.2013 17:38

można się pfauthem pobawić z dansem, choć ja testowałem obsd + squid + dans + squid + windows server 2k8r2 + NTLM i banglało pięknie. Użytkownicy z autoryzowani w domenie dostawali odpowiednie uprawnienia odpowiedni konfig, niestety jakoś nie che mi to działać z w2n8r1 produkcyjnym.