Troubleshooting the Network

πŸ› οΈ Hoofdstuk 20.1: Netwerkproblemen Oplossen in Linux

Het oplossen van netwerkproblemen vereist een gestructureerde aanpak waarbij verschillende netwerklagen, instellingen en hardware worden geanalyseerd.

────────────────────────────────────────────
πŸ” Stappenplan voor Troubleshooting
────────────────────────────────────────────

βœ… 1. Identificeer symptomen
Bijv. geen internettoegang, hoge latency, timeouts of verkeerde naamresolutie.

βœ… 2. Controleer recente wijzigingen
Instellingen van netwerkinterfaces, DNS, firewalls of routerconfiguraties?

βœ… 3. Stel mogelijke oorzaken vast
Gebruik logica en ervaring: hardware, software, instellingen of externe factoren?

βœ… 4. Controleer hardware
Kabels, switches, routers, netwerkkaarten, WiFi-signalen en verbindingsstatus.

βœ… 5. Analyseer datalinklaag (Layer 2)
Gebruik tools om MAC-adressen, drivers en verbindingsstatus te controleren.

βœ… 6. Analyseer netwerklaag (Layer 3)
IP-instellingen, routingtabellen, firewallregels, NAT, VPN-configuraties.

────────────────────────────────────────────
🚨 Veelvoorkomende Problemen en Oorzaken
────────────────────────────────────────────

Probleem | Mogelijke Oorzaken
----------------------|---------------------------------------------
πŸ“‰ Packet Drop | Slechte kabels, hardwarefouten, DoS-aanval
⏳ Timeouts | Geen route naar host, foute IP-instellingen, firewall
🐒 Hoge Latency | Drukke routers/switches, trage verbinding
❌ DNS-problemen | Foute resolv.conf, onbetrouwbare DNS-server

────────────────────────────────────────────
🌐 Belangrijke Netwerkconcepten
────────────────────────────────────────────

πŸ“‘ **Bandbreedte**
Maximale theoretische gegevensoverdracht (Mbps/Gbps)

πŸš€ **Throughput**
Werkelijke gegevenssnelheid die wordt bereikt in de praktijk

🧭 **Routing**
Proces waarbij routers bepalen naar welk netwerk een pakket moet

πŸ”Œ **Sockets**
Combinatie van IP-adres + poortnummer (bijv. 192.168.1.1:22)

────────────────────────────────────────────
πŸ–§ Lokale Netwerkverwijzingen
────────────────────────────────────────────

β€’ `127.0.0.1` (localhost) – Intern netwerkverkeer op eigen systeem
β€’ **Unix sockets** – EfficiΓ«nte communicatie tussen processen (bijv. `/var/run/docker.sock`)

────────────────────────────────────────────
πŸ§ͺ Netwerktools en Diagnostische Commando's
────────────────────────────────────────────

Commando | Omschrijving
--------------------------|-----------------------------------------
`ping` | Controleert bereikbaarheid via ICMP
`traceroute` | Laat route naar bestemming zien
`netstat -s` | Verouderde protocolstatistieken
`ss -s` | Modern alternatief voor `netstat -s`
`mtr` | Real-time route + latency + packet loss
`iperf` | Meet werkelijke snelheid netwerkverbinding
`ethtool -S eth0` | Toon statistieken van netwerkinterface
`wireshark` | GUI-pakket sniffer voor diepgaande analyse
`tcpdump` | CLI-versie van packet capture tool
`dig` | DNS-query testtool (bijv. `dig google.com`)
`nmap -sT` | Scant poorten/services (bijv. securitytests)

────────────────────────────────────────────
πŸ“Œ Samenvatting
────────────────────────────────────────────

βœ”οΈ Werk volgens een gestructureerd stappenplan
βœ”οΈ Controleer zowel hardware als software-instellingen
βœ”οΈ Gebruik krachtige CLI-tools voor analyse en diagnose
βœ”οΈ Begrijp verschillen tussen bandbreedte, throughput en routing
βœ”οΈ Herken lokale netwerkmiddelen zoals Unix sockets en localhost