Open Source Router Turris gennemgang

Tilbage i April skrev Ole Tange et fint indlæg om Hvordan undgår vi IoT (Internet of Trash)?

Her nævner han blandt andet Project Turris som laver en fri og åben router med alting. Jeg så en præsentation af projektet for noget tid siden på en RIPE konference og bestilte et styk. Den er nu ankommet!

Når jeg siger alting er det fordi den fra fødslen har:

  • en rimeligt kraftig CPU, Processor Freescale P2020, 1200 MHz
  • ikke så meget ram, 2Gb og ikke så meget storage indbygget, men nok til almindelig drift
  • USB3 så man kan tilslutte store diske, USB3 1x on front side + 2x internally
  • SIM kort holder, og LTE option kan tilkøbes - hvorfor bestilte jeg ikke den?
  • en strømforsyning med navn på, der står Turris på den! Hvorfor laver Cisco, Juniper og de andre IKKE PSU med navn på!
  • Wifi med 3xMIMO osv osv.
  • En fin række LEDs, hvor man selv kan styre farven :-D Black slukker dem, og custom hex er muligt

Se flere specs på hjemmesiden og prisen er ca. 1.900kr. Det er ikke så slemt endda for en enhed som har en efter min mening forventet meget længere levetid. Jeg estimerer ofte levetiden på elektronik ud fra supporten, og ikke selve elektronikken - som typisk sjældent går i stykker.

Det hele bindes sammen med open "source OpenWRT software" https://www.turris.cz/en/software der kan endda kigges i sourcen på https://gitlab.labs.nic.cz/public/projects?search=turris

Faktisk er softwaren jo interessant - fordi det er open source kan man fortsætte med at opgradere, selv hvis CZ.NIC ikke gider mere!

Nogle af de mest interessante punkter er:

  • Simpelt interface som er lækkert og lettilgængeligt. Jeg har set mange web interfaces, og det er noget af det mest lækre.
  • Avanceret interface LuCI Web interface
  • Auto updater - det mangler en del af vores open source projekter
  • Pakkesystem med ekstra features ca. 15 pakker i det simple interface: Tor, LXC Linux containers, Sound Card support.
  • Lækker realtime overvågning, grafer for netværk
  • IPv6 er selvfølgelig gennemført hele vejen
  • DNSSEC er implementeret med intern Knot DNS
  • "Data collection With the Turris Omnia router you can join Project Turris which is a non-profit research project founded by the CZ.NIC association, a .CZ domain registry." Ret interessant, se eksempelvis https://www.turris.cz/en/global-stats/
  • Firewall, selvfølgelig er der adgang til at rode med Linux firewall på den
  • OpenWRT, som i sig selv er fantastisk. Så skal du bruge en lille NAS er det et godt bud.

Det undrer mig lidt der ikke er en OpenVPN pakke direkte, men der er en beskrivelse på https://www.turris.cz/doc/cs/howto/openvpn

Det simple interface:

Illustration: Privatfoto

Det avancerede interface:

DNSSEC test

Jeg satte routeren ind som den primære router hjemme, midlertidig erstatning for min Soekris+OpenBSD, og det virker bare. Så lad os se hvad der sker.

Er der noget specielt jeg skal prøve på den?

Ældre artikler, mest af historisk interesse - og for at se hvad der blev lovet.
https://www.version2.dk/blog/open-source-routere-529617
https://www.version2.dk/artikel/crowdfundet-router-opdaterer-sig-automat...

Kommentarer (16)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Ole Tange Blogger

Jeg husker, at der blev skrevet om, at man kunne have flere virtuelle wifi-netværk. Bl.a. kunne man sammen med sit normale WPA2-netværk have et åbent wifi-net, der blev sendt ud via Tor.

Kan den det out-of-the-box?

Kan den være tor-node og samtidigt kun bruge overskydende båndbredde til Tor-trafik?

Hvor effektiv er dens kryptochip i Tor? Kan den fylde min 100 (snart 1000) Mbps forbindelse?

Henrik Kramshøj Blogger

