ID.nl logo
Fouten maken mag! Zo kun je in een veilige omgeving je netwerk testen
© Who is Danny - stock.adobe.com
Huis

Fouten maken mag! Zo kun je in een veilige omgeving je netwerk testen

Als je een nieuw netwerk wilt inrichten of je huidige netwerk wilt optimaliseren, kunnen de vereiste configuraties je misschien wat afschrikken. Gelukkig kun je zo’n taak ook softwarematig simuleren, zodat je de nodige kennis en ervaring in een veilige omgeving kunt opdoen.

In dit artikel laten we zien hoe je met Filius een nieuw netwerk kunt opzetten of je huidige netwerk kunt aanpassen, zonder dat een klein foutje je netwerk naar de knoppen helpt. We beschrijven de volgende stappen:

  • Zet je netwerk op in de simulatietool
  • Test de verbinding
  • Creëer een subnetmasker en gateway
  • Voeg een DHCP-server toe
  • Voeg overige servers als een DNS- en mailserver toe
  • Stel firewall-regels in

Ook interessant: Is je systeem goed beveiligd? Ontdek het met deze hack-tools

In dit artikel gaan we dieper in op netwerken, maar vermijden we fysieke apparatuur. We maken daarvoor graag gebruik van Filius, een gratis opensource-tool voor netwerksimulaties. Met Filius kun je experimenteren en snel ontdekken waarom iets wel of niet werkt. Deze tool is ook geschikt voor beginners en is populair bij docenten in het hoger voortgezet onderwijs voor hun technologie- en IT-lessen.

In het kader ‘Virtuele netwerken’ (aan het einde) bespreken we kort nog een andere aanpak met behulp van VirtualBox, waarmee je diverse netwerkconfiguraties voor virtuele machines kunt opzetten.

1 Configuratie

In het kader ‘Simulatietools’ noemen we enkele alternatieve tools voor netwerksimulatie, maar we blijven in de rest van deze masterclass bij Filius omdat het qua moeilijkheidsgraad mooi in het midden zit: niet te eenvoudig en niet te complex.

Download de software via deze pagina, het is beschikbaar voor zowel Windows als Linux. De website is in het Duits en dat geldt ook voor de installatie van het programma, maar deze is (onder Windows) gelukkig niet moeilijker dan klikken op Weiter, Annehmen, Installieren en Fertig stellen. Je kunt nu Filius starten en bij de eerste keer stel je de gewenste interfacetaal in: Deutsch, English of Français. Wij kiezen voor English.

Als je per ongeluk de verkeerde taal hebt ingesteld, open dan het configuratiebestand filius.ini in de standaardmap \Program Files\Filius\config met Kladblok en verwijder het #-teken naast de gewenste taal, bijvoorbeeld # locale=en_GB. Er zijn hier trouwens nog andere instellingen die je kunt activeren door het #-teken te verwijderen.

Het (nog lege) hoofdvenster van Filius, met links een glimp van het configuratiebestand.

2 Werkmodi

Het is raadzaam om vertrouwd te raken met de Filius-omgeving voordat je je netwerk gaat opbouwen. Er zijn namelijk drie modi waarin je kunt werken: de ontwerpmodus (hamericoon; om je netwerk op te zetten), de simulatiemodus (pijlicoon; om je netwerksimulatie te testen) en de documentatiemodus (potloodicoon; om tekst- en structuurvelden naar je netwerksimulatie te verslepen, hier doen we in dit artikel niets mee).

Logischerwijs begin je vanuit de ontwerpmodus, omdat er momenteel nog niets te simuleren of te bewerken valt. In het linkermenu vind je enkele typische netwerkcomponenten: Connection (netwerkkabel), Computer (server), Notebook (client), Switch, Router (en een Home Router met beperkte opties) en Modem.

Onze opzet voor dit artikel is als volgt: we gaan twee netwerken (subnetten) aan een router koppelen en ervoor zorgen dat ze elkaar kunnen bereiken, zodat we bijvoorbeeld een eigen DNS-server, webserver, mailserver en (p2p-)bestandsserver kunnen benaderen. Zo leer je geleidelijk aan de belangrijkste mogelijkheden van Filius kennen.

Vanuit de ontwerpmodus kun je allerlei netwerkonderdelen toevoegen.

3 Basisnetwerk

Laten we beginnen met het opzetten van een eenvoudig netwerk. Sleep een Switch, twee Notebooks en een Computer naar het ontwerpscherm. Plaats de switch bij voorkeur in het midden. Selecteer elk van deze vier componenten en geef ze vanuit het onderste deelvenster een passende naam, zoals Client 1, Client 2, Server en Switch. Geef de drie computers ook elk een ander ip-adres, bijvoorbeeld 192.168.0.1, 192.168.0.2 en 192.168.0.3, allemaal met hetzelfde subnetmasker 255.255.255.0. We kunnen hier helaas niet dieper ingaan op de betekenis en structuur van een subnetmasker, maar hier vind je meer informatie.

Verbind vervolgens elke computer met de switch: klik op Connection in het linkermenu en klik daarna op de twee apparaten die je wilt verbinden, bijvoorbeeld de computer en de switch. Druk op Esc als je hiermee klaar bent.

Een basisnetwerk heb je binnen een minuut opgezet.

4 Verbinding testen

