9 topics
Cisco IOS
Examen Voorbereiding

Cisco CLI
Cheatsheet

Alle kritieke Cisco IOS commando's, configuraties en examenvalkuilen op één plek. Inclusief tips & tricks om veelgemaakte fouten te vermijden.

DHCP VLANs Trunking ROAS VTP OSPF STP SSH Syslog NTP LLDP/CDP
01
DHCP Configuratie
Dynamic Host Configuration Protocol — IP-adressen automatisch uitdelen

DHCP stelt een router of server in staat om automatisch IP-adressen, subnetmaskers, default gateways en DNS-servers uit te delen aan clients. De volgorde van de commando's is essentieel.

Excluded Addresses + Pool aanmaken
Router# configure terminal

! --- Stap 1: Stel exclusions in VÓÓR de pool (globale config mode) ---
Router(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10
Router(config)# ip dhcp excluded-address 192.168.10.12 192.168.10.14

! --- Stap 2: Maak de DHCP pool aan ---
Router(config)# ip dhcp pool IPD
Router(dhcp-config)# network 192.168.10.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.10.1
Router(dhcp-config)# dns-server 8.8.8.8
Router(dhcp-config)# exit

! --- Verificatie ---
Router# show ip dhcp pool
Router# show ip dhcp binding
⚠ Examenvalkuil
excluded-addresses horen in de GLOBALE configuratiemodus, NIET binnen de pool. Als je ip dhcp pool IPD typt, ga je naar (dhcp-config)# — daar bestaat het excluded-address commando niet. Typ het commando dus altijd vanuit (config)#, vóór of ná het aanmaken van de pool. Volgorde maakt niet uit voor de functie, maar het contextniveau wel.

Adressen .1 t/m .10

Gereserveerd voor netwerkinfrastructuur: router, switches, servers, printers, etc.

Adressen .12 t/m .14

Extra exclusion range — bijv. voor extra vaste servers of managementadressen.

02
IP Helper Address
DHCP broadcasts doorsturen over router-grenzen heen

Standaard blokkeert een router broadcast-verkeer. DHCP-verzoeken zijn broadcasts (255.255.255.255), waardoor clients in andere subnetten de DHCP-server niet kunnen bereiken. ip helper-address zet die broadcast om in een unicast richting de centrale server.

Helper address op binnenkomende interfaces
Router(config)# interface fa0/0
Router(config-if)# ip helper-address 192.168.1.10
Router(config-if)# exit

Router(config)# interface fa1/0
Router(config-if)# ip helper-address 192.168.1.10
Router(config-if)# exit
💡 Tip: Op welke interface?
Configureer ip helper-address altijd op de interface waar de DHCP-broadcast binnenkomt — dus de interface die naar de clients wijst (de "binnenste" kant van het segment). Niet op de interface richting de DHCP-server. De router ontvangt de broadcast op fa0/0 (clientzijde), zet deze om in unicast, en stuurt hem door naar 192.168.1.10.

Broadcast → Unicast

De router vangt het DHCP Discover op (dst: 255.255.255.255) en stuurt het als unicast door naar de DHCP-server.

Meerdere subnetten

Eén DHCP-server kan meerdere subnetten bedienen als op elke gateway-interface een helper-address geconfigureerd staat.

03
VLAN & Trunks
Logische netwerksegmentatie op Layer 2
VLAN aanmaken + access ports
! --- VLANs aanmaken in VLAN database ---
Switch(config)# vlan 10
Switch(config-vlan)# name SALES
Switch(config-vlan)# exit

Switch(config)# vlan 20
Switch(config-vlan)# name ENGINEERING
Switch(config-vlan)# exit

! --- Access ports voor VLAN 10 (fa0/1 en fa0/2) ---
Switch(config)# interface range fa0/1 - 2
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 10
Switch(config-if-range)# exit

! --- Access ports voor VLAN 20 (fa0/3 en fa0/4) ---
Switch(config)# interface range fa0/3 - 4
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 20
Switch(config-if-range)# exit
Trunk poort configureren (fa0/24)
Switch(config)# interface fa0/24
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20
Switch(config-if)# exit

! --- ALTIJD opslaan! ---
Switch# copy running-config startup-config

! --- Verificatie ---
Switch# show vlan brief
Switch# show interfaces trunk
💡 Access vs Trunk
Access port: verbinding naar eindgebruiker/PC — draagt slechts één VLAN, geen 802.1Q tag.
Trunk port: verbinding tussen switches of naar router — draagt meerdere VLANs, frames krijgen een 802.1Q VLAN-tag.

Vergeet copy run start niet! VLANs worden opgeslagen in het vlan.dat bestand op de flash, maar running-config opslaan is de veiligste gewoonte.
04
Router on a Stick
Inter-VLAN routing via één fysieke uplink met subinterfaces

Bij ROAS verbind je een router via één fysieke poort aan een trunk port op de switch. Op de router maak je logische subinterfaces aan per VLAN. Elke subinterface krijgt de gateway-IP van dat VLAN toegewezen.

Subinterfaces configureren (gi0/0/0)
! --- Subinterface voor VLAN 10 ---
Router(config)# interface gi0/0/0.10
Router(config-subif)# encapsulation dot1q 10
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
Router(config-subif)# exit

! --- Subinterface voor VLAN 20 ---
Router(config)# interface gi0/0/0.20
Router(config-subif)# encapsulation dot1q 20
Router(config-subif)# ip address 192.168.20.1 255.255.255.0
Router(config-subif)# exit

! --- VERGEET DE FYSIEKE POORT NIET aan te zetten! ---
Router(config)# interface gi0/0/0
Router(config-if)# no shutdown
Router(config-if)# exit
🔴 Absolute Examenvalkuil #1
encapsulation dot1q <vlan> MOET als eerste getypt worden op een subinterface. Pas daarna accepteert IOS het commando ip address .... Probeer je een IP in te stellen zonder eerst de encapsulatie te configureren? Dan krijg je een foutmelding of werkt de interface incorrect.

Volgorde is dwingend: (1) maak subinterface aan → (2) dot1q encapsulatie → (3) ip address.
⚠ Examenvalkuil #2 — Fysieke poort
Subinterfaces komen niet omhoog als de fysieke parent interface down is. Doe altijd no shutdown op gi0/0/0 (de fysieke poort), ook al configureer je alleen de subinterfaces. Dit wordt regelmatig vergeten!
05
VTP — VLAN Trunking Protocol
Centraal VLAN-beheer over meerdere switches

VTP synchroniseert de VLAN-database automatisch over alle switches in hetzelfde domein via trunk links. Eén switch (Server) beheert de VLANs; alle anderen (Clients) ontvangen updates.

VTP Domain, Wachtwoord & Mode
! --- VTP Server (standaard mode, beheert VLANs) ---
Switch(config)# vtp domain BEDRIJF
Switch(config)# vtp password Cisco123
Switch(config)# vtp mode server

! --- VTP Client (ontvangt updates, kan VLANs NIET aanmaken) ---
Switch(config)# vtp domain BEDRIJF
Switch(config)# vtp password Cisco123
Switch(config)# vtp mode client

! --- VTP Transparent (negeert updates, stuurt ze wel door) ---
Switch(config)# vtp mode transparent

! --- Verificatie ---
Switch# show vtp status
Mode VLANs aanmaken Updates ontvangen Updates doorsturen Gebruik
Server ✅ Ja ✅ Ja ✅ Ja Centrale beheerswitch
Client ❌ Nee ✅ Ja ✅ Ja Toegangsswitches
Transparent ✅ Lokaal ❌ Nee ✅ Ja Geïsoleerde switch
🔴 Gevaarlijk: Configuration Revision Number
VTP synchroniseert op basis van het revisienummer. Elke VLAN-wijziging verhoogt dit nummer. Een switch met een hoger revisienummer overschrijft de VLAN-database van andere switches — zelfs als die meer VLANs heeft.

Concreet gevaar: Sluit je een oude switch (uit een ander lab) aan in Client-mode maar met revisienummer 15 terwijl jouw Server op revisie 10 staat? → De oude switch wist je hele VLAN-database!

Oplossing: Reset het revisienummer door de switch tijdelijk op transparent te zetten en dan terug naar de gewenste mode, of verander het VTP-domein.
06
Syslog
Gecentraliseerd loggen van systeem- en netwerkgebeurtenissen
NiveauNaamBetekenisVoorbeeld
0EmergencySysteem onbruikbaarHardware crash
1AlertDirect ingrijpen vereistTemperatuur kritisch
2CriticalKritieke conditiesInterface down
3ErrorFoutconditiesConfiguratiefout
4WarningWaarschuwingenNetwerk instabiel
5NoticeNormale, maar significante conditiesInterface up/down
6InfoInformatieve berichtenConfig wijziging
7DebugDebug berichtenAlle pakketinfo
🧠 Ezelsbruggetje niveaus 0–7
"Every Alley Cat Eats Greasy Remains Intentionally Daily"
Emergency · Alert · Critical · Error · Warning → Greasy · Notice → Remains · Info · Debug

Of de klassieke: "Every Alley Cat Eats Greasy Remains Someday Duh"
Syslog configureren
! --- Syslog naar externe server sturen ---
Router(config)# logging 192.168.1.100
Router(config)# logging trap informational    ! niveau 6 en lager
Router(config)# logging on

! --- Timestamps toevoegen aan logs ---
Router(config)# service timestamps log datetime msec

! --- Verificatie ---
Router# show logging
07
NTP — Network Time Protocol
Tijdsynchronisatie voor betrouwbare logging en beveiliging

Zonder gesynchroniseerde tijd zijn Syslog-berichten waardeloos bij troubleshooting — events op switch A staan dan uren voor of achter events op router B. NTP koppelt alle apparaten aan dezelfde tijdbron.

NTP Client configureren
! --- Koppelen aan NTP server ---
Router(config)# ntp server 192.168.1.1
Router(config)# ntp server pool.ntp.org        ! publieke server

! --- Tijdzone instellen ---
Router(config)# clock timezone CET 1
Router(config)# clock summer-time CEST recurring

! --- Verificatie ---
Router# show ntp status
Router# show ntp associations
Router# show clock
💡 Belang voor Syslog
Combineer NTP altijd met service timestamps log datetime. Als je later een beveiligingsincident onderzoekt, wil je weten wanneer exact een interface down ging of een login mislukte. Zonder NTP zijn alle tijdstempels in logs onbetrouwbaar.
08
FTP Config Backup
Configuratie opslaan naar externe FTP-server
Configuratie back-uppen naar FTP
! --- FTP credentials instellen ---
Router(config)# ip ftp username admin
Router(config)# ip ftp password Cisco123

! --- Running config kopiëren naar FTP server ---
Router# copy running-config ftp://192.168.1.50/router-backup.cfg

! --- Configuratie terugzetten van FTP ---
Router# copy ftp://192.168.1.50/router-backup.cfg running-config

! --- IOS image back-uppen ---
Router# copy flash:c1900-image.bin ftp://192.168.1.50/
💡 Tip
Gebruik copy run start voor lokale opslag in NVRAM, en FTP/TFTP voor externe back-ups. TFTP is eenvoudiger (geen login vereist) maar minder veilig. Voor examen: ken het verschil tussen running-config (RAM, actief) en startup-config (NVRAM, bij boot).
09
OSPF Routing
Open Shortest Path First — single-area basisconfig

OSPF is een link-state routingprotocol dat de kortste route berekent via Dijkstra's algoritme. Voor het examen: beheers de basisconfig van single-area OSPF (area 0), wildcard maskers en passive interfaces.

OSPF single-area configuratie
! --- OSPF process starten (process-id is lokaal, bijv. 1) ---
Router(config)# router ospf 1

! --- Netwerken adverteren met wildcard masker ---
Router(config-router)# network 192.168.10.0 0.0.0.255 area 0
Router(config-router)# network 192.168.20.0 0.0.0.255 area 0
Router(config-router)# network 10.0.0.0 0.0.0.3 area 0

! --- Passive interface (geen OSPF hello's sturen naar eindgebruikers) ---
Router(config-router)# passive-interface gi0/0/1

! --- Router ID handmatig instellen (aanbevolen) ---
Router(config-router)# router-id 1.1.1.1

! --- Verificatie ---
Router# show ip ospf neighbor
Router# show ip route ospf
Router# show ip ospf interface brief
💡 Wildcard vs Subnetmask
Het wildcard masker is het inverse van het subnetmask. /24 → subnetmask 255.255.255.0 → wildcard 0.0.0.255. /30 → subnetmask 255.255.255.252 → wildcard 0.0.0.3.

Passive interface gebruik je op interfaces die verbonden zijn met eindstations (geen andere OSPF-router). Het netwerk wordt nog steeds geadverteerd, maar er worden geen hello-pakketjes meer gestuurd.
10
STP & Portfast
Spanning Tree Protocol — loop preventie op Layer 2

STP voorkomt broadcast storms door een logische boomstructuur te maken uit een fysiek geswitcht netwerk met redundante links. Eén switch wordt de Root Bridge — alle andere switches berekenen de kortste pad naar die root.

Root Bridge Selectie

De switch met de laagste Bridge ID wint. Bridge ID = Priority (default 32768) + VLAN ID + MAC-adres. Laagste priority → Root Bridge. Bij gelijke priority: laagste MAC-adres.

Port States

Blocking → Listening (15s) → Learning (15s) → Forwarding. Bij standaard STP duurt het 30–50 seconden voor een poort forwarding bereikt.

STP & Portfast configuratie
! --- Root Bridge forceren (lagere priority = voorkeur) ---
Switch(config)# spanning-tree vlan 10 priority 4096
Switch(config)# spanning-tree vlan 10 root primary   ! automatisch

! --- Portfast op access poort (eindstation) ---
Switch(config)# interface fa0/1
Switch(config-if)# spanning-tree portfast

! --- Portfast globaal inschakelen op alle access ports ---
Switch(config)# spanning-tree portfast default

! --- BPDU Guard (bescherming op portfast poorten) ---
Switch(config-if)# spanning-tree bpduguard enable

! --- Verificatie ---
Switch# show spanning-tree vlan 10
🔴 Portfast NOOIT op switch-to-switch poorten!
Portfast slaat de STP listening/learning fase over. Op een access poort naar een PC is dit prima — die PC maakt geen loops. Maar als je Portfast inschakelt op een poort verbonden met een andere switch, en die switch heeft meerdere paden, dan start het frame forwarding direct voordat STP een loop kan detecteren. → Broadcast storm → netwerk plat.

Vuistregel: Portfast alleen op edge devices (PC, printer, server). Gebruik BPDU Guard samen met Portfast om poorten automatisch te disablen als er toch een switch aangesloten wordt.
11
Password Security
Wachtwoordbeveiliging op Cisco apparaten
Wachtwoordbeveiliging instellen
! --- Enable secret (MD5 hashed, GEBRUIK ALTIJD DIT) ---
Router(config)# enable secret MijnGeheimWw123

! --- Console wachtwoord ---
Router(config)# line console 0
Router(config-line)# password console123
Router(config-line)# login
Router(config-line)# exit

! --- VTY (Telnet/SSH) wachtwoord ---
Router(config)# line vty 0 4
Router(config-line)# password vty123
Router(config-line)# login
Router(config-line)# exit

! --- Alle plaintext wachtwoorden in config versleutelen ---
Router(config)# service password-encryption

! --- Banner bij inloggen ---
Router(config)# banner motd #Onbevoegde toegang verboden!#
⚠ enable secret vs enable password
enable secret slaat het wachtwoord op als een MD5-hash — gebruik dit altijd.
enable password slaat het wachtwoord op in plaintext (of zwakke type-7 versleuteling met service password-encryption).

Als beide ingesteld zijn, heeft enable secret altijd voorrang. service password-encryption versleutelt ALLE plaintext wachtwoorden in de config met type-7 (reversibel, niet veilig), maar biedt bescherming tegen iemand die over je schouder meekijkt.
12
SSH Configuratie
Veilig beheer op afstand — vervangt Telnet

SSH versleutelt het beheerverkeer. Telnet stuurt alles in plaintext. SSH vereist een RSA-sleutelpaar, wat een hostnaam en domeinnaam vereist.

SSH volledige configuratie (alle stappen)
! --- Stap 1: Hostnaam ---
Router(config)# hostname R1-Kantoor

! --- Stap 2: IP domeinnaam ---
R1-Kantoor(config)# ip domain-name bedrijf.local

! --- Stap 3: Lokale gebruiker aanmaken ---
R1-Kantoor(config)# username admin privilege 15 secret Admin@123

! --- Stap 4: RSA sleutelpaar genereren (1024 of 2048 bits) ---
R1-Kantoor(config)# crypto key generate rsa
! IOS vraagt: How many bits in the modulus [512]: type 2048

! --- Stap 5: SSH versie 2 forceren ---
R1-Kantoor(config)# ip ssh version 2

! --- Stap 6: VTY lines instellen voor SSH only ---
R1-Kantoor(config)# line vty 0 4
R1-Kantoor(config-line)# transport input ssh     ! alleen SSH, geen Telnet
R1-Kantoor(config-line)# login local              ! lokale gebruikersdatabase
R1-Kantoor(config-line)# exit

! --- Verificatie ---
R1-Kantoor# show ip ssh
R1-Kantoor# show ssh
💡 Examentip
Zonder ip domain-name weigert het commando crypto key generate rsa. Dit is een veelgemaakte fout. De domeinnaam hoeft niet te bestaan, maar moet geconfigureerd zijn. Gebruik login local (niet gewoon login) als je de lokale gebruikersdatabase wilt gebruiken.
13
LLDP & CDP
Neighbor Discovery Protocols — apparaatdetectie op Layer 2

Beide protocollen sturen periodiek berichten naar directe buren om topologie-informatie te delen (apparaatnaam, poorten, IP-adressen, platforminfo). Ze werken op Layer 2.

EigenschapCDPLLDP
StandaardCisco proprietaryIEEE 802.1AB (open standaard)
Werkt metAlleen Cisco apparatenAlle fabrikanten
Standaard aan✅ Ja (IOS)❌ Nee (moet ingeschakeld worden)
VeiligheidsrisicoHoog (lekt info)Hoog (lekt info)
LLDP & CDP commando's
! ═══ LLDP ═══
! --- Globaal inschakelen ---
Switch(config)# lldp run

! --- Transmit en receive per interface ---
Switch(config)# interface fa0/1
Switch(config-if)# lldp transmit
Switch(config-if)# lldp receive
Switch(config-if)# exit

! --- LLDP buren bekijken ---
Switch# show lldp neighbors
Switch# show lldp neighbors detail

! ═══ CDP ═══
! --- CDP is standaard AAN op Cisco, uitschakelen indien gewenst ---
Switch(config)# no cdp run                 ! globaal uitschakelen
Switch(config-if)# no cdp enable           ! per interface

! --- CDP buren bekijken ---
Switch# show cdp neighbors
Switch# show cdp neighbors detail
💡 Verschil in één zin
CDP = Cisco-only, standaard aan, werkt direct out-of-the-box in een puur Cisco netwerk.
LLDP = Open standaard (IEEE), moet je inschakelen met lldp run, maar werkt met elk merk netwerkapparatuur. In een multi-vendor omgeving (bijv. Cisco + HP + Juniper) is LLDP de enige optie.