Firmware voor je router - zo installeer je OpenWrt

© PXimport

Firmware voor je router - zo installeer je OpenWrt

Netwerk

Geplaatst: 9 december 2021 - 04:14

Aangepast: 16 november 2022 - 09:20

Toon van Daele

Je router bepaalt niet alleen in grote mate hoe je internetverkeer wordt afgehandeld, maar ook hoe veilig dat gebeurt. Eigenlijk is het de routerfirmware die alles dirigeert en vooral bij thuisrouters is die vaak beperkt qua mogelijkheden. Met custom firmware zoals OpenWrt kun je de functionaliteit sterk uitbreiden. Het is weliswaar een delicate operatie, maar vaak zeer de moeite. Lijkt OpenWrt installeren je wel wat, lees dan verder.

De standaard firmware van thuisrouters is door de producenten vaak beperkt gehouden, want hoe meer geavanceerde functies, hoe moeilijker de configuratie is en hoe sneller iets fout kan gaan. Enthousiaste en meer gevorderde gebruikers, waartoe we graag de lezers van Computer!Totaal rekenen, lopen snel tegen de beperkingen van de mogelijkheden aan. Diverse alternatieve en opensource routerfirmwares, nagenoeg allemaal op basis van een Linux-kernel, proberen daaraan tegemoet te komen.

Een bekende en erg actief ontwikkelde variant is OpenWrt. het project is enige tijd geleden samengegaan met het LEDE-project (Linux Embedded Development Environment) en probeert een volbloed Linux-distributie te zijn. Het goede hiervan is dat de ontwikkelaars zich zoveel mogelijk focussen op de recentste Linux-kernels, maar dat heeft ook een keerzijde. Zo kan de firmware niet altijd even goed of even snel met propriëtaire drivers overweg (met andere woorden: er zijn minder ondersteunde routermodellen dan bij DD-WRT) en de aandacht gaat niet in de eerste plaats uit naar de doorontwikkeling van de grafische interface (standaard is dat LuCI). 

De afsplitsing Gargoyle probeert dat gebrek te tackelen met een uitgebreidere grafische interface. Wel voorziet OpenWrt in een heus pakketbeheersysteem waardoor de firmware zich makkelijk met allerlei extra’s laten uitbreiden.

© CIDimport

Nog meer firmware

© CIDimport

01 Compatibiliteit

Eerst een belangrijke vraag: in hoeverre ondersteunt OpenWrt je router? Dat vind je op de site van OpenWrt, in het overzicht met OpenWrt compatible routers. Houd er wel rekening mee dat je router het best over niet minder dan 8 MB flashgeheugen beschikt (tenzij zonder LuCI) en niet minder dan 32 MB ram. Idealiter heeft de router 10/64 MB geheugen of zelfs 16/128 MB. Staat je router er inderdaad tussen, dan kun je verder.

Je klikt nu het best eerst op View/edit data voor meer details. Onderaan vind je de Installation method(s), met links naar installatie-instructies. Tref je hier ook de link see device page aan, keer dan terug naar je routermodel in het overzicht en klik de link in de kolom Device Page aan voor instructies specifiek voor jouw routermodel. De kans is trouwens groot dat je op YouTube instructievideo’s vindt.

We kunnen hier uiteraard niet elke methode afzonderlijk bespreken. Wel is het zo dat OpenWrt over het algemeen een viertal installatiemethodes biedt. De eenvoudigste is via de webinterface van de originele firmware van de fabrikant. Het wordt al wat lastiger als je met de bootloader moet verbinden, via een ethernetpoort of een seriële poort. Afhankelijk van je router loopt dat bijvoorbeeld via (t)ftp, via een webserver of zelfs via het xmodem-protocol. Op sommige routers kan zo’n firmware-upgrade ook via de jtag-poort (Joint Test Action Group). Vind hier nog meer OpenWRt-istallatiemethodes.

© CIDimport

02 Firmware flashen

Wij gebruiken zelf een Linksys WRT 3200ACM-router als voorbeeld, waarbij de OpenWrt-firmware zich laat flashen vanuit de grafische interface van de originele firmware. Dat zou wellicht ook kunnen via een tftp-connectie via de seriële poort of zelfs via de jtag-poort, maar dat zou voor dit model betekenen dat we de behuizing moeten openen om via een speciale kabel met de ingebouwde connector te kunnen verbinden. Zie dit vooral als een laatste toevlucht, bijvoorbeeld wanneer de router onverhoopt zo is verprutst dat het als het ware een baksteen is geworden.

Je vindt een link naar het firmwarebestand op de Device Page van je router, in de rubriek Installation. Let wel, als je router opstart met de originele oem-firmware, dan moet je de ‘factory image’ hebben (in de kolom Firmware OpenWrt install). Echter, om een geïnstalleerde OpenWrt-firmware te upgraden, heb je het bestand in de kolom Firmware OpenWrt Upgrade nodig.

