Turris Omnia — prawdziwy router open-source
Bardzo długo czekałem, aby móc przedstawić Turris Omnia na moim blogu. Turris Omnia to crowdfundowany router sieciowy open-source opracowany przez stowarzyszenie non-profit CZ.NIC z Czeskiej Pragi. Pierwszy raz został zaprezentowany 31 stycznia 2016 r. na FOSDEM, a sfinansowany w kampanii Indiegogo, której celem było osiągnięcie 100,000 $ do 12 stycznia 2016 r. Po zakończeniu tego terminu środki finansowe osiągnęły kwotę 1,223,230 $, czyli ponad 857% tego, co zakładano.
Turris Omnia miał spełnić trzy podstawowe zasady:
- być open-hardware (schematy dostępne tu) i open-software wykorzystując modyfikację bazującą na OpenWrt
- jego podzespoły bez problemu powinny sobie poradzić z dużym gigabitowym ruchem i mogą być wykorzystane także jako domowy serwer, NAS, czy serwer druku
- zapewnieniu ciągłych automatycznych aktualizacji, dzięki czemu luki w oprogramowaniu mogą zostać szybko naprawione (dlaczego TP-Link i D-Link tego nie potrafią).
Postanowienia zostały wszystkie spełnione, a to tylko początek. Bo pomysłodawcy projektu naprawdę z sercem podeszli do tematu.
Prosty, ale potężny
Wygląd routera nie jest imponujący. Prosta metalowa obudowa ze sporą ilością diod z przodu i z zestawem wyjść na tylnej ściance (USB 3.0, SFP, WAN i 5 LAN GBit). Zero marketingowej ściemy zawartej w kadłubku.
Sercem urządzenia jest dwurdzeniowy procesor ARM Marvell Armada 385 z zegarem taktowanym na 1,6 GHz. Mój model posiada 1 GB RAM (możliwość kupna wariantu 2 GB) i 8 GB pamięci flash. Urządzenie jest wyposażone w zegar czasu rzeczywistego z podtrzymaniem bateryjnym, moduł SFP i sprzętowy generator liczb pseudolosowych (CSPRNG). Dzięki dwóm Mini PCI Express obsługiwane jest połączenie WIFI. Dodatkowo na płycie znajdziemy gniazdo karty SIM i jedno złącze mSATA / mini PCI Express. Naprawdę ilość gniazd jest imponująca.
Pierwsza instalacja
Wstępna konfiguracja jest bardzo prosta. Całość dosłownie zamyka się w dziesięciu krokach. Wystarczy podłączyć router do naszego PC i przejść pod adres 192.168.1.1 i postępować zgodnie z prezentowanymi instrukcjami.
Proces jest łatwy, pod warunkiem, że nie wystąpi jakiś problem (głębokie). Przykład tego procesu można obejrzeć na wideo: https://www.youtube.com/watch?v=dZ1hb6xv9BQ
Konfiguracja podstawowa i zaawansowana
Router pracuje pod kontrolą Turris OS, czy forku popularnego OpenWrt, zgodnie z założeniami cały kod źródłowy znajduje się na GitHubie . Panel administracyjny w systemie składa się z dwóch interfejsów:
- Foris, oferujący podstawowe funkcje routera
- LuCI, znanego z OpenWrt i przeznaczonego dla zaawansowanych użytkowników.
Interfejs Foris
W tym podstawowym WebGui znajdziemy dosłownie kilka opcji, dzięki którym będziemy mogli skonfigurować naszą sieć, jeśli nie udało nam się to podczas „pierwszej instalacji”. Z opcji mamy dostępne ustawienia portu WAN, DNS, LAN, WI‑FI, a także menu automatycznej aktualizacji, konserwacji, diagnostyki i informacji o systemie.
Wśród tych podstawowych opcji, wartą uwagi są sekcje DNS i WI‑FI. W tej pierwszej mamy możliwość konfiguracji opcji DNSSEC (domyślnie włączona), która zapewnia poprawne uwierzytelnianie serwerów DNS, a to nam daje pewność, że nie połączymy się ze fałszywą stroną podszywającą się pod poprawny adres www. W sekcji WI‑FI dzięki prostemu interfejsowi skonfigurujemy bezprzewodowe połączenie w naszej sieci lokalnej. Mamy do wyboru stworzenie dwóch odrębnych sieci bezprzewodowych 2,4GHz lub jednej 2,4GHz i drugiej 5GHz. Wszystko wedle uznania i potrzeby. Dodatkowo każda z tych sieci może posiadać odrębny wariant dla gości, który jest odseparowany od sieci LAN. Urządzenia podłączone do tej sieci mają dostęp do Internetu, ale nie mają dostępu do innych urządzeń i interfejsu konfiguracji routera.
Zakres Wi‑Fi jest dużo lepszy w porównaniu z moim starym routerem, choć oba wykorzystują takie same anteny, to w najbardziej oddalonej części mojego mieszkania Turris Omnia wypada dużo lepiej.
Warto wspomnieć, że interfejs Foris został w 100% przetłumaczony na nasz ojczysty język, aby go zainstalować, wystarczy wejść do pozycji UPDATER i zaznaczyć go na liście dostępnych języków, która znajduje się na samym dole. Później pozostaje wybrać i używać. Tłumaczenia tworzone są przez wolontariuszy, a więcej na ten temat można uzyskać na stronie: https://www.turris.cz/doc/en/howto/localisation
Interfejs LuCI i ssh (tylko dla zaawansowanych)
Aby uzyskać dostęp do zaawansowanych konfiguracji, których nie znajdziemy w Foris musimy skorzystać z interfejsu LuCI lub po prostu z SSH.
LuCI daje nam możliwość ogromnej personalizacji urządzenia, między innymi możemy znaleźć ścieżki routingu, cyklicznych zadania crona, instalacji nowych pakietów, konfiguracji dodatkowych serwisów (np. DLNA, Torrent, MJPG-streamer) przypisywania statycznych adresów IP, tworzenia sieci Vlan, a nawet definicji własnego zachowania diod na obudowie routera. Także mamy dostęp do logów systemowych i naszej sieci. Naprawdę ogrom opcji.
Widać, że ten obszar przeznaczony jest dla zaawansowanych użytkowników, którzy mają większą wiedzę na temat działania sieci niż przysłowiowy Kowalski, czy Nowak.
Ze mną od tygodnia, ale na zawsze
Aby przebrnąć przez wszystkie opcje Turris Omnia potrzebował bym sporo czasu, dlatego cyklicznie będą pojawiać się nowe wpisy. Już teraz wiem, że on ma wielką przewagę nad konkurencją, przede wszystkim dzięki automatycznym aktualizacjom. Można jednak zachowanie konkurencji tłumaczyć tym, że większość domowych routerów nie robi nic specjalnego, więc nie ma zbyt wiele do zhakowania. Jednak w ostatnim czasie pojawił się KRACK i na mój stary router (a tani nie był), żadna aktualizacja nie została „wypuszczona” dlaczego?
To nie jest jedyną zaletą Turris Omnia dalej obsługuje także protokoły IPv6 i DNSSec. Ma slot na dysk mSATA i kartę SIM. Możemy do niego podłączyć dysk USB i bez problemu wykorzystać go jako NAS lub serwer druku podłączając domową drukarkę. Mało?
Dzięki dostosowaniu do potrzeb zaawansowanych użytkowników (wysoce konfigurowalny — SSH i LuCI) i tych mniej (interfejs Foris) Turris Omnia może stać się dobrą propozycją dla ludzi chcących czuć się bezpiecznie we własnej sieci.
Omnia Onom nom nom :)