Problem upgrading 9.18 to 9.20: dnstap doesnt work

Fred Morris m3047 at m3047.net
Sat Jun 27 00:51:32 UTC 2026


How's your python? Download

   https://github.com/m3047/shodohflo/blob/master/examples/dnstap2json.py

and see if you can make that go. Well really, download the entire repo. 
The framestreams implementation is here:

   https://github.com/m3047/shodohflo/blob/master/shodohflo/fstrm.py

I make no apologies for framestreams, I think think they could have done 
better borrowing from how DNS does TCP but that's just my opinion. In any 
case, it requires a "notary sojack" (handshake) from the "server"... yes 
your client is the server. Is whatever you're using as a sink sending the 
handshake?

(There is a complete pure python implementation of framestreams / protobuf 
in there.)

--

Fred Morris, internet plumber

On Sat, 27 Jun 2026, Peter 'PMc' Much wrote:
>
> A while back I upgraded an internal server from 9.18 to 9.20.
> Everything works fine there.
>
> Now I upgraded a public server (rented KVM). Same config, same
> infrastructure. It probably works, but there is no dnstap output, so I
> am blind.
>
> I put a hexdump on the socket like so (before starting named):
>
> root at wand:/tmp # /usr/bin/stdbuf -o 0 /usr/local/bin/fstrm_capture \
>   -t protobuf:dnstap.Dnstap -u /var/named//var/run/dnstap.sock -w - | hd
> fstrm_capture: opening Unix socket path /var/named//var/run/dnstap.sock
> fstrm_capture: opened output file -
> 00000000  00 00 00 00 00 00 00 22  00 00 00 02 00 00 00 01  |......."........|
> 00000010  00 00 00 16 70 72 6f 74  6f 62 75 66 3a 64 6e 73  |....protobuf:dns|
>
> And that is all that appears.
> [...]



More information about the bind-users mailing list