In ons geval gaan we voor het eerste bestand. Download dit naar je pc. Verbind een lan-poort van je router via een ethernetkabel met je pc en meld je via de webinterface aan bij je router voor de firmware-flash. Op ons routermodel vinden we deze optie in de rubriek Connectiviteit, bij Handmatig waar we op Bestand kiezen klikken. Op jouw routermodel vind je zo’n upgrade-functie vast ook ergens in de grafische interface.

Verwijs naar het gedownloade img-bestand, zet de upload in gang en onderbreek die niet. Na afloop herstart je de router. Die is nu bereikbaar op het adres 192.168.1.1.

© CIDimport

Virtuele installatie

© CIDimport

03 Statusinformatie

Log via de webinterface in, met de gebruiker root (zonder wachtwoord). OpenWrt dwingt je direct het wachtwoord aan te passen, waarna je je opnieuw aanmeldt.

Je belandt nu in het statusvenster van OpenWrt/LuCI, met informatie over het systeem, geheugengebruik, netwerkinstellingen, dhcp-leases en de wifi-radio’s. Dit venster kun je trouwens altijd opnieuw oproepen via het menu Status / Overview.

In dit Status-menu vind je nog andere interessante rubrieken, zoals Firewall, Routes, System Log, Kernel Log, Processes en Realtime Graphs.

Deze laatste rubriek is best handig, want met duidelijke grafieken over het actuele cpu-gebruik evenals het routerverkeer. Dat verkeer is opgedeeld in de tabbladen Traffic (in- en uitgaand, met pieken en gemiddelden, voor lan-, wan- en wifi-connecties), Wireless (signaalsterktes en noise) en Connections (verbindingen met bron- en doeladres, protocol en datahoeveelheid).

De rubriek Processes is bovendien interactief: je kunt elk van de actieve processen al dan niet tijdelijk stopzetten. Dat doe je natuurlijk alleen maar als je goed weet waar je mee bezig bent.

© CIDimport

04 Ssh-configuratie

Standaard laat de router zich ook benaderen via ssh. Dit kun je eventueel nog configureren via System / Administration, op het tabblad SSH Access. Bij Dropbear Instance geef je aan met welke netwerkinterface je de router via ssh wilt benaderen. Standaard staat dit ingesteld op unspecified (alle interfaces zijn toegestaan), maar je kunt hier ook een (w)lan-interface selecteren en Gateway Ports uitgevinkt laten, zodat je alleen vanuit je lokale netwerk een ssh-verbinding kunt opzetten. Standaard staat Password authentication ingeschakeld, zodat je je ook kunt verbinden met je routerwachtwoord.

Een (nog veiliger) alternatief vind je op het tabblad SSH-Keys. Zo zou je via Add instance eventueel een extra verbinding kunnen configureren waarbij je via een Gateway Port (of de wan-interface) ook remote ssh-connecties toelaat, maar waarvoor dan wel ssh-sleutels zijn vereist.

Voor Windows maken we graag gebruik van de gratis ssh-client Putty. Aanmelden is niet moeilijker dan het ip-adres van je router en het router-ID invullen. In het kader ‘Ssh-sleutelpaar’ lees je hoe je via Putty een versleutelde ssh-connectie opzet.

Je kunt al meteen een paar eenvoudige, informatieve testcommando’s uitvoeren, zoals uci show network, route (routeringstabel), df -h (schijfruimte) en ping 8.8.8.8 (afbreken met Ctr+C).

© CIDimport

Ssh-sleutelpaar

© CIDimport

05 Wifi

Je wilt natuurlijk ook een wifi-netwerk opzetten met je router. Dat doe je via Network / Wireless. Standaard heeft OpenWrt al een netwerk met het ssid OpenWrt aan elk van de beschikbare radio’s gekoppeld. Dat maak je meteen beschikbaar met de knop Enable, maar wellicht wil je eerst de eigenschappen aanpassen. Eventueel kun je ook op Remove en Add klikken om een nieuw netwerk aan te maken.

Je kunt hier nu de wifi-standaard (zoals Legacy, N of AC), kanaal en kanaalbreedte instellen en zo nodig ook de band (2.4 GHz of 5 GHz).

Op het tabblad General Setup zijn er een acht modi beschikbaar, waaronder Access Point (standaard), 802.11s (voor een mesh-netwerk) of Monitor (om alle draadloze verkeer te monitoren). Bij ESSID vul je de netwerknaam in en desgewenst plaats je een vinkje bij Hide ESSID en bij WMM (Wi-Fi MultiMedia, om multimedia-pakketten te prioriteren). De optie Network stel je in op een netwerk waar een dhcp-server actief is (normaal gesproken kies je hier lan).

