HP T5520 jako router.

Ostatnimi czasy parę osób nabyło HP Compaq T5520, czyli cienkiego klienta od HP. Sprzęt używany, niedrogi, bezszelestny. W moim przypadku wykorzystany został jako domowy routerek (plus parę usług – taki router na sterydach).

HP T5520

Źródło: strona producenta.

Instalacja

Do instalacji systemu jak zwykle – przynajmniej na razie, bo niedługo przechodzę na liveCD Debiana do takich celów – postanowiłem skorzystać z Knoppiksa. Wersja 5.x na kluczu USB – teraz praktycznie innego nie używam, ani nośnika, ani liveCD. Uruchomienie bez problemu – BIOS widzi klucz jako dysk.

Pierwsze co rzuciło się w oczy po uruchomieniu konsole, to problemy z grafiką – jakieś białe prostokąty zamiast wpisywanego tekstu. Po chwili dołączyło do tego zawieszenie systemu. Ponieważ Zal też coś pisał w tym temacie (freezy na Ubuntu 9.10 Server Edition), a podobne problemy już widywałem, postanowiłem skorzystać z dwóch rzeczy – wyłączenia acpi oraz wywołania knoppiksa bez uruchamiania Xów (w międzyczasie dla pewności sprawdziłem pamięć memtestem – jeden przebieg):

knoppix 2 acpi=off noapic

Faktycznie, pomogło. Chciałem zainstalować Lenny’ego, więc kolejnym krokiem instalacja debootstrapa, bo debootstrap domyślnie dostępny w Knoppiksie nie zna czegoś takiego jak Lenny. Szybkie apt-get update zakończyło się błędami i widocznymi komunikatami o braku pamięci. Cóż, 110 MB i brak swap to nie jest to, co tygrysy lubią najbardziej, szczególnie, że w knoppiksowym sources.list wpisów jest masa. W każdym razie jeśli ktoś ma możliwość utworzenia swapa na czas instalacji i uruchamiania Knoppiska, to polecam (oczywiście nie na flashu). Po wywaleniu części wpisów (w zasadzie został tylko Lenny i security), debootstrap zainstalował się bez problemu.

Od tego momentu było z górki – tradycyjna instalacja debootstrapem, chroot, doinstalowanie kernela i gruba. Jedyne na co zwrócić uwagę, to urządzenie, dla którego grub robi wpisy root. Ponieważ pendrive z Knoppiksem widziany był jako /dev/sda, to pendrive na którego robiona jest instalacja widoczny był jako /dev/sdb. Po reboocie i wyjęciu pendrive’a z Knoppiksem oczywiście się to zmieni, więc IIRC trzeba było dostosować wpis root (hd0,0). Tak sobie myślałem, co będzie się działo po podpięciu dysków twardych via USB, ale okazało się, że inteligentnie do kopt zostały dodane parametry określające root po UUID (root=UUID=8112bf09-1083…). Nie wiem, czyja to dokładnie zasługa (chyba gruba), ale miłe. Kiedyś tak nie było IIRC.

Wymagane miejsce

Po instalacji, z wszystkimi bajerami typu wajig, tshark, standardowym dystrybucyjnym kernelem itd. system zajął około 350 MB (po wyczyszczeniu cache pakietów z paczek pobranych na czas instalacji). Raczej dużo, jeśli komuś zależy na miejscu. Mi nie zależało, bo i tak jedyny zbędny pendrive, jakiego miałem (znaleziony, zresztą), ma pojemność 2GB. Niemniej, na 256 MB by się nie zmieścił, tak po prostu, za to na 512 MB – bez problemu powinien się dać zainstalować.

Po totalnym dopieszczeniu systemu, skopiowaniu – pewnie nadmiarowych – danych itd. Zajęte jest 580MB. Niby dużo, ale spokojnie i zupełnie bez stresu da się zejść do 512 MB, bo największe pakiety wg wajig sizes to:

vim-runtime                 22,812     installed
wireshark-common 38,332     installed
linux-image-2.6.26-1-486 58,292     installed

Poza tym, irssi, nmap, mutt, centerim, tor, apt-cacher i parę innych pakietów też specjalnie potrzebne do działania routera nie są. 😉

