Co drukarka sieciowa wie na temat routingu?

5 komentarzy

Jestem w szoku.

Zacznijmy od początku. Kupiłem drukarkę z Wi-Fi, wszystko cacy, będę mógł sobie bezprzewodowo drukować. Podłączenie do sieci systemem Wi-Fi Protected Setup i po kilku sekundach drukarka otrzymała adres 192.168.1.254 z DHCP routera. A, co tam! Wpisze ją do tablicy, niech ma ten adres na stałe...

2 dni później przyszła ochota na domowy VPN. Kilka godzin zagłębiania się w temat, herbatka i zaczynamy. Jako że testowanie działania tunelu w obrębie sieci lokalnej mija się z celem, udało mi się namówić członka rodziny oddalonego o kilka kilometrów o zdalne udostępnienie swojego peceta do testowania połączenia.

Instalacja OpenVPN na debianie, generowanie certyfikatów, kluczy i na końcu konfiguracja i testowanie. OpenVPN daje nam możliwość zestawienia tunelu w trybie routera bądź mostu. Zaletą pierwszego jest ograniczenie wysyłania danych sieciowych tunelem do niezbędnego minimum; brak broadcastów (wysyłał ktoś magic pakiety Wake On Lan przez VPN? Awangarda w sieci.) , IPX'ów i innych. Teoretycznie jedyną wadą trybu routera jest konieczność zadbania we własnym zakresie o trasowanie, co za chwilę okaże się gwoździem programu.

Trasa wygląda następująco:

Po wstępnej konfiguracji OpenVPN w trybie tun, klient był w stanie spingować wewnętrzny interfejs serwera (192.168.1.2). Sukces!

Zasoby samby i inne wodotryski dostępne globalnie poprzez \\\192.168.1.2. Jedziemy dalej. Byłoby miło uzyskać dostęp do całej sieci domowej - nie tylko serwer udostępnia swoje usługi. Próba spingowania lokalnych komputerów przez klienta zakończona porażką, brak routingu.

Dodajemy push "route 192.168.1.0 255.255.255.0" do konfiguracji servera VPN w celu wskazania klientowi, że sieć 192.168.1.0/24 znajduje się na końcu tunelu. Dalej porażka. Pingujemy router - nic, pingujemy laptopa - nic, pingujemy netbooka - nic. pingujemy drukarkę - Sukces!

Tcpdump informuje o wędrujących pakietach ICMP echo request/reply między klientem a drukarką. Jakim cudem drukarka jest jedynym urządzeniem sieciowym znającym trasę powrotną pakietów od klienta? Na początku myślałem, że to za sprawą jej adresu - 192.168.1.254. Szybki test, odłączenie drukarki, nadanie hostowi w sieci lokalnej adresu 192.168.1.254. Ping nie dochodzi. Wygląda na to, że ten adres nie ma dużo wspólnego z zaistniałym ewenementem. Kolejny krok to zmiana adresu drukarki na 192.168.1.10. Pingujemy, działa.

Podsumowując. W sieci lokalnej wszyscy wszystkich pingują i się nawzajem widzą. Na routerze nie ma zablokowanych pingów, żaden z pecetów w sieci lokalnej w czasie testów nie miał włączonego firewalla. Wszystkie urządzenia otrzymują adres IP z wcześniej skonfigurowanej tablicy DHCP routera. Analiza ruchu wykazała, że wszystkie urządzenia w sieci lokalnej odbierają pakiety ICMP echo wysłane przez klienta tunelem VPN lecz nie znają trasy powrotnej i nie są w stanie odpowiedzieć.

Drukarka jakimś trafem trasę zna i wie, że klient (10.8.0.6) znajduje się na końcu tunelu którego bramą jest serwer (192.168.1.2) a nie jak myślą inne urządzenia - router (192.168.1.1). Skąd? :-)

Netbook Samsung N210

1 komentarz

Stałem się szczęśliwym posiadaczem N210. Netbook jest ładny, szybki, pojemny i spełnia większość moich oczekiwań. Ale zacznijmy od początku.

Będąc na uczelni często znajduję się w potrzebie skorzystania z internetu, dostępu do moich plików lub po prostu do zabicia wolnego czasu. Dotychczas łączność ze światem zapewniał mi iPod lub ewentualnie pecet na zajęciach informatycznych. Przeglądanie stron internetowych na iPodzie nie jest zbyt wygodne z racji rozmiarów wyświetlacza a dostęp do uczelnianego PC jest możliwy tylko w godzinach laboratoriów. Dlaczego Netbook a nie Notebook? Tutaj nie zastanawiałem się długo. Netbooki są tańsze, lżejsze i 2x dłużej pracują na baterii. Przeglądając oferty wybór padł na Samsunga.