Laten we eerst ons basisnetwerk testen voordat we dit gaan uitbreiden. Klik dus op de knop met de groene pijl om naar de simulatiemodus te gaan. Voordat er iets te beleven valt, moet je eerst een netwerktoepassing toevoegen. Dubbelklik bijvoorbeeld op Client 1, zodat de desktopomgeving zichtbaar wordt. Klik hier op Software installation, selecteer in het rechterdeelvenster Command Line en klik op de knop met de pijl naar links om dit onderdeel toe te voegen. Doe hetzelfde voor Generic client en bevestig met Apply changes.

Dubbelklik nu op Command Line in het desktopvenster en voer ping 192.168.0.2 of ping 192.168.0.3 uit. Als alles goed is, ontvang je een reactie van beide doelcomputers. Je kunt dit netwerkverkeer trouwens ook op een andere manier bekijken. Klik met de rechtermuisknop op bijvoorbeeld Client 1 en kies Show data exchange. Je zult merken dat vooralsnog al het netwerkverkeer beperkt is tot de netwerk- of internetlaag (in het zogeheten OSI- en TCP/IP-model) en dat de eerste twee pakketten afkomstig zijn van het ARP-protocol (Address Resolution Protocol), om het fysieke MAC-adres van de doelcomputer te vinden. De overige datapakketten komen van het ICMP-protocol, dat standaard wordt gebruikt door ping. Klik op een datapakket voor meer details in het onderste deelvenster.

We voegen een opdrachtregel met ping toe en zien (in het dataverkeervenster) dat het goed is.

5 Tekstberichten

Een eenvoudig ping-commando is natuurlijk niet erg spectaculair. Laten we daarom een paar tekstberichten versturen. Hiervoor installeren we eerst het softwarepakket Echo server op onze server. In de vorige paragraaf heb je geleerd hoe je dat doet. Open vervolgens deze applicatie, laat de poortinstelling gerust op 55555 staan en klik op Start zodat de server luistert naar binnenkomende pakketten.

We laten deze pakketten van Client 1 komen. Dubbelklik hiervoor op de geïnstalleerde Generic Client en vul het ip-adres van je server in (192.168.0.3). Bevestig met Connect, typ een tekstbericht in bij Message en verstuur dit met Send. Als je nu het dataverkeervenster opent, zie je het bericht verschijnen en zie je dat voor zo’n netwerktoepassing ook de OSI-lagen Transport (via het TCP-protocol) en Application worden aangesproken.

De berichtenservice genereert ook verkeer op de hoogste lagen van het OSI-model.

Simulatietools Filius is natuurlijk niet de enige simulatietool voor netwerkomgevingen. Zo kun je ook in Educational Network Simulator een netwerk samenstellen met pc’s, servers, switches en routers, vanuit een wat gedateerde webinterface.

Is het je vooral te doen om kennis op te doen rond netwerkveiligheid, dan kun CS4G Netsim proberen, maar het aantal scenario’s is hier beperkt.

Als je op zoek bent naar een veel krachtigere oplossing waarin je zowel virtuele als echte apparaten kunt opnemen, dan is GNS3 (Graphical Network Simulator-3) een interessante optie. Deze gratis opensource-tool is beschikbaar voor Windows, macOS en Linux. Je kunt ervoor kiezen om ook de GNS3-VM te installeren, een virtuele machine die meer protocollen en netwerkapparaten ondersteunt.

Een ander interessant alternatief is EVE-NG. De tool ondersteunt nog meer netwerkapparaten van verschillende bekende producenten. EVE-NG werkt met een gebruiksvriendelijke webinterface en de simulaties zijn zeer realistisch. Let wel op dat alleen de Community Edition van EVE-NG gratis is en dat deze enkele beperkingen heeft.

Je merkt meteen dat GNS3 professionele (of minstens academische) allures heeft.

6 Subnetten

Laten we ons netwerk wat complexer maken. Als je wilt, kun je nu je huidige netwerkopstelling opslaan door op het diskette-icoon te klikken in de ontwerpmodus. Laat je huidige netwerkcomponenten ongewijzigd en voeg aan de rechterkant een extra switch en twee notebooks toe. Plaats een router tussen beide netwerken (we negeren de vereenvoudigde Home Router) en ken deze meteen twee NIC’s (Network Interface Cards) toe.

Verbind de nieuwe notebooks en de router met de extra switch. Verbind ten slotte ook de router met je eerste switch. Grafisch ziet dit er misschien goed uit, maar praktisch gezien kun je met dit netwerk nauwelijks iets doen. Je moet namelijk nog enkele configuraties binnen dit tweede netwerk (subnet) uitvoeren. Geef de nieuwe notebooks alvast een ander ip-adres, bijvoorbeeld 192.168.1.1 en 192.168.1.2. Laat de subnetmaskers ook hier op 255.255.255.0 staan.

Selecteer nu de router. Op de tabbladen in het onderste deelvenster zie je hetzelfde ip-adres staan voor beide NIC’s. Dit is natuurlijk niet correct. Klik op het eerste tabblad. Als de netwerkkabel tussen je router en de switch van je tweede netwerk groen kleurt, geef dan deze netwerkinterface het ip-adres 192.168.1.10. Voor de andere netwerkinterface, die verbonden is met de switch van het eerste netwerk, vul je 192.168.0.10 in.

Onze router heeft twee netwerkinterfaces.

7 Gateway

Wanneer je nu probeert te pingen tussen een computer uit beide netwerken, krijg je helaas alleen de foutmelding Destination not reachable. Dit is logisch, omdat er nog een gateway ontbreekt in beide netwerken. Deze configuratie doe je op het niveau van je computers.