Umiddelbart ser det vel lovende ud?

net.core.default_qdisc = fq_codel

er slået til som default lader det til.

@ole ja, selvfølgelig skal Tor afprøves, kigger på det :-D Quick edit, install er nemt, men tror config af Tor er commandl line og edit af filer. Lidt øv, men det kan nok ensrettes så man kan paste præcis de options man mangler.

Knud Jensen

Automatiske opdateringer kan jo være ganske rare, specielt for udstyr som de fleste slutter til, og lykkeligt glemmer alt om.
Men hvor sikkert er det implementeret i denne router?

Og så kunne det være interessant med en load test. Står WAN eller LAN portene af ved høj belastning, eller bukker under SoC'en først.

Kenn Nielsen

Jeg er ret ambivalent mht. automatiske opdateringer..

På den ene side..så er det nok godt for generel sikkerhed, forstået på den måde at det - gennemsnitligt - er en god ide for alle.

På den anden side, anser jeg dette som et interface til målrettet at kunne angribe een bestemt installation.
Med angribe mener jeg at blive i stand til at installere/eksekvere kode på og/eller bag firewallen.

Nu kan man argumentere, at et sådant angreb kræver interessen fra en-eller-anden trebogstavers sikkerhedstjeneste, og hvis dette er tilfældet så er man allerede i problemer.

Omvendt er min holdning, at hvis de er interesserede i min installation, kan de få sig en dommerkendelse, så eventuelle misforståelser kan opklares i 'god ro og orden'.

Bl.a. dérfor har jeg ikke automatiske "opdateringer" aktiveret.

K

Henrik Størner

Hvad koster den i normal 24/7 drift?

Min erfaring med ISP'ernes (skod) routere er at de bruger utrolig meget strøm på at lave ingenting. Det burde kunne gøres bedre.

[edit]: Burde have checket deres specs først - de hævder "9.5 W without load, 12.5 W with CPU load and 14 W with maximum wired and Wifi network load. Measured power consumption includes the supplied power adapter." Det er ikke så tosset.

Michael Cederberg

Er der noget specielt jeg skal prøve på den?

Du må meget gerne lave en throughput test - både rå IP traffik og OpenVPN (vælg det bedste cipher). Jeg har meget svært ved at tro at den er i stand til at udnytte hele gigabit WAN porten, og med openVPN og kryptering så kommer man nok ikke i nærheden af 100Mbit.

I øvrigt er det værd at bemærke at der stadigvæk er close-source kode i routeren ifbm. wifi modulet. Og så er routeren heller ikke rigtigt open source rent hardware mæssigt. SoC er ikke open source og ingen ved hvad der er gemt deri.

Kristian Klausen

Jeg har meget svært ved at tro at den er i stand til at udnytte hele gigabit WAN porten, og med openVPN og kryptering så kommer man nok ikke i nærheden af 100Mbit.


Angående VPN, så er der nyt interessant VPN software på vej.

Det hedder WireGuard og der arbejdes på at få poleret det færdig og ind i Linux kernen.

WireGuard is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPSec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it plans to be cross-platform and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.

Hvis man kigger på deres b*nchmark, så slår det nærmest "alt".

Version2 firewall tillader ikke ordet b*nchmark, så kunne ikke poste før.. Det åbenbart et farligt ord..

Michael Cederberg

Hvis man kigger på deres b*nchmark, så slår det nærmest "alt".

Det ser imponerende ud, men problemet er normalt encryption speed og manglende hardware accelleration.

Jeg er ikke ekspert i hverken openVPN eller openSSL, men jeg har en rimelig antagelse af at encryption speed i openSSL er tæt på det maksimalt opnåelige for en enkelt tråd. Nedenstående tal er encryption speed i MB/s for min 1GHz Broadcom baserede router (”openssl speed”). Det er ret åbenlyst at den aldrig vil komme over ca. 200 Mbps hvis man vil have bare nogenlunde sikkerhed.

