Post #1385888
2026-03-20 06:09 UTC
Turns out all of the outgoing unbound UDP packets had an invalid checksum.
When Linux sends packets out the veth, it doesn’t calculate proper checksums for them. They are, after all, useless on the local system and if the packets ever leave, the NIC hardware will fill them in.
But here I was, reading the packets directly in a userland process on the same system, not checking CHECKSUM_PARTIAL.
My NAT recalculates checksums incrementally, assuming they’re correct to begin with. Boom.
Replies (1)
-
@karppinen@mastodon.online 2026-03-20 06:11
So what did we learn? That many authoritative DNS servers ignore UDP checksums!