Klucz USB jako dysk

Jak wspomniałem, jako napęd podstawowy został wybrany flash (w formie pendrive’a, ale to nieistotne). Po pierwsze, jest on bezgłośny, po drugie, brak elementów mechanicznych oznacza, że ma szansę być bardziej niezawodny (a niezawodność w przypadku routera i dostępu do internetu jest dość istotna, szczególnie, jeśli administrujemy tym zdalnie). Poza tym, łatwo zrobić i odtworzyć backup całości (na tyle, by połączył się z siecią). Z drugiej strony, jeśli chodzi o niezawodność, to dysk twardy wpięty po taśmie można monitorować przy pomocy S.M.A.R.T. Wtedy przewagi flasha nie ma, ale tak się składa, że w tym sprzęcie raczej po USB, a nie po taśmie podłącza się dyski. Niby można coś w środku po taśmie, ale musiałby być to laptopowy IDE, a takich nie mam, no i nie bardzo da się to ładnie umocować…

Użycie flasha wymusza parę zmian w stosunku do domyślnej instalacji. Przede wszystkim należy ograniczyć liczbę zapisów na dysk z uwagi na żywotność. Czyli system plików bez journala. Stanęło ext2. Do tego opcja noatime, oraz montowanie w trybie tylko do odczytu (ro). Mam nadzieję, że starczy – nie bawiłem się bardziej systemami na flashu, więc liczę na uwagi od ludzi z większym doświadczeniem.

/tmp montowany jako tmpfs, a /var po instalacji skopiowany na zwykły dysk (cache pakietów dla apt-cacher tam jest). Czemu cały /var, a nie tylko /var/cache? Cóż, tak było prościej. Z jednej strony wiem, jest to uzależnianie się od działania tego dysku, z drugiej chciałem mieć także logi, a na dopiszczanie niespecjalnie miałem czas.

Opcje montowania i inne zmiany w systemie plików

Ostatecznie najważniejsze wpisy we /etc/fstab wyglądają tak:

UUID=8112bf09-1083-...  /  ext2  ro,defaults,noatime  0  1
tmpfs  /tmp tmpfs  defaults  0  0

Wiem, z opcjami dla /tmp można by się bardziej postarać, ale okazało się, że niektóre pakiety przy instalacji wymagają uruchomienia z tego katalogu (w sumie jak o tym teraz myślę, to powinienem błąd zgłosić), więc noexec nie bardzo dawał radę. Poza tym, symlink /var do katalogu na dysku twardym, podobnie z /home. Dla świętego spokoju, mając na względzie problemy z Knoppiksem, zdecydowałem się także na swap w pliku na dysku twardym (256 MB).

Z mniej oczywistych rzeczy – po uruchomieniu z takimi opcjami system nie wstał. Dokładniej, nie wstała sieć. Okazało się, że zapomniałem (bliższe prawdy: nie pomyślałem) o /etc/network/run, które także musi być dostępne do zapisu. Rozwiązaniem było mkdir /dev/shm/network i podlinkowanie /etc/network/run tamże.

Szybkość

Sama maszyna jest wyraźniej żwawsza od poprzedniego PII 266 MHz z 64 MB RAM. Szczególnie widać to na operacjach typu instalacja pakietów, które nie trwają wieków. Jakiegoś dokładniejszego benchmarku nie przewiduję, cieszę się jedynie, że moje obawy co do niewielkiej ilości cache procesora (cache size: 64 KB) okazały się nieuzasadnione. Prędkość dysków po USB jest zadowalająca:

zwykły dysk:
Timing cached reads:   230 MB in  2.02 seconds = 114.09 MB/sec
Timing buffered disk reads:   88 MB in  3.03 seconds =  29.06 MB/sec

klucz USB:
Timing cached reads:   226 MB in  2.00 seconds = 112.74 MB/sec
Timing buffered disk reads:   78 MB in  3.02 seconds =  25.85 MB/sec

Wszystko to z wpiętym modemem Sagem F@st 800, który zapewnia połączenie z siecią telefoniczną. Póki co, w ciągu kilkudniowych testów, nie zanotowałem żadnych problemów ze stabilnością modemu na tym chipsecie.

Energooszczędność