Miałem wcześniej w rękach N140. Wyglądał całkiem zacnie, Windows 7 Pro chodził jak żyletka a bateria 5200 mAh zapewniała mu długą pracę. Oglądając modele z 2010 roku, mój wybór ograniczył się do dwóch modeli - N150 i N210. N210 wygrał klawiaturą typu chiclet i designem :-)



Klawiatura jest niesamowita. 2.5mm odstępu między klawiszami zmniejsza ryzyko pomyłki przy pisaniu. Touchpad w miarę dokładny, choć mógłby być trochę lepszy poślizg.



Netbook jest lekki, i stosunkowo cienki. "Odstająca" bateria zapewnia nam cyrkulację powietrza pod komputerem i tym samym pomaga odprowadzić ciepło. Samsung wypuścił na rynek model N210 (N220 dla USA) w dwóch kolorach i z trzema typami baterii (4400, 5200, 5900 mAh). Tutaj wielki minus dla Samsunga. W Polsce dostępny jest tylko model w kolorze czarnym i z najmniejszą baterią 4400 mAh. Na pokładzie znajduje się energooszczędny Atom N450, który w połączeniu z zainstalowanym softwarem ograniczającym zużycie prądu pozwala osiągnąć realne 7 godzin pracy na baterii. Bardzo ciekawym rozwiązaniem jest tryb pracy "Silent", który powoduje obniżenie taktowania procesora czego skutkiem jest całkowite wyłączenie wentylatora oraz niemal bezgłośna praca.



Ogólna specyfikacja:

- Intel® Atom™ N450
- 1GB DDR2
- Matryca matowa z podświetleniem LED 10.1" WSVGA
- Grafika Intel® GMA3150
- Dysk 160 GB (SATA, 5 400 rpm)







Podsumowując, był to udany zakup. Po zakupie ram został wymieniony na 2GB, system przeinstalowany z Windows 7 Starter na Pro. Netbook spisuje się świetnie :)

Ogólna ocena : 9/10, baterie dostępne w Polsce mogłyby być większe... Pozdrawiam.

FreeNAS w służbie udostępniania usług sieciowych

8 komentarzy

Po długich i nieudanych bojach związanych z konfiguracją Slackware na moim serwerze postanowiłem przesiąść się na FreeNAS. Czym jest FreeNAS?

Jest to darmowy system wbudowany oparty na FreeBSD obsługujący :

- Samba
- SSH
- (T)FTP
- WWW
- NFS
- AFP
- iSCSI
- UPnP
- iTunes/DAAP
- Dyn DNS
- SNMP
- obsługa Rsync i Unison
- klient BitTorrent

FreeNAS ponadto umożliwia szyfrowanie dysków (AES, Blowfish, Camellia, 3DES), software'owy RAID 0/1/5 oraz ZFS. Moim zdaniem największym plusem jest możliwość konfiguracji całego systemu z poziomu przeglądarki. Każda usługa posiada swoją zakładkę i konfiguracja opiera się na kilku kliknięciach myszką. Ponadto mamy możliwość samodzielnego edytowania plików konfiguracyjnych jak i wydawania komend systemowych również z poziomu www. Dodatkowo mamy dostęp do przejrzystych statystyk interfejsów, sieci czy obciążenia i temperatury dysków twardych.