Open een computer in je eerste netwerk (aan de linkerzijde) en vul bij Gateway het ip-adres van de bijbehorende router-netwerkinterface in (192.168.0.10). Doe dit ook voor de andere twee computers in dat netwerk. Voor de computers in je tweede netwerk (aan de rechterzijde) vul je als Gateway het ip-adres 192.168.1.10 in. Nu zou je vanuit beide netwerken ook de computers uit het andere netwerk moeten kunnen bereiken, zoals met het ping-commando of via een generic client.

We hebben wel gemerkt dat het virtuele netwerk na wijzigingen soms kuren kan vertonen. Sla in dat geval je configuratie op en herstart Filius. Als dat niet helpt, verwijder dan het betreffende softwarepakket van het betreffende apparaat, voeg het opnieuw toe en configureer het opnieuw (meestal duurt dit nog geen minuut).

Je moet ook nog een gateway instellen op je computers.

8 DHCP-server

Zodra je een wat groter netwerk uitbouwt, wordt het omslachtig als je alle apparaten handmatig een ip-adres moet geven. Dan kun je beter een DHCP-server inzetten (in elk van beide netwerken als je dit verkiest). DHCP staat voor Dynamic Host Configuration Protocol en dit wijst automatisch ip-adressen toe aan netwerkapparaten.

Ga naar het eigenschappenvenster van zo’n server en klik rechtsonder op DHCP server setup. Geef het DHCP-adresbereik op, bijvoorbeeld van 192.168.0.1 achter Lower bound of address tot 192.168.0.20 achter Upper bound of address. Plaats een vinkje bij Activate DHCP en bevestig met OK.

Merk op dat je op het tabblad Static Address Assignment specifieke apparaten op basis van hun MAC-adres een vast ip-adres kunt toewijzen (bij voorkeur buiten het ingestelde DHCP-bereik). Dit is vooral nuttig voor apparaten zoals servers, die je altijd via hetzelfde ip-adres wilt kunnen benaderen.

Over nu naar de apparaten die je van deze DHCP-service gebruik wilt laten maken. In het eigenschappenvenster van elk apparaat plaats je een vinkje bij Use DHCP for configuration. Om het toegekende ip-adres van een apparaat te achterhalen, klik je er met rechts op, of je start een commandline-sessie op en voert het commando ipconfig uit.

Het is wel zo handig als er een DHCP-server operationeel is in je netwerk.

9 Webserver

In Filius kun je ook een basale webserver activeren en deze voeden met (eigen) webpagina’s. Gebruik hiervoor eventueel een al bestaande server in je netwerk en voeg het softwarepakket Webserver eraan toe. Open dit pakket en klik op Start.

Om de webserver te testen, installeer je het pakket Webbrowser op een willekeurige computer. Open dit en vul achter http:// het ip-adres van je webserver in (bijvoorbeeld http://192.168.0.3) en druk op de knop Start. Als alles goed is, verschijnt nu de standaard startpagina van Filius.

Natuurlijk wil je liever je eigen pagina zien. Installeer hiervoor het pakket Text editor op je webserver en open deze applicatie. Klik op Open en open de map webserver. Dubbelklik op het bestand index.html en open dit. Nu krijg je de achterliggende html-code te zien, zodat je deze kunt aanpassen. Je kunt ook je eigen webpagina’s maken en deze via Save as in afzonderlijke html-bestanden opslaan.

Zodra je je eigen webpagina hebt gemaakt, kun je deze bekijken met de ingebouwde webbrowser door iets als http://192.168.0.3/mijnpagina.html in te tikken.

Via de ingebouwde teksteditor kun je ook eigen, simpele webpagina’s maken.

10 DNS-server

Het zou wel handiger zijn om een domeinnaam zoals www.mijnsite.nl te gebruiken in plaats van telkens het ip-adres van de webserver te moeten intikken.

Hiervoor moet je een DNS-server (Domain Name System) opzetten. Voeg een server toe in een afzonderlijk subnet en geef deze bijvoorbeeld het ip-adres 192.168.2.1 met als Gateway 192.168.2.10. Maak deze gateway door in het eigenschappenvenster van je router naar het tabblad General te gaan en op Manage connections te klikken. Druk op de plusknop voor een extra verbinding en klik op Close. Open het toegevoegde tabblad en wijzig IP Address in 192.168.2.10. Verbind nu je DNS-server met de nieuwe verbinding op je router door een kabelverbinding te maken.

Open nu elke computer en vul bij Domain Name Server het ip-adres van je DNS-server in. Let op, bij apparaten die via DHCP worden bediend, lukt dit wellicht niet. In dit geval vul je het ip-adres van je DNS-server in bij de DHCP-server zelf.

Voeg nu het softwarepakket DNS server toe aan je DNS-server. Open dit en vul bij Host/domain name bijvoorbeeld www.mijnsite.nl in en bij IP address het adres van je webserver (bijvoorbeeld 192.168.0.3). Bevestig met Add en activeer de DNS-service met de knop Start.

Nu zou je vanaf je webbrowser je webserver moeten kunnen bereiken met het adres www.mijnsite.nl/mijnpagina.html.

Onze router heeft nu drie netwerkverbindingen, waarvan één naar de nieuwe DNS-server.

11 Mailserver

Als laatste voegen we het softwarepakket Email server toe aan onze server. Open het pakket en vul bij Mail domain bijvoorbeeld mijnsite.nl in. Bij New account geef je een User en een Password op. Bevestig dit met de knop New account en met OK, zodat het aan de Account list wordt toegevoegd. Start de service met de gelijknamige knop Start.