Trochę rozbieżności już było, bo na jednym zdjęciu wydawało mi się, że na zasilaczu jest 3,33A (przy 12V), ale zostałem sprostowany w komentarzach w którymś wpisie, że jest 3,5A (inna osoba miała 3,3A). Wygląda na to, że zasilacze nie są oryginalne – na urządzeniu jest 3,33A, natomiast na zasilaczu mam 3,5A. Nie przeszkadza to w żaden sposób, a jak wspominałem, sprzęt nie jest nowy. Tyle, jeśli chodzi o maksymalny pobór prądu. Oczywiście jeśli nie podłączamy dysków wymagających osobnego zasilania. Myślę, że jest to mniej, niż średni pobór dotychczasowej maszyny (zwykły PC).

Podsumowanie i TODO

Zabrakło na pewno testu wpływu sprzętowego akceleratora operacji AES z wykorzystaniem padlock-aes. Nie miałem czasu przebudować openssl, a z tego co wyczytałem, debianowy domyślnie nie ma wsparcia dla tego modułu (mimo, że moduł w jądrze jak najbardziej istnieje i ładuje się bez problemu). Przy okazji postaram się potestować jego wpływ na obciążenie systemu przez encfs oraz tor (to będzie trudne, bo niezauważalne jest). Wtedy także poważniejsze testy wydajności dysków (głównie porównanie wpływu encfs, także wydajność zapisu). Nie przeniosłem też wszystkich usług, przede wszystkim zabrakło czasu/ochoty na przeniesienie leafnode – lokalnego serwera (a raczej proxy NNTP), który miał spory wpływ na I/O dysku. W sumie i tak z niego nie korzystam chwilowo…

Jak już pisałem, z modemem problemów nie ma, maszynka ma blisko 3 dni uptime (tylko tyle, bo były kontrolne restarty, kolosalnych uptime nie będzie, bo UPS brak) i pracuje stabilnie i bezproblemowo jak dotychczas.

T5520 na pewno jest ciekawą i niedrogą alternatywą dla małych systemów z architekturami innymi niż x86 (i GNU/Debian Lenny pracuje na niej bez problemu i bez modyfikacji). Maszynka mała, nie żrąca wiele prądu i pasywna, więc idealnie nadawałaby się na wyniesiony router, ale wady w takim zastosowaniu to tylko jeden interfejs sieciowy, brak PoE (chociaż dało by się przerobić – zasilanie to tylko 12V) i brak klasycznych slotów PCI i miniPCI (jest jeden PCI w środku, ale tylko low profile i nie da się przykręcić śledzia). Oczywiście, można stosować karty na USB.

Jako typowy NAS też nie do końca – brak miejsca na dyski w środku, brak możliwości korzystania ze S.M.A.R.T. Oczywiście znowu da się to obejść podłączając dyski na USB i robiąc softraid.

Jako media center – znowu brak dysku, filmy nie wiem czy pójdą. Natomiast do odtwarzania muzyki w domu czy biurze powinno się nadawać idealnie (robiąc jednocześnie za NAS i router).

I w sumie uniwersalność (chociaż niby jak coś jest do wszystkiego, to jest do niczego), przy niewielkich rozmiarach, poborze prądu i cenie jest największą zaletą. Ja z zakupu jestem zadowolony – za grosze mam stosunkową wydajną maszynkę, robiącą za router, miniNAS, prywatnego shella, a wszystko bezproblemowo na najlpopularniejszej architekturze (x86). W tej chwili nawet z paczki wszystko, łącznie z kernelem.

UPDATE: Sprzęt spokojnie powinien się dać wykorzystać jako odtwarzacz muzyki (mp3, ogg, flac, aac, radio internetowe). Sposób na muzykę (sterowanie zdalnie z kompa, da się pilota zaprząc pewnie do MPD z pomocą LIRC, scrobbling) pod Linuksem opisałem tu. Co prawda nie jestem audiofilem i nie testowałem jakości dźwięku z wbudowanej karty, ale na innym sprzęcie i najtańszej karcie USB radio internetowe działa OK (po podłączeniu do wieży). Jakby ktoś zrobił na tym media center, to chętnie poznam uwagi.

Cenzura w sieci.