FreeNAS możemy zainstalować na kilka sposobów. Najpopularniejszą metodą jest instalacja w wersji Embedded, gdy system uruchamiany jest w RAMdisku a jedynie pliki konfiguracyjne zapisywane są na dysku/pamięci flash/karcie CF. Możemy również przy instalacji wybrać opcję "full" w której system zainstaluje nam się na dysku. Korzenie we FreeBSD pozwalająnam na instalowanie paczek tbz, lecz niestety nie ma możliwości instalowania oprogramowania ze źródeł :-(

System pracuje u mnie w wersji full na Pentium III 550 Mhz z 320MB Ramu. Aktualnie działa SSH, Samba, Rsync, serwer www i klient bitTorrent. Dodatkowo podłączona jest drukarka HP 5150. Zainstalowanie LPRng pozwoliło uruchomić drukowanie i udostępnić drukarkę w sieci.

Znalazlem ciekawy overview na youtube. Polecam!

Termometr Cyfrowy DIY

15 komentarzy

Witam! Przedstawiam kolejny projekt, który powstał wczoraj.

Jest to termometr cyfrowy oparty na czujniku temperatury Maxim-a DS18B20. Czujnik ten jest przede wszystkim tani, posiada ciekawe możliwości oraz pracuje na magistrali 1Wire co oznacza, że potrzebujemy tylko jeden przewód do komunikacji. Ponadto mamy możliwość wyboru rozdzielczości pomiaru w 3 opcjach. Pomiar temperatury z dokładnością do 0.5 stopnia trwa zaledwie 93 milisekundy. Jeżeli chcemy uzyskać pomiar z dokładnością do 0.1 stopnia, czas konwersji będzie wynosił 750 milisekund. DS18B20 mierzy temperaturę od -55 do 125 stopni Celsjusza. Po więcej szczegółów odsyłam do noty katalogowej. Mózgiem układu jest mikrokontroler z rodziny AVR - Attiny2313 pracujący z zegarem 16Mhz. Obsługuje on komunikacje z czujnikiem przez magistralę 1Wire oraz wyświetlanie pomiaru na wyświetlaczu 16x2. Oprogramowanie zostało napisane w BASCOM AVR. Kod zajmuje około 70% pamięci Flash, więc można wprowadzić do programu jeszcze drobne modyfikacje, np dotyczące sposobu wyświetlania temperatury bądź rozdzielczości pomiaru. Układ jest zasilany poprzez stabilizator L7805 co umożliwia nam wykorzystanie zasilacza dostarczającego napięcie w zakresie mniej więcej 6-12V. Kod programu :

$regfile = "attiny2313.dat"
$crystal = 16000000

Config Lcd = 16 * 2

Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = Portd.0 , E = Portd.4 , Rs = Portd.5

Deflcdchar 0 , 6 , 9 , 9 , 6 , 32 , 32 , 32 , 32

Config 1wire = Portb.0
Dim Temp As Integer , Napis As String * 6

Cursor Off
Cls

Do

1wreset
1wwrite &HCC
1wwrite &H44

Waitms 750

1wreset
1wwrite &HCC
1wwrite &HBE

Temp = 1wread(2)

Temp = Temp * 10
Temp = Temp / 16
Napis = Str(temp)
Napis = Format(napis , " 0.0")
Locate 1 , 1
Lcd " Temperatura: "
Locate 2 , 1
Lcd " " ; Napis ; " " ; Chr(0) ; "C "


Loop

End

Zdjęcia, Schemat, Opis, Kod źródłowy programu z opisem komend znajduje się tutaj.





Mały update. Powstała nowa wersja oprogramowania. Program dodatkowo zapisuje i porównuje temperaturę co 20 minut a następnie pokazuje na wyświetlaczu czy temperatura wzrosła, spadła czy jest stała. Oto link.

Halogen Project

8 komentarzy

Człowiek leniwym stworzeniem jest. W celu ułatwienia sobie życia powstało oświetlenie halogenowe sterowane pilotem Rc5. Sercem urządzenia jest ATmega8 na kwarcu 16Mhz. Elementem wykonawczym są 2 przekaźniki JQX115F-005 5V 8A. Są one sterowane mikrokontrolerem przez tranzystor NPN. Odbiornik podczerwieni to TSOP1736.

Program został napisany w BASCOM-ie :

----------------------------------
$regfile = "m8def.dat"
$crystal = 16000000
Config Pind.0 = Output
Config Pind.1 = Output
Lampa1 Alias Portd.0
Lampa2 Alias Portd.1
Config Rc5 = Pind.2
Dim Address As Byte , Command As Byte
Dim Status As Byte
Enable Interrupts
Status = 0
Do
Getrc5(address , Command)
Command = Command And &B01111111
Select Case Command
Case 12 :
If Status = 0 Then
Set Lampa1
Set Lampa2
Waitms 200
Status = 1
Command = 55
Elseif Status = 1 Then
Reset Lampa1
Reset Lampa2
Status = 0
Waitms 200
End If
Case 1 :
Set Lampa1
Reset Lampa2
Waitms 200
Status = 1
Case 2 :
Set Lampa2
Set Lampa1
Waitms 200
Status = 1
End Select
Loop
End
----------------------------------
Schematu nie ma, powstawał na bieżąco.





Update: W najbliższym czasie przygotuję schemat i bardziej opiszę projekt. Stay Tuned.




lypse(at)lypse.net