Skip to content

Een VPN uit onderdelen: PPP, tap-devices en netcat

Een VPN is twee taken: iets dat een virtuele link maakt, en iets dat de bytes draagt. PPP doet de eerste sinds 1994 en het kan het niet schelen wat de tweede is — daarom zijn PPTP, L2TP en elke inbellijn die je ooit gebruikt hebt hetzelfde protocol over verschillende dragers. Netcat is een drager. Dit bouwt het op beide manieren. Eerst pppd: de pty-optie en wat die met een pseudo-terminal doet, de TCP-versie die iedereen eerst probeert, waarom een streamprotocol binnen TCP onder verlies smelt, de UDP-versie die je moet nemen, de asynchrone HDLC-framing en de ACCM die bepaalt hoeveel bandbreedte er opgaat aan het escapen van stuurtekens, adressering en routering en IPV6CP, en de link overeind houden als de drager sterft zonder het te zeggen. Daarna dezelfde tunnel helemaal zonder PPP — een tap-device, één datagram per frame over UDP, het lengteprefix dat je over TCP zelf moet verzinnen, tun tegen tap, en bridging. Daarna het deel waar netcat geen antwoord op heeft: de drager in TLS wikkelen met ncat, stunnel en openssl, en in DTLS met socat, wat de vorm is die je eigenlijk wilt. Het is nooit echt het juiste gereedschap, en dat is nu juist het punt: het laat zien hoe egress zich gedraagt zodra een aanvaller root heeft binnen je netwerk en uitgaande toegang niet standaard geblokkeerd was, en waarom default-deny aan de rand de enige controle is die ooit echt was.

14 september 2026 · 61 min · 13202 woorden · Damien Dye

De firewall is elf hops ver

“Poort 445 wordt ergens geblokkeerd” is geen diagnose, en het is waarom firewalltickets een week tussen jou en je provider heen en weer stuiteren. Elke router op het pad is je een ICMP Time Exceeded verschuldigd als je hopbudget opraakt, en dat maakt van een time-out een afstand. Ik liep de TTL omhoog op mijn eigen lijn en vond drie storingen waarvan ik niet wist dat ik ze had: een SMB-drop elf hops ver, vervalste SMTP-resets één hop weg, en een IPv4-regel zonder IPv6-tweeling.

28 augustus 2026 · 38 min · 8000 woorden · Damien Dye