Op de tabbladen Wireless Security stel je de encryptiemodus in (wellicht WPA2-PSK). Op het tabblad MAC-Filter kun je specifieke clients selecteren of uitsluiten, en bij Advanced Settings vind je onder meer de optie Isolate Clients terug, die moet ervoor zorgen dat clients elkaar niet kunnen benaderen.

Bevestig met Save en met Save & Apply, of klik rechtsboven op Unsaved changes: [n] om je wijzigingen eerst te controleren. Vergeet het netwerk niet op Enable te zetten.

© CIDimport

06 Pakketbeheer

Een van de sterke punten van OpenWrt is het flexibele pakketbeheer, dat zich zowel vanuit de console als vanuit LuCI laat aansturen. Ga naar System / Software en klik op Update lists of voer het commando opkg update uit.

Op het tabblad Installed tref je de reeds geïnstalleerde pakketten aan (via Remove kun je ongewenste pakketten ook weer verwijderen) en via het tabblad Updates zorg je dat de pakketten een update krijgen. Open het tabblad Available voor een overzicht van alle beschikbare pakketten: dat zijn er maar liefst meer dan 8500. Via Filter kun je gerichter zoeken. Tik je bijvoorbeeld proxy in dan beperkt de lijst zich tot zo’n 150 pakketten.

Ben je vooral op zoek naar pakketten die zich (ook) via LuCI laten beheren, filter dan op luci-app. Stel, je hebt een ondersteunde Linksys- of ZyXEL-router en je wilt vanuit LuCI makkelijk tussen de OpenWrt- en de originele oem-firmware kunnen switchen, klik dan op Install (2x) bij luci-app-advanced-reboot of voer dit commando uit:

opkg install luci-app-advanced-reboot

Alle noodzakelijke bestanden worden netjes meegeïnstalleerd. Na een verversing van je browservenster vind je de app terug bij System / Advanced Reboot.

© CIDimport

07 Blacklists

De keuze is dus overweldigend, maar we willen over één pakket wat meer vertellen: de app luci-app-adblock. Hiermee blokkeer je op basis van blacklists een hele reeks advertenties en kun je ook zelf domeinen black- en whitelisten. Na de installatie van de app laat je de router opnieuw opstarten (via System / Reboot) en wacht je het best enkele minuten.

Je bereikt de app via Services / Adblock. Als het goed is staat nu enabled bij Status en kun je verder. Controleer of onderaan bij General Settings ook een vinkje staat bij Enabled. Hier tref je tevens Enabled SafeSearch aan, waarmee het zoeken via diverse zoekmachines wat ‘kindvriendelijker’ wordt. Vergeet niet telkens op Save & Apply te klikken.

Je merkt dat er nog veel meer configuratiemogelijkheden zijn. Open bijvoorbeeld het tabblad Edit Blacklist en vul hier per regel een domein in dat je wilt blokkeren. Bevestig met Save en ververs het browservenster. Op het tabblad Overview zie je bij Blocked Domains het aantal ingevoerde domeinen. Die zouden nu niet meer bereikbaar mogen zijn. In het uitklapmenu op het tabblad Blocklist Sources bepaal verder je zelf van welke blacklists je gebruik wilt maken. Houd wel rekening met het beschikbare routergeheugen: voor een XL-lijst bijvoorbeeld heb je al minstens 256 MB nodig.

© CIDimport

08 Nog meer …

Er valt natuurlijk nog veel meer te ontdekken in OpenWrt. Standaard wordt in LuCI bijvoorbeeld een krachtige firewall mee geïnstalleerd, gebaseerd op iptables. Uiteraard kun je ook aan de slag met portforwarding en VLAN’s. Daarnaast zijn er nog tal van interessante pakketten die zich met een paar muisklikken laten installeren, zoals luci-app-ddns, bereikbaar via System / Dynamic DNS, dat flexibele configuratie- en logopties aanbiedt (zie ook paragraaf 3 van de basiscursus OpenWrt deel 2) en standaard al zo’n zeventig ddns-providers ondersteunt. In het volgende deel gaan we dieper in op deze en andere geavanceerde functies.

© CIDimport

Deel dit artikel
Reageer op dit artikel
Wat vond je van dit artikel?

Aanbevolen voor jou

ID.nl logo

ID.nl, onderdeel van Reshift BV, is in 2022 gestart en uitgegroeid tot de meest toonaangevende en complete consumentensite van Nederland. Het doel van ID.nl is om de consument te helpen met alle technologie die hoort bij het dagelijks leven: van smart-health-meters tot e-bikes, van warmtepompen tot zonnepanelen - en alles daar tussenin!

Duidelijk, betrouwbaar en onafhankelijk: ID.nl maakt moeilijke dingen makkelijk.

Contact

ID.nl

Nijverheidsweg 18

2031 CP Haarlem

info@id.nl

Telefoon: 023-5430000