Granskning: 6 smidiga routrar med öppen källkod

Världens hackare, förenas! Du har inget att förlora förutom den eländiga firmware som dina routrar levererade med.

Bortsett från smartphones är routrar och trådlösa basstationer utan tvekan de mest hackade och användarmodade konsumentenheterna. I många fall är fördelarna stora och konkreta: en bredare palett med funktioner, bättre routningsfunktioner, stramare säkerhet och möjligheten att konfigurera detaljer som normalt inte tillåts av lager firmware (såsom antennens uteffekt).

Den svåra delen är att ta reda på var du ska börja. Om du vill köpa en router som specifikt ska modifieras kan du tjäna bäst genom att arbeta bakåt. Börja med att titta på tillgängliga erbjudanden, välj en av dem baserat på funktionsuppsättningen och välj en lämplig enhet från hårdvarukompatibilitetslistan för det erbjudandet.

I den här artikeln. Jag har sammanställt sex av de vanligaste sorterna av nätverksoperativsystem från tredje part, med betoning på vad de ger dig och vem de passar bäst för. Några av dem är endast avsedda för inbyggd hårdvara eller specifika modeller av routrar, andra som mer hårdvaruagnostiska lösningar och andra för att fungera som ryggraden för x86-baserade apparater. 

Nyckel: 1. 2. Inget släppdatum har ställts in ännu för version 3.0; Beta tillhandahålls löpande. Projektet uppdateras inte längre; olika gafflar har fortsatt sedan.
  DD-WRT OpenWrt / LEDE Tomat OPNsense PFSense VyOS
Första utgåvan 2005 2004/2016 2008 2015 2004 2013
Aktuell version 3.0 beta1 17.01.4

(Okt 2017)

1.28

(Juni 2010) 2

17.7

(Juli 2017)

2.4.2-p1

(Dec 2017)

1.1.8

(Nov 2017)

Stödda hårdvarutyper Många Många Några endast x86 / x64 endast x86 / x64 endast x86 / x64
Målgrupp Allmänna användare, som lager firmware Måttligt erfarna till avancerade användare Avancerade användare Professionella Professionella Professionella
Licensiering Gratis och egna element Gratis (GPL och andra) Gratis och egna element BSD Apache 2 Gratis (GPL och andra)

DD-WRT

DD-WRT har visat sig vara ett populärt router-firmwareval inte bara bland hobbyister och hackare, utan också routertillverkare. Buffalo har till exempel använt DD-WRT som grund för många av sina hem- och prosumerrouterbjudanden. Den ursprungliga produkten skapades 2005 för Linksys WRT54G-routern, en enhet utformad för att acceptera Linux-baserad firmware, och kärnprogramvaran finns som ett GPL-erbjudande. Observera att det kan finnas ganska stora skillnader i implementering eller presentation mellan kärnaversionen av DD-WRT och routerspecifika utgåvor från tredje part som Buffalos.

Maskinvara som stöds för DD-WRT

DD-WRT stöder Broadcom-, ADM-, Atheros- eller Ralink-chipuppsättningar, men tänk på att inte alla enheter som använder dessa chipuppsättningar är automatiskt kompatibla. Vissa kan kräva enhetsspecifikt hackeri för att fungera; vissa kanske inte fungerar alls, punkt. Observera också att en nyare router inte automatiskt betyder en mer kompatibel, eftersom det kan ta tid att producera en version som är kompatibel med en nyare router. DD-WRT-underhållarna har en databas över enheter som stöds, tillsammans med en lista i deras wiki över både enheter och funktioner, så det är inte svårt att säga om en viss modell stöds eller i vilken grad.

DD-WRT-funktioner

DD-WRT ger en mängd kraftfulla funktioner som vanligtvis inte finns i routrar för konsumentkvalitet, till exempel stöd för att skapa offentliga Wi-Fi-hotspots genom en mängd olika leverantörer, med dynamisk DNS (igen, från flera leverantörer) och tillhandahålla OpenVPN-tjänster för anslutna kunder. Den finns också i en rad olika storlekar, från 2MB “micro” -byggnaden som bara stöder de viktigaste funktionerna till 8MB “mega” -byggnaden som har, ja, allt. Detta låter firmware placeras på enheter med mycket varierande lagringskapacitet.

DD-WRT-begränsningar

Kärnversionen av DD-WRT uppdateras  mycket  sällan. Om du vill ha mer frekventa uppdateringar måste du antingen gå med en tillfällig beta eller välja en tillverkarlevererad version med regelbundna versioner.

DD-WRT är det bästa valet för de flesta användare. Det faktum att DD-WRT kommer som en lagerförladdning (om än med mods) i många routrar gör det enkelt att få tag på en router med den installerad och inställd specifikt för att arbeta med din hårdvara, samt att hålla den uppdaterad.

OpenWrt / LEDE

