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

Je firewall neemt instructies aan van vreemden. Zet de protocol-helpers uit.

Een protocol-helper — SIP ALG, FTP-helper, H.323 ALG, conntrack-helper, noem het zoals je leverancier het noemt — leest de payload van een verbinding, vindt daar een adres en een poort in de tekst, en opent daarvoor een inkomend gaatje. Hij kan niet zien of die tekst van een echte FTP-client komt of van een verborgen formulier op een webpagina, want er staat niets in wat dat verraadt. Samy Kamkar toonde het browsergeval in 2010, NAT Slipstreaming deed het in 2020 opnieuw, en Armis breidde het in 2021 uit tot elk apparaat in je netwerk, niet alleen de machine die klikte. De IETF vroeg in 2007 om ze standaard uit te zetten, Linux zette ze in 2016 uit, en de browserbouwers leverden uiteindelijk een lijst geblokkeerde poorten die leest als een inhoudsopgave van de conntrack-modules. Dit stuk loopt het mechanisme diagram voor diagram door — de expectation-tabel, de truc met segmentgrenzen, H.323-doorschakelen, de IRC-helper die afgaat op het bericht van iemand anders —, neemt de IPsec-passthrough-helper mee, die ESP helemaal niet kan lezen en inkomende pakketten stuurt op een SPI die hij in klare tekst voorbij zag komen, legt het geheel naast de firewall-eis van Cyber Essentials die het duidelijk niet haalt, en geeft de commando’s om alles uit te zetten op Linux, Cisco, Juniper, FortiGate en MikroTik.

14 september 2026 · 56 min · 13005 woorden · Damien Dye

IPsec Was Een Goed Idee. Het Is Tijd Om Het Uit Te Zetten.

IPsec had in 1995 gelijk: versleutel onder de applicatie, bind de security association aan het IP-adres, en elk protocol erft het. Toen kwam NAT, carrier-grade NAT maakte het af, en de oplossing was om het geheel in UDP te verpakken en een timer te laten lopen zodat een vertaaltabel je niet vergeet. Deze post laat diagram voor diagram zien hoe het instort — de security association die een herschreven header niet overleeft, de twee vertalers die elke CGNAT-lijn tegenwoordig heeft, de NAT64-standaard die IPsec met naam en toenaam uitsluit, de tunnel die geen tweede lijn kan gebruiken omdat ESP geen poorten heeft, de MTU waar niemand van is, en L2TP en PPTP als de twee protocollen die hier nooit thuishoorden. Met de leveranciersdocumentatie van Cisco, Juniper en Microsoft die elk van die punten toegeeft, de achttien onderdelen die zich IPsec-VPN noemen waarvan er twee nooit een standaard waren, waarom het Fisher-Price OS nooit echt met een open stack heeft samengewerkt, een werkbare methode om IPsec te diagnosticeren zolang je het nog draait, en het pleidooi om de hele zaak met datums uit te faseren.

13 september 2026 · 68 min · 16770 woorden · Damien Dye
Een browser die via Cloudflare Access verbindt met Windows-VM's op een Proxmox-host met Intel Arc Pro GPU-virtual-functions

Zero-Trust-VDI Zonder De Cloudrekening — Proxmox, Intel Arc Pro en Cloudflare Access

Deel één: de architectuur en het kostenargument voor het vervangen van Azure Virtual Desktop door Proxmox, Intel Arc Pro SR-IOV en Cloudflare Access. On-prem OAuth voor identiteit, browser-gerenderde RDP, een gefirewallde LXC-tunnel op zijn eigen VLAN, KSM voor geheugendichtheid, en profielen op Ceph. De volgende post bouwt het.

2 september 2026 · 16 min · 3466 woorden · Damien Dye

Ping: het diagnosegereedschap dat een heleboel meer opent

Ping, niet de rest van ICMP, is het risico: echo is een kanaal dat elke host met je eigen bytes moet beantwoorden, dus een netwerk dat ‘alleen ping toestaat’ heeft al een volledige VPN naar buiten. Dit loopt eerst de dreiging af — wat het je uitgaande verkeer kost, en hoe een bezoeker op je wifi of een niet-vergrendelde ethernetpoort er een kan openen — dan drie werkende tunnels op ping alleen (Hans, icmptunnel, en een korte in Python met AES-128), de haken van MTU en IPv6, en de regel die het sluit: gooi echo weg, houd de fouten, in nftables, pf, Cisco, Junos, MikroTik en Windows.

1 september 2026 · 36 min · 7696 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

We Zijn Nooit Zonder Adressen Geraakt. We Zijn Zonder Moeite Geraakt.

IPv6 is af, gratis en standaard aangezet in elk besturingssysteem al het grootste deel van twintig jaar. Het antwoord van het VK was carrier-grade NAT, een wet over logging, en £5 per maand om je het adres terug te geven dat je vroeger had. Ik telde elk Brits netwerk in de wereldwijde routingtabel om te ontdekken wie IPv6 werkelijk heeft aangezet — 1.200 ervan niet, en 463 daarvan zitten op adresruimte die ze aanvroegen en nooit gebruikten.

27 augustus 2026 · 68 min · 14277 woorden · Damien Dye