Je moet de mailserver natuurlijk nog kenbaar maken bij je DNS-server. Open hier het pakket DNS server, ga naar het tabblad Mail exchange (MX), vul bij Mail domain bijvoorbeeld mijnsite.nl in en bij Mail server domain name de waarde www.mijnsite.nl. Bevestig met Add, stop de DNS-server en druk daarna weer op Start om de wijzigingen te laten doorzetten.

Selecteer vervolgens een willekeurige client en voeg het softwarepakket Email program toe. Open dit en klik op Account voor een nieuw e-mailaccount. Vul de gevraagde gegevens in. Als Email address kun je <naam>@mijnsite.nl gebruiken, bij POP3 server en bij SMTP server vul je www.mijnsite.nl in. De poorten laat je ongewijzigd. Vul bij User en Password dezelfde gegevens in als zojuist bij Email server. Bevestig met Save. Via de knop New email kun je nu een testbericht naar jezelf sturen. Uiteraard kun je nog andere e-mailaccounts maken en berichten naar elkaar versturen, op andere computers met Email program.

Een e-mailservice correct opzetten vergt wel enige configuratie.

12 Firewall

Om je netwerk te beveiligen, stel je firewallregels in. Zo kun je het Firewall-softwarepakket op een of meer computers in Filius installeren, maar weet dat de mogelijkheden hier beperkt zijn. Je werkt daarom beter op routerniveau.

Ga naar het eigenschappenvenster van je router en open Firewall settings. Op het tabblad Network interfaces kun je Filter ICMP packets inschakelen, zodat ping-verzoeken niet meer doorkomen, maar wij zijn meer geïnteresseerd in het tabblad Firewall Rules. Een voorzichtige benadering is accept instellen als Default action if no rule matches. Hierdoor wordt alle verkeer dat niet door zelf gedefinieerde regels wordt onderschept, standaard toegelaten.

Laten we als test een regel aanmaken om te voorkomen dat een specifieke client kan surfen. Klik op add new rule, vul het ip-adres van de client in bij Source IP, gebruik 255.255.255.255 als Netmask, selecteer TCP als Protocol en stel Port in op 80 (voor http-verkeer). Stel Action in op drop. Vergeet niet Activate firewall in te schakelen op het tabblad Network Interfaces.

Test je nieuwe regel grondig om te controleren of de gewenste beperkingen worden toegepast. Stel je meerdere firewallregels in, weet dan dat deze in chronologische volgorde, van boven naar beneden, worden afgehandeld.

Met behulp van firewallregels maak je het netwerkverkeer via je router veiliger.

13 Routers en netwerken

Filius biedt ook mogelijkheden voor complexere netwerksimulaties. Je kunt bijvoorbeeld meerdere routers inzetten voor verschillende netwerken en Automatic routing inschakelen om het routeerprotocol de kortste weg binnen je netwerk te laten vinden. Maar het kan ook leerzaam zijn om handmatige routering in te schakelen op het tabblad Forwarding table. Je kunt dan het dataverkeer volgen via een Generic Client en een Echo server.

Een andere interessante optie is om het gesimuleerde netwerk van Filius te koppelen aan je fysieke netwerk. Om dit te testen, installeer je Filius op twee computers binnen je thuisnetwerk. Maak op elk van beide een netwerk met een client (bijvoorbeeld 192.168.0.1 en 192.168.0.2) en een modem. Bij het ene modem plaats je een vinkje bij Wait for incoming connection request en bevestig je met Activate. Op de bijbehorende client installeer je een Echo server en start je deze. Op het tweede modem vul je het fysieke ip-adres van je eerste computer in en druk je op Connect. Voeg vervolgens aan je client een Generic Client toe. Nu kun je berichten van de ene client naar de andere sturen via je fysieke netwerkverbinding. Zorg er wel voor dat bijvoorbeeld je Windows-firewall dit verkeer niet blokkeert.

Een verbinding via modems, via je fysieke netwerk.

Virtuele netwerken Netwerksimulaties met Filius zijn leerzaam en ook handig voor het voorbereiden van een fysiek netwerk. Maar als je een netwerk wilt opzetten met echte besturingssystemen, is het beter om een hypervisor zoals het gratis VirtualBox te gebruiken. Met VirtualBox kun je verschillende soorten virtuele netwerken opzetten, afhankelijk van je behoeften.

Het standaardtype is NAT, waarbij je bijna niets hoeft in te stellen. Het is ook een veilige constructie aangezien virtuele machines elkaar niet kunnen benaderen en externe apparaten de virtuele machines niet kunnen bereiken (tenzij je poortdoorverwijzing gebruikt). In een NAT-netwerk daarentegen kunnen virtuele machines onderling wel communiceren en hebben ze ook toegang tot het externe netwerk.

Naast een NAT-netwerk zijn er ook andere netwerkscenario’s mogelijk, zoals Intern netwerk, Bridged adapter en Host-only adapter.

Binnen VirtualBox (en andere hypervisors) zijn er verschillende netwerkscenario’s mogelijk.
Watch on YouTube
▼ Volgende artikel
Check de nieuwe The Super Mario Galaxy Movie-trailer
Huis

Check de nieuwe The Super Mario Galaxy Movie-trailer

Nintendo heeft gisteren tijdens een speciale Direct-livestream een nieuwe trailer getoond van de aankomende animatiefilm The Super Mario Galaxy Movie.

