Cisco CLI
Cheatsheet
Alle kritieke Cisco IOS commando's, configuraties en examenvalkuilen op één plek. Inclusief tips & tricks om veelgemaakte fouten te vermijden.
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.
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
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.
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.
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
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.
! --- 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
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
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.
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.
! --- 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
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.
no shutdown op gi0/0/0 (de fysieke poort),
ook al configureer je alleen de subinterfaces. Dit wordt regelmatig vergeten!
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 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 |
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.
| Niveau | Naam | Betekenis | Voorbeeld |
|---|---|---|---|
| 0 | Emergency | Systeem onbruikbaar | Hardware crash |
| 1 | Alert | Direct ingrijpen vereist | Temperatuur kritisch |
| 2 | Critical | Kritieke condities | Interface down |
| 3 | Error | Foutcondities | Configuratiefout |
| 4 | Warning | Waarschuwingen | Netwerk instabiel |
| 5 | Notice | Normale, maar significante condities | Interface up/down |
| 6 | Info | Informatieve berichten | Config wijziging |
| 7 | Debug | Debug berichten | Alle pakketinfo |
Emergency · Alert · Critical · Error · Warning → Greasy · Notice → Remains · Info · Debug
Of de klassieke: "Every Alley Cat Eats Greasy Remains Someday Duh"
! --- 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
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.
! --- 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
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.
! --- 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/
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).
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 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
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.
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.
! --- 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
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.
! --- 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 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.
SSH versleutelt het beheerverkeer. Telnet stuurt alles in plaintext. SSH vereist een RSA-sleutelpaar, wat een hostnaam en domeinnaam vereist.
- Hostnaam instellen — Vereist voor RSA key generatie
- IP domeinnaam configureren — Vereist voor RSA key generatie
- Lokale gebruiker aanmaken — Voor login authentication
- RSA sleutelpaar genereren — Minstens 1024 bits (liefst 2048)
- VTY lines configureren — SSH inschakelen, Telnet uitschakelen
! --- 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
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.
Beide protocollen sturen periodiek berichten naar directe buren om topologie-informatie te delen (apparaatnaam, poorten, IP-adressen, platforminfo). Ze werken op Layer 2.
| Eigenschap | CDP | LLDP |
|---|---|---|
| Standaard | Cisco proprietary | IEEE 802.1AB (open standaard) |
| Werkt met | Alleen Cisco apparaten | Alle fabrikanten |
| Standaard aan | ✅ Ja (IOS) | ❌ Nee (moet ingeschakeld worden) |
| Veiligheidsrisico | Hoog (lekt info) | Hoog (lekt info) |
! ═══ 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
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.