Niedawno z niepokojem przeczytałem artykuł o „filtorwaniu i blokowaniu” polskiego internetu. Pomysł blokowania nie jest nowy – chodzi o zablokowanie części ruchu, co w ten czy inny sposób jest robione od dawna – jednak tym razem nie chodzi o aspekty techniczne (jak np. blokada ruchu charakterystycznego dla wirusów i trojanów czy spamu), tylko o blokadę po treści.

Zawsze, gdy widzę konieczność nadzoru z zewnątrz, zamiast odpowiedzialności osoby publikującej treści (i skutecznego jej ścigania), odnoszę wrażnie, że chodzi o wielką ściemę. Taka kontrola po pierwsze niesie ze sobą duże ryzyko nadużyć i korupcji (a jeśli chodzi o neutralność nie ufam żadnej, ani polskiej, ani nawet unijnej instytucji, nie mówiąc o różnych firmach czy ich związkach). Powodów nie trzeba daleko szukać – choćby delikatna manipulacja przez zamieszczenie tłumaczenia, które tłumaczeniem nie było może dawać obraz podejścia instytucji.

Dodatkowo, trzeba zwrócić uwagę na sprytne argumenty przy ograniczaniu wolności i zastraszaniu zwykłych ludzi. W przypadku wszechobecnych kamer itp. rolę tę pełnią terroryści (IMO terrorysta zagraża bardziej politykom, niż szaremu obywatelowi, no i jakże jest medialny). Trudno zastraszyć obywatela terrorystą w sieci, więc sięgnięto po co? Oczywiście po dzieci i pedofilię. Problem, który moim zdaniem spokojnie można by skutecznie ścigać bez cenzury, ale czy tak naprawdę instytucjom państwowym zależy na czymś innym niż tylko na zdobyciu społecznego przyzwolenia na cenzurę, za którym pójdą uregulowania prawne (i technologiczne) pozwalające na cenzurowanie czegokolwiek? Wątpię. Rząd boi się ludzi i informacji, których nie kontroluje, a opór przeciw ograniczeniu wolności łatwo będzie negować zarzucając wspieranie pedofilii każdemu, kto się na cenzurę nie zgodzi (argument emocjonalny, z którym trudno polemizować). Albo się mu prewencyjnie zrobi kontrolę (przecież na pewno ma treści, bo ich broni!) i zabierze na rok czy dwa sprzęt komputerowy. W państwie prawa takie rzeczy się zdarzają, przykład niżej.

Drugim krokiem, po wydzieleniu różnych rodzajów treści i wprowadzeniu możliwości ich filtrowania, jest oczywiście wprowadzenie opłat za dostępy do określonych treści czy usług. Mając tak piękne narzędzie lobby producentów rozrywki na pewno będzie dążyło do wymuszenia na państwie „ochrony” swoich interesów, a Internet, z wolnego medium dołączy do mediów kontrolowanych przez państwo. Nierealne? Biorąc pod uwagę ostatnie działania w sprawie odsiebie.com (dead link, domena przejęta), nie mam takiego wrażenia. Państwo używa siły (w stosunku do człowieka, z którym jak najbardziej możliwy był dialog, z tego co czytałem), nadużywa władzy i to tylko w sprawie tej jednej firmy – firm hostingowych jest wiele, o podobnym charakterze – przynajmniej kilka. Tylko pewnie inne nie próbują nawet współpracować w zakresie ochrony praw autorskich i pobierają opłaty…

Oczywiście natura nie znosi próżni, więc im silniejsze działania w stronę cenzurowania, tym silniejsze sięganie po różnego rodzaju narzędzia omijające cenzurę. Nie ma się co oszukiwać, przestępcy będą z nich korzystali jako pierwsi (zarówno z nakładek na istniejący Internet, jak i z różnych projektów tworzących w różny sposób zdecentralizowane sieci). Niestety, zwykły człowiek chcący walczyć aktywnie z cenzurą w sieci, musi mieć świadomość tego, że nie tylko do zacnych celów jego działalność będzie wykorzystywana (tak jest, jeśli ktoś uruchomi węzeł tora, to nie tylko do omijania chińskiej cenzury będzie on wykorzystywany). Ale IMO za wolność warto zapłacić nawet tę cenę, jaką jest ułatwienie działań przestępcom.