Het bedrijf liet afgelopen vrijdag al weten een Direct uit te zenden rondom de aankomende film, en afgelopen zondag was deze te zien. In de nieuwe trailer die werd vertoond is te zien hoe Mario en Luigi bij een soort omgekeerde piramide aankomen - een bouwwerk dat ook in het spel Super Mario Odyssey zat - en hoe ze hier vervolgens in gaan.

Daar maken ze kennis met Yoshi, een dinosaurus die al sinds Super Mario World deel uitmaakt van de Mario-spellen. Ook personages als Baby Mario, Baby Luigi en Birdo worden voor het eerst gespot.

Watch on YouTube

Over The Super Mario Galaxy Movie

Nadat enkele jaren geleden de uiterst succesvolle animatiefilm The Super Mario Bros. Movie uitkwam - logischerwijs gebaseerd op de langlopende Mario-reeks van Nintendo - werkt het bedrijf samen met Illumination al enige tijd aan het vervolg, The Super Mario Galaxy Movie.

Net zoals The Super Mario Bros. Movie lijkt ook het vervolg elementen uit allerlei verschillende Mario-games te pakken, al gebruikt deze nieuwe film de insteek van de twee Super Mario Galaxy-games, waarin Mario het universum afreist.

Diverse acteurs uit de eerste film keren terug in dit vervolg. Mario en Luigi worden wederom ingesproken door Chris Pratt en Charlie Day, en Jack Black vertolkt wederom de stem van Bowser. Ook acteurs als Keegan-Michael Key en Anya Taylor-Joy keren terug. De stem van Bowser Jr. zal in deze film ingesproken worden door Benny Safdie - vooral bekend voor zijn regiewerk - en het personage Rosalina krijgt een stem via Oscar-winnares Brie Larson.

Nintendo heeft daarnaast aangekondigd dat The Super Mario Galaxy Movie wereldwijd - op sommige markten na - op 1 april dit jaar in première zal gaan. Eerst was sprake van 3 april, maar dit is dus naar voren gehaald. In Japan gaat de film pas later die maand in première.

Nintendo-films

Nintendo zet steeds meer in op het uitbrengen van films gebaseerd op IP van het bedrijf. Naast deze Mario-films werkt Nintendo ook aan een live-action verfilming van The Legend of Zelda-reeks, die in 2027 in de bioscoop zal draaien en daarna naar Netflix komt. Volgens geruchten gaat het bedrijf ook werken aan een spin-off-animatiefilm rondom Donkey Kong, die in de Mario-films wordt ingesproken door Seth Rogen.

Nintendo gaf onlangs in een gesprek met investeerders aan dat ze de verfilmingen niet maken om op korte termijn winst te maken, maar om de franchises van het bedrijf bij een nog groter publiek vanzelfsprekend te maken - wat op de lange termijn de games van het bedrijf nog populairder moet maken.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Dialogen beter volgen? Zo maak en bewerk je zelf ondertitels met Subtitle Edit
© Reshift Digital BV
Huis

Dialogen beter volgen? Zo maak en bewerk je zelf ondertitels met Subtitle Edit

Anderstalige of slecht verstaanbare dialogen, of video's die je in een rumoerige omgeving bekijkt: met goede ondertiteling los je zulke problemen op. We tonen hoe je zelf ondertitels maakt, aanpast, opmaakt, synchroniseert en vertaalt. We gebruiken hiervoor het gratis en opensource Subtitle Edit.

Dit gaan we doen

In dit artikel zie je hoe je in Subtitle Edit ondertitels maakt, aanpast en synchroniseert met beeld en geluid. Je leert werken met start- en eindtijden, dialogen timen via de golfvorm van het audiospoor en ondertitels automatisch laten genereren met AI-modellen als Whisper en Vosk/Kaldi. We laten ook zien hoe je teksten controleert, vormgeeft en vertaalt, en hoe je de ondertitels daarna probleemloos inzet in mediaspelers zoals VLC en Kodi.

Subtitle Edit

We gaan ervan uit dat je een of meer video's wilt ondertitelen. Daarvoor gebruiken we het gratis opensource-programma Subtitle Edit. Kies bij voorkeur de installeerbare versie en download het zip-archief. Pak dit uit en dubbelklik op het exe-bestand; je kunt de standaardopties tijdens de installatie gerust behouden.

Bij de eerste keer opstarten stel je (bijvoorbeeld) Nederlands in als interfacetaal via Options / Choose language. Standaard gebruikt de app DirectShow om video's af te spelen tijdens het timen van de ondertiteling, maar je kunt beter VLC media player installeren, dat met vrijwel alle codecs werkt. In Subtitle Edit verwijs je daarna naar VLC via Instellingen / Voorkeuren, waar je in de rubriek Videospeler de optie VLC media player activeert. Wordt deze niet automatisch gevonden door Subtitle Edit, vul hier dan handmatig het pad in naar de VLC-installatiemap (bijvoorbeeld C:\Program Files\VideoLAN\VLC) en bevestig met OK.

Subtitle Edit staat klaar: de gewenste interfacetaal en VLC als mediaspeler.

Lees ook: VLC: het Zwitsers zakmes onder de mediaplayers

Handmatig

Subtitle Edit is nu klaar voor gebruik. Haal het gewenste videobestand op via Video / Videobestand openen, of eventueel via Video via URL openen, waarvoor de benodigde onderdelen automatisch kunnen worden gedownload. Je kunt de video bekijken in het afspeelvenster en met de blauwgerande vierkante knop onderin schermvullend afspelen (druk op Esc om terug te keren).