OpenWrt är ett router-firmwareprojekt som är som en fullständig Linux-distribution för inbäddade system. Du kan ladda ner paketen för en specifik hårdvarukonfiguration och bygga koden för hårdvaran med hjälp av en medföljande verktygskedja. Detta komplicerar implementeringsprocessen men ger enorm flexibilitet.

För att spara tid finns olika förbyggda versioner av OpenWrt tillgängliga för vanliga hårdvarutyper och routerplattformar. Detta inkluderar allt från generiska x86-baserade system till Broadcom och Atheros chipset som används för att driva många routrar med fast firmware. Tillverkarna av OpenWrt rekommenderar att man börjar med en hylsversion och sedan lär sig hur man rullar sin egen när man har hittat er.

Under de senaste åren har utvecklingen av OpenWrt gått igenom några kramper. Ett spinoff-projekt kallat LEDE (Linux Embedded Development Environment) gafflade OpenWrt-kodbasen och fortsatte utvecklingen i snabbare takt än det ursprungliga OpenWrt-teamet. Från och med januari 2018 har dock de två projekten kommit överens om att slå samman sina ansträngningar under det ursprungliga OpenWrt-namnet.

Maskinvara som stöds för OpenWrt / LEDE

Med ett ord: Mycket. Mer än 50 hårdvaruplattformar och 10 CPU-arkitekturer stöds, från ARM-minibord till fullblåsta x86-64-system. Projektet ger också en köparhandbok som hjälper dig att välja rätt hårdvara för dina specifika behov, om du handlar efter en specifikt OpenWrt-kompatibel produkt.

Funktioner för OpenWrt / LEDE

Förutom brett maskin- och plattformssupport inkluderar OpenWrt stöd för OLSR-nätverksprotokollet, vilket gör att du kan skapa mobila ad hoc-nätverk från flera OpenWrt-enheter. Bekvämt kan OpenWrt, när det väl har distribuerats, modifieras  utan att firmware återbländar . Paket kan läggas till eller tas bort efter behov via ett inbyggt pakethanteringssystem.

Olika avknoppningar av OpenWrt är tillgängliga, vissa med mycket specifika användningsscenarier. Gargoyle erbjuder som en av sina stora funktioner möjligheten att övervaka bandbredd och ställa in per värdhatt. Ett nu dött projekt, FreeWRT, var ännu mer utvecklingsfokuserat än OpenWrt-kärnan och hade en praktisk webbaserad bildbyggare för dem som vill skapa en FreeWRT-firmware med lite vägledning.

Innovationer från några av spinoff-byggnaderna har återlämnats till OpenWrt. LEDE är ett exempel, men ett annat är Cerowrt-byggnaden. Cerowrt skapades som en del av Bufferbloat-projektet för att hantera problem med nätverksflaskhalsning i LAN och WAN. Den underhålls inte längre, eftersom alla dess tekniska innovationer nu finns i OpenWrts kodbas.

Rekommenderade användare för OpenWrt

Ursprungligen var OpenWrt för experter, människor som vill ha så få begränsningar som möjligt för vad de kan göra, som är ambitiösa för att implementera ovanlig hårdvara och som känner sig bekväma med den typ av tinkering som normalt skulle gå in i att rulla sin egen Linux-distro. Allt detta är fortfarande möjligt med OpenWrt, men dess sammanslagning med LEDE gör det lite mer tillgängligt och användarvänligt.

Tomat

Ursprungligen utformad som en ersättningsfirmware för Broadcom-baserade routrar, uppmärksammade Tomato sina GUI, verktyg för övervakning av bandbredd och andra smidiga funktioner på professionell nivå och justerbara funktioner. Utvecklingen har upphört på det ursprungliga Tomato-projektet, men andra utvecklare har slutat där det ursprungliga projektet slutade och med jämna mellanrum släppt stegvisa uppgraderingar.

Maskinvara som stöds för tomat

Hårdvarusupport är ungefär detsamma som med DD-WRT, även om du bör vara noga med exakt vilka byggnader som är kompatibla med den specifika hårdvaran du använder.

Tomatfunktioner

Många funktioner som finns i Tomato finns också i DD-WRT, såsom sofistikerade QoS-kontroller, CLI-åtkomst via Telnet eller SSH, Dnsmasq och så vidare. Som sagt, Tomat har utformats så att få konfigurationsändringar kräver omstart. Det har också funnits en mängd anpassade skript som utvecklats av Tomato-communityn, som att omdirigera routers syslog till disk eller annan dator och säkerhetskopiera routerinställningar.

