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

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

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