Værre bliver det når man medregner at alle home routere der sælges i dag skal have hardware routing acceleration enabled, hvis blot man skal en smule over 100 Mbps. Ingen af de routere kan lave nogen form for encrypted VPN med hardware acceleration. Når man lægger det hele sammen så kan man i dag ramme ca. 60 Mbps med OpenVPN. Uden kraftige forbedringer i HW så kommer man ikke meget højere med en ny VPN stack.

Turris routeren har som jeg ser det, ingen form for hardware assisted routing. Alt routing skal gennem kernen. Processoren er nogenlunde ligeså hurtig som min router. Jeg forventer derfor sammenlignelige tal.

type16 bytes64 bytes256 bytes1024 bytes8192 bytes
rc441,745,146,646,545,9
des cbc11,111,711,71212
des ede34,44,44,54,64,6
idea cbc10,31110,710,810,8
seed cbc15,116,116,316,416,5
rc2 cbc10,511,311,611,611,6
rc5-32/12 cbc24,63031,532,231,5
blowfish cbc19,822,924,124,424,2
aes-128 ige21,625,827,127,627,2
aes-192 ige192222,422,722,7
aes-256 ige16,919,219,619,719,4
Henrik Kramshøj Blogger

Det er rigtigt spændende og der er mange chips igang.

Jeg ved ikke om jeg vil forvente at en Turris kører BÅDE Gbit routing og Gbit VPN samtidigt. Jeg tror i mange tilfælde jeg vil sætte mere pris på hurtig routing, og nok oomph til et par brugere VPN. Specielt i Danmark har vi jo relativt langsomme forbindelser. (Ja, jeg har 50/50 fiber med lav latency og Ahf har noget 300Mbit hjemme, men det er sgu ikke alle!)

Så ja VPN vil nok være en flaskehals, jeg lavede lidt openssl speed, fuld output på http://files.kramse.org/tmp/turris-omnia-openssl-speed.txt

Turris Omnia router OpenSSL 1.0.2h 3 May 2016:
openssl speed
....
Doing aes-128 cbc for 3s on 16 size blocks: 6.835.828 aes-128 cbc's in 2.81s
Doing aes-128 cbc for 3s on 64 size blocks: 1.369.848 aes-128 cbc's in 2.13s
Doing aes-128 cbc for 3s on 256 size blocks: 458.064 aes-128 cbc's in 2.78s
Doing aes-128 cbc for 3s on 1024 size blocks: 123.160 aes-128 cbc's in 2.93s
Doing aes-128 cbc for 3s on 8192 size blocks: 14.836 aes-128 cbc's in 2.82s

Til sammenligning giver den Mac Retina 2.5GHz i7 jeg sidder ved nu:
Doing aes-128 cbc for 3s on 16 size blocks: 26.417.510 aes-128 cbc's in 2.91s
Doing aes-128 cbc for 3s on 64 size blocks: 6.962.369 aes-128 cbc's in 2.94s
Doing aes-128 cbc for 3s on 256 size blocks: 1.715.284 aes-128 cbc's in 2.91s
Doing aes-128 cbc for 3s on 1024 size blocks: 441.946 aes-128 cbc's in 2.93s
Doing aes-128 cbc for 3s on 8192 size blocks: 56.730 aes-128 cbc's in 2.93s

1.000 tals punktummer indsat af mig

Mht. hardware accell er der flere ting i spil. Forwarding af pakker, hvor projekter som bruger parallelitet er sjove, https://routerboard.com/ccr1016-12g

og så VPN delene. Tidligere har vi også rodet med VPN HiFn kort til OpenBSD - men det giver sjældent fordele, hvor det hellere skal være noget AES inde i CPU.

Specielt til sikkerhedsprojekter mindes jeg ofte at være stødt på Cavium Octeon, og der er eksempelvis et andet projekt. FreeBSD som arbejder på Octeon som ligger i en del enheder. Fandt blandt andet denne side med lidt flere detaljer: https://wiki.freebsd.org/FreeBSD/mips/Octeon

arggg, må løbe, tak for kommentarer, vender tilbage

Log ind eller Opret konto for at kommentere