Tomaten själv är inte längre aktivt utvecklad, men den har sådd ut en stor skörd - avsedd ordlek - av spin-offs och offshoots. En regelbundet och nyligen uppdaterad Tomato-version erbjuds av Shibby, som sammanställer många förändringar av andra Tomato-utvecklare i ett enda paket. Några av dessa tillägg inkluderade stöd för routrar som har USB-portar, vilket möjliggör montering av flyttbart media, förbättrade QoS-moduler och IP-trafikklientövervakningsverktyg, stöd för SDHC (Secure Digital High Capacity) / MMC-medielagring, 802.11Q VLAN-taggning , och det experimentella MultiSSID-webbgränssnittet. Shibby har i sin tur lagt till stöd för NFS-servrar, HFS / HFS + -filsystemet, USB 3G-modem och många andra förbättringar över hela linjen.

En annan byggnad, AdvancedTomato, lägger till en attraktiv GUI för webbhantering, även om den är tillgänglig för endast ett litet urval av routrar.

Tomatbegränsningar

Tomat och dess derivat är begränsade till routrar som använder ett urval av Broadcom-chipset, till exempel den ”klassiska” Linksys WRT54G.

En annan stor nackdel med att använda Tomato är att det inte finns någon garanti för att någon speciell upplaga kommer att fortsätta att få uppdateringar eller att den kommer att skickas till skickliga händer om den nuvarande utvecklaren beslutar att kasta in handduken. Var också noga med att välja rätt utgåva för din router firmware, vilket har blivit lite svårare nu när varje gaffel med Tomato följer sin egen väg.

Rekommenderade användare för Tomato

Tomat är bäst för måttligt avancerade användare. Att arbeta med Tomato är i nivå med att hantera DD-WRT: Du måste se till att du har rätt hårdvara och följ de blinkande instruktionerna till punkt och pricka. Tomat används dock inte som en kommersiell förspänning, så förvänta dig inte att se den i någon hylsrouter à la DD-WRT.

AdvancedTomato

OPNsense och PFSense

I en tidigare version av denna granskning undersökte vi M0n0wall- och PFSense-projekten, som är FreeBSD-baserade brandväggs- och routningsplattformar - närmare en fullständig OS-installation än bara ett firmware-lager. M0n0wall utvecklas inte längre, men PFSense har fortsatt utvecklingen under ledning av Netgate. Ett projekt med namnet OPNsense, utvecklat av hårdvarutillverkaren Decisio, är en gaffel av PFSense med sin egen färdplan.

Maskinvara som stöds för OPNsense och PFSense

OPNsense körs på 32- och 64-bitars x86-baserad hårdvara, med minst 512 MB RAM-minne och 4 GB flashminne. En hög grad av kompatibilitet med vanliga PC-komponenter tillhandahålls via BSD-drivrutinsbiblioteket. Så lite som 256 MB RAM och 1 GB lagringsutrymme behövs för PFSense, även om 1 GB RAM och mer lagring rekommenderas.

OPNsense och PFSense-funktioner

Eftersom båda produkterna härrör från en gemensam bas delar OPNsense och PFSense många funktioner. Båda stöder alla vanliga routerfunktioner, inklusive trafikformning och QoS, samt funktioner som är användbara i avancerade nätverk som VLAN-taggning och polling.

OPNsense-dokumentationen innehåller information för hur programvaran kan köras på lokal hårdvara, i virtualisering och på molnleverantörer som Amazon Web Services. OPNsense har ett sofistikerat webbgränssnitt för att konfigurera och hantera produkten.

Toutade funktioner i OPNsense inkluderar möjligheten att välja antingen LibreSSL eller OpenSSL som det SSL-bibliotek som används i produkten; en importör som låter dig återvinna konfigurationer från vissa versioner av PFSense; och ett plug-in-system som möjliggör förlängning av GUI. De senaste utgåvorna av PFSense har ett omdesignat webbgränssnitt som ersätter ett som var ett konstant mål för kritik; en implementering av netmap-fwd-projektet för att möjliggöra mycket snabbare paketbehandling; och andra prestandaförbättringar via FreeBSD.

OPNsense och PFSense begränsningar

OPNsense stöder endast x86 / 64 chipset; PFSense stöder x86 / 64-chipset och Netgate ADI-inbyggd enhetshårdvara.

Rekommenderade användare för OPNsense och PFSense

De som omarbetar gammal PC-maskinvara som en brandvägg eller router bör kolla in antingen OPNSense eller PFSense. Av de två har PFSense något mer blygsamma maskinvarubehov. OPNsense och PFSense har gemensamma rötter men radikalt olika användargränssnitt och utvecklingsvägar.

VyOS

VyOS är en gaffel av Vyatta, ett Linux-baserat nätverksoperativsystem tillgängligt i både en kärnkod för öppen källkod och en kommersiell upplaga. Open source-utgåvan fasades ut efter att Brocade förvärvade Vyatta, men en gaffel med open source-versionen fortsätter att leva vidare som VyOS.

VyOS kan fungera som en gateway för små kontor eller filialer, som en VPN-koncentrator eller som en bro mellan datacenter eller mellan datacenter och moln.

Stödd hårdvara för VyOS