Maak nu een nieuw ondertitelingsbestand aan via Bestand / Nieuw. Open het tabblad Aanmaken (linksonder) en speel de video af tot de eerste zin die je wilt ondertitelen, of tot het punt waar je commentaar wilt toevoegen.

Klik op Nieuwe ondertitel toevoegen en typ de tekst in het veld Tekst. De app schat de duur automatisch in op basis van het aantal tekens, maar je kunt deze altijd aanpassen met de pijltjesknoppen. Klik op Begintijd instellen (of druk op F11) om de huidige positie als starttijd te nemen en op Eindtijd instellen (of druk op F12) voor het eindpunt. De tijdsduur wordt dan automatisch hierop berekend.

Positioneer de videospeler op het punt voor de volgende ondertitel en klik op Nieuwe ondertitel toevoegen om verder te gaan. Herhaal dit voor alle gewenste ondertitels. Met Naar tekstpositie en pauzeren spring je direct naar de begintijd van een geselecteerde ondertitel.

Je kunt de ondertitels handmatig toevoegen en nauwkeurig timen.

Audio-visualisatie

Je kunt sneltoetsen instellen om preciezer door het videobeeld te navigeren. Ga naar Instellingen / Voorkeuren / Sneltoetsen en scrol in het rechterdeelvenster naar het onderdeel Video. Daar vind je opties als Eén frame terug/vooruit en Eén seconde terug/vooruit, waaraan je onderaan de gewenste toetscombinatie kunt toewijzen.

Terug in het hoofdvenster klik je in het onderste vak om een golfvorm toe te voegen. Het audiospoor wordt nu uit je video gehaald en als golfvorm weergegeven, wat even kan duren. De pieken tonen waar gesproken wordt. Klik net voor het begin van een gesproken zin, typ de bijbehorende ondertitel bij Tekst en druk op F11 (Begintijd instellen). Doe hetzelfde bij het eindpunt met F12. Je kunt het ondertitelblok op de golfvorm ook met de muis verplaatsen en de begin- en eindpunten ervan aanpassen. Zet tot slot een vinkje bij Ondertitelselectie synchroon met afspelen, zodat de ondertitelblokken rood oplichten tijdens het afspelen, wat controle vergemakkelijkt.

De ondertitels netjes synchroon met de audiogolfvormen.

AI-gestuurd

Vind je handmatig ondertitels maken te tijdrovend, genereer ze dan automatisch met artificiële intelligentie. Subtitle Edit biedt dit standaard aan. Open Video en kies Audio naar tekst (Whisper) of Audio naar tekst (Vosk/Kaldi). Beide zijn AI-modellen voor spraakherkenning. Whisper is moderner en accurater, maar werkt trager en vergt meer rekenkracht dan het opensource-duo Vosk/Kaldi dat volledig offline werkt. Antwoord Ja op de vraag om FFmpeg te downloaden en, indien gevraagd, ook op het ophalen van extra componenten als libvosk of Purfview Faster-Whisper-XLL. Na de automatische download kun je verder.