A wszystko dlatego, że rządy boją się własnych obywateli i aktywnie (oraz całkiem niepotrzebnie) ingerują w rynek… Nie wiem czemu, ale kłóci mi się to z wizją demokracji.

Adres IP jako dane osobowe.

W ostatnich dniach GIODO zaszalał nieco i przyczepił sie do blox.pl w sprawie publikowanych adresów IP, że niby są to dane osobowe. Szerzej pisał o tym Dziennik Internautów. Zdania na ten temat są oczywiście podzielone. Przeczytać można wypowiedź prawnika, który twierdzi, że IP to nie dane osobowe. Tymczasem prawda leży – jak to często bywa – pośrodku.

Z jednej strony oczywistym jest, że adres IP to żadna dana osobowa (i – moim zdaniem – GIODO się wygłupił, jeśli z pełną powagą postawił taki zarzut). Tak samo daną osobową nie jest pozycja geograficzna (niebawem również wysyłana przeglądarką), kod pocztowy, samo imię, numer telefonu. Niemniej, w określonych okolicznościach, każda z tych danych może jednoznacznie określać osobę. Wystarczy mieszkać w odpowiednio odludnym miejscu czy mieć wystarczająco mało popularne imię, by można było na ich podstawie jednoznacznie określić osobę.

Jednak co innego wymagania prawne, a co innego dobre praktyki. W jakim celu pokazywać cały adres IP niezalogowanego komentującego wszystkim (także niezalogowanym)? Po co ułatwiać określenie tożsamości osoby, jeśli ta wyraźnie tego nie chce? Tym bardziej, że nie są w tym przypadku równo traktowani wszyscy. Użytkownicy Neostrady są – z racji wymuszanej co 24h zmiany IP – znacznie bardziej anonimowi, niż użytkownicy kablówek o względnie stałych (tygodnie, miesiące) IP.

Rozumiem, że administrator serwisu czy ew. właściciel bloga mogą mieć dostęp do tych danych (a nawet powinni – choćby do celów moderacyjnych, poza tym właściciel łatwo może wstawić odpowiednie narzędzia pokazujące adres IP, albo i znacznie więcej na stronę), ale jakie znaczenie dla pozostałych ludzi ma to, czy ktoś podpisujący się Anonim łączy się z adresu 100.101.102.103, czy z 100.101.102.*. a nawet z 100.101.*.*? Żadne, dopóki nie chce się go namierzyć. A namierza się zwykle w dwóch przypadkach: aby zrobić kuku nielegalnie (wszelkie kwestie plotkarsko-mobbingowo-przestępcze), lub zrobić kuku legalnie (np. komentujący złamał swoim komentarzem prawo). Przy czym w tym drugim przypadku powinna robić to policja/prokuratura i im adres IP na widoku nie jest potrzebny.

Dlatego uważam, że świetnie sprawa adresów IP jest potraktowana w serwisie Hattrick. Dla reszty użytkowników widoczne są jedynie pierwsze dwa oktety adresu IP (czyli widać 100.101.*.*) adresu IP. Resztę widzą (zapewne) administratorzy i moderatorzy.

Świadomość mechanizmów działania internetu i pozostawianych śladów o sobie jest w społeczeństwie nikła (mam wrażenie, że na szczęście dla wielu moderatorów). Lekkomyślne podejście do anonimowości (tej małej, pozornej, na potrzeby ukrycia się przed sąsiadem/współpracownikiem, bo dla policji/prokuratury anonimowi nie są) użytkowników owocować będzie raczej wzrostem popularności narzędzi typu tor, które ułatwiają ukrycie tożsamości na znacznie większą skalę.

Administratorzy blox.pl powinni pamiętać o przytoczonym numerze telefonu (który też daną osobową tak po prostu nie jest, choć może pozwalać na jednoznaczne zidentyfikowanie danej osoby). Praktycznie każdy operator pozwala na jego niepokazywanie innym użytkownikom, przy zachowaniu pełnej informacji o numerze dla siebie. Wydaje mi się, że byłoby dobrze, gdyby adresy IP były traktowane podobnie. Poza warstwą techniczną nie muszą być publicznie widoczne.