Bij Whisper klik je op de knop met drie puntjes en kies je het gewenste model. Groter betekent doorgaans accurater, maar ook zwaarder en trager. Modellen met .en ondersteunen enkel Engels. Voor andere talen kies je bijvoorbeeld medium (1,5GB) of large-v3 (3,5GB), afhankelijk van de videolengte en de kracht van je pc (RAM, cpu en gpu). Bevestig met Downloaden. Selecteer vervolgens de audiotaal bij Taal kiezen. Dit wordt ook de ondertitelingstaal, tenzij je Vertaal naar Engels activeert. Laat de overige opties ingeschakeld. Bij Geavanceerd kun je met talrijke parameters bijsturen, maar we hebben niet de ruimte hier verder op in te gaan. Start het proces met Genereren (of via Batchmodus voor meerdere video's tegelijk). De duurtijd hangt onder meer af van de hoeveelheid gesproken audio.

De opties bij Vosk/Kaldi zijn beperkter. Kies een passend taalmodel uit circa 25 talen, waaronder Dutch (large, 860 MB), download het model en klik op Genereren, waarbij je Nabewerking inschakelen geactiveerd laat.

Whisper is het meest geavanceerde AI-model, maar de verwerking vergt rekenkracht en tijd.

Vertalen (semi-automatisch)

Wil je je ondertiteling vertalen voor een anderstalig publiek, dan hoef je dat niet handmatig te doen. Beginnen we met de semi-automatische methode. Open Vertalen en kies Automatisch vertalen via kopiëren en plakken. Laat de standaardinstellingen ongewijzigd. Open vervolgens Google Vertalen in je browser en stel de gewenste bron- en doeltaal in. Deze dienst blijkt het beste samen te werken met de app. Klik in Subtitle Edit op Vertalen om het eerste tekstblok naar het klembord te sturen. Klik daarna in Google Vertalen op de knop Vertaling kopiëren en keer terug naar Subtitle Edit. Klik op Vertaalde tekst van klembord halen zodat de vertaling in het rechterdeelvenster verschijnt. Klik vervolgens op Brontekst naar klembord kopiëren om het volgende blok te vertalen. Herhaal dit tot alle tekst is vertaald en bevestig met OK. De vertaalde ondertitels verschijnen netjes naast de originele tekst in Subtitle Edit.

Met wat kopieer- en plakwerk kom je ook vrij snel tot een goede vertaling.

Vertalen (volautomatisch)

Het kan ook eenvoudiger, maar daarvoor heb je een API-sleutel nodig van een vertaaldienst als Google, Bing, Microsoft, DeepL of een AI-bot als ChatGPT. We nemen ChatGPT als voorbeeld.

Ga naar platform.openai.com/api-keys, meld je aan met je account en klik op + Create new secret key. Geef een naam op en bevestig met Create secret key. Kopieer de sleutel met Copy. Open in Subtitle Edit Vertalen / Automatisch vertalen, kies ChatGPT in het uitklapmenu en plak de sleutel met Ctrl+V bij API-sleutel. Selecteer het gewenste model, zoals gpt-4, en stel de bron- en doeltaal in. Via Geavanceerd kun je eventueel extra instructies meegeven. Klik op Vertalen om het vertaalproces te starten.

Met een (betaalde) API-sleutel kun je ondertitels volautomatisch laten vertalen.

Optimaliseren

Bij AI-gegenereerde ondertitels is de kans groot dat je nog wat moet bijwerken. Daarvoor zijn verschillende hulpmiddelen voorzien. Zo kun je een ingebouwde spellingscontrole uitvoeren via Spelling / Spellingcontrole. Haal het juiste woordenboek op via het knopje met de drie puntjes en klik op Downloaden. De rest verloopt vanzelf. Je kunt ook nieuwe woorden aan het gebruikerswoordenboek toevoegen. In het menu Spelling vind je verder handige functies als Dubbele woorden zoeken en Dubbele regels zoeken.

Bij Bewerken / Lange titels opdelen kun je instellen dat te lange ondertitels automatisch worden gesplitst zodra ze een bepaalde regellengte overschrijden, bijvoorbeeld 43 tekens. Via Tekens voor in-/uitpunten titels kun je deze gesplitste regels ook laten eindigen met een specifiek leesteken, zoals - of .

Wanneer je door de ondertitels bladert, zie je mogelijk dat sommige regels een oranje achtergrond hebben in de kolom Tijdsduur. Dat betekent dat ze te kort of te lang zichtbaar blijven in verhouding tot de tekst of de ingestelde leessnelheid. Je kunt de bijbehorende drempelwaarden aanpassen via Instellingen / Voorkeuren, rubriek Algemeen, bij Min. en Max. tijdsduur in milliseconden (standaard respectievelijk 1000 en 8000) en Maximaal aantal tekens/sec (standaard 25). Via Extra / Lijst met fouten krijg je een overzicht van alle ondertitels die deze waarden overschrijden. In dit menu vind je ook nuttige functies als Hoofd-/kleine letters wijzigen en Netflix kwaliteitscontrole, waarmee je de ondertiteling aan verschillende kwaliteitscriteria kunt toetsen.

In het voorkeurenmenu kun je zelf heel wat 'drempelwaarden' instellen.

Weergave bewerken

Standaard slaat Subtitle Edit je ondertiteling op via Bestand / Opslaan in het populaire srt-formaat (SubRip Subtitle). Zo'n srt-bestand bestaat uit platte tekst met sequentienummers, start- en eindtijden en ondertitelregels. Het formaat wordt breed ondersteund en is eenvoudig te bewerken, desnoods met een editor als Kladblok, maar biedt beperkte opmaakopties.

De belangrijkste vormgevingsfuncties zie je wanneer je in Subtitle Edit met rechts klikt op een of meer geselecteerde ondertitels. In het snelmenu vind je opties als Vet, Cursief, Onderstrepen, Kleur, Lettertype en Uitlijnen. Deze opmaak verschijnt als html-tags in de ondertitels en is zichtbaar in de voorbeeldweergave en in videospelers die dit ondersteunen. Via Opmaak verwijderen kun je specifieke opmaakelementen weer weghalen.

Het ASS/SSA-formaat (Advanced SubStation Alpha) biedt meer opmaakmogelijkheden dan srt. Je stelt dit in via Opmaak, in de knoppenbalk van Subtitle Edit, en slaat het resultaat op als .ass-bestand. De gratis tool Aegisub waarover je meer leest in het kader biedt op dit vlak nog meer opties.

De opmaakmogelijkheden van srt zijn relatief beperkt.

Opmaak met Aegisub

Het srt-ondertitelingsbestand is ongetwijfeld het populairste en meest ondersteunde formaat, maar het ass-formaat is handig voor wie de opmaak van de ondertiteling, zoals stijl, positie en zelfs animatie, belangrijk vindt. Ook Subtitle Edit kan hiermee overweg, maar Aegisub is flexibeler. Start de app na installatie op en haal het gewenste ondertitelingsbestand (zoals srt of ass) op. Ga naar Ondertitels en kies Stijlbeheerder. Klik onderaan rechts op Nieuw en vul een stijlnaam in. Leg alle gewenste opmaakelementen vast, zoals lettertype, grootte, vet, cursief, onderstrepen, kleuren (ook voor rand en schaduw), marges, uitlijning, positionering, rotatie en meer.

Bevestig met OK en met Sluiten. Selecteer nu de (gewenste) ondertitels en selecteer net onder de knoppenbalk de gewenste stijl (standaard Default). Bewaar je ondertiteling via Bestand / Ondertitels opslaan als en kies het .ass-formaat. Je zult zelf moeten ondervinden in hoeverre de opmaak door je mediaspeler(s) wordt ondersteund.

Synchroniseren

Een van de vervelendste problemen bij het bekijken van video met ondertiteling is dat de tekst niet synchroon loopt met de dialogen: ze verschijnt net te vroeg of te laat. Dit kun je deels corrigeren in de meeste mediaspelers, maar het gaat vaak beter met een ondertitelingseditor als Subtitle Edit. Kleine afwijkingen kun je handmatig bijsturen door de tijdcodes (begintijd, eindtijd, tijdsduur) aan te passen, al wordt dat snel tijdrovend. Gelukkig kan Subtitle Edit dit ook grotendeels automatisch corrigeren.

Bij een constante verschuiving, waarbij alle ondertitels evenveel afwijken, is de oplossing eenvoudig. Selecteer de gewenste (eventueel alle) ondertitels, ga naar Synchroniseren en kies Verschuiven. Vul de exacte tijdsduur in, bijvoorbeeld 00:00:05,500, en klik op Eerder weergeven of Later weergeven.

Moeilijker is het als de ondertitels geleidelijk verder uit de pas lopen naarmate de video vordert, bijvoorbeeld 5 seconden te vroeg aan het begin en 2 seconden te laat op het einde (lineaire verschuiving). Open dan Synchroniseren / Puntsynchronisatie. Dubbelklik op het eerste foutpunt, stel de juiste tijd in en bevestig met Sync-punt instellen. Doe dit opnieuw bij een volgend foutpunt en klik op Toepassen om de tussenliggende tijdcodes automatisch te laten herberekenen.

Een alternatief is Synchroniseren / Visuele synchronisatie. Kies daarbij de juiste ondertitel (via Tekst) bij het begin van de scène en eventueel een tweede bij het eindpunt. Met de knop Synchroniseren worden de overige tijdcodes verhoudingsgewijs aangepast.

Lineaire verschuiving is vaak wat lastiger om te corrigeren.

Gebruiken in VLC

We gaan ervan uit dat je nu een geschikt ondertitelingsbestand hebt dat je wilt gebruiken in je favoriete mediaspeler. We tonen hoe dit werkt in VLC media player voor Windows. Via het menu Ondertitels kun je het juiste audiospoor kiezen als de video meerdere sporen bevat, of indien er meertalige ondertitelingsbestanden in de videomap werden geplaatst (zoals <filmnaam>.mp4, <filmnaam>.nl.srt en <filmnaam>.en.srt). Tijdens het afspelen kun je met de V-toets ook snel naar het volgende ondertitelspoor schakelen. Via Ondertitelbestand toevoegen verwijs je naar het gewenste ondertitelingsbestand.

Je kunt in VLC ook de timing bijstellen. Druk tijdens het afspelen op G om de ondertitels 100 ms eerder te tonen of op H om ze 100 ms later te laten verschijnen. Via Gereedschap / Spoorsynchronisatie kun je op het tabblad Synchronisatie exact een tijdswaarde invoeren. Met Ondertitelsnelheid bepaal je hoe snel ondertitels verschijnen en verdwijnen, wat handig is bij een afwijkende framerate. Met Ondertitelduur-factor stel je in hoelang ondertitels in beeld blijven; een waarde van 0,500 bijvoorbeeld houdt ze iets langer zichtbaar.

Om de weergave aan te passen open je Gereedschap / Voorkeuren / Ondertitels/OSD. Bij Ondertiteleffecten kun je onder meer het lettertype, de tekstgrootte, de standaardkleur en de positie van de ondertitels wijzigen.

Je kunt de ondertitelweergave ook in VLC zelf aanpassen.

Gebruiken in Kodi

Tot slot bekijken we hoe je met ondertiteling omgaat in het populaire mediacenterprogramma Kodi.

Tijdens het afspelen klik je rechtsonder op het tekstballonicoon Ondertiteling. Schakel Ondertiteling activeren in en selecteer bij Subtitel het gewenste ondertitelspoor. Je kunt ook kiezen voor Ondertiteling zoeken en verwijzen naar het juiste ondertitelingsbestand. Verder is er de optie Download ondertiteling, maar daarvoor moet je eerst een ondertitelingsservice instellen.

Ga hiervoor in het algemene instellingenmenu - druk eventueel enkele keren op Esc - via het tandwielpictogram linksboven naar Add-ons en kies (Installeer van repository /) Ondertiteling. Selecteer een dienst, bijvoorbeeld OpenSubtitles.org, klik op Installeren en daarna op Configureren. Vul hier je accountgegevens in (in ons voorbeeld aan te maken via www.opensubtitles.org/nl).

Ga terug naar Instellingen en open Speler / Ondertiteling. Bij Talen van te downloaden ondertiteling stel je je voorkeurstaal in (bijvoorbeeld Dutch) en bij Standaard filmdienst verwijs je naar OpenSubtitles.org. In dit menu kun je ook de weergave van ondertitels aanpassen, met opties voor onder meer Positie op het scherm, Lettertype, Grootte, Stijl en Kleur.

Om de timing van ondertitels te corrigeren, klik je tijdens het afspelen opnieuw op het tekstballon-pictogram en kies je Ondertitelsynchronisatie. Met een schuifbalk kun je de ondertiteling enkele seconden vroeger of later laten verschijnen. Simpel, maar wel doeltreffend bij een constante verschuiving.

Ook in Kodi kun je de weergave van ondertitels mooi aanpassen.

Lees ook: Films, muziek en meer: beheer al je media met Kodi

🍿 Lekker voor erbij

(wanneer je een ondertiteld filmpje gaat kijken)