<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div name="messageBodySection"><font face="Verdana, sans-serif" style="font-size: 13px;">Hi Remi,</font>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;">My dnsdist version is 1.3.3 and authoritative is 4.2.0</font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;"><br /></font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;">I've found a diff with wireshark, before dnsdist I have just one aditional record containing the TSIG</font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;">after dnsdist I have two </font><span style="background-color: var(--backgroundColor);"><font face="Verdana, sans-serif" size="2">additional<span style="color: var(--textColor);"> records (TSIG and OPT with client subnet)</span></font></span></div>
<div dir="auto"><span style="background-color: var(--backgroundColor);"><font face="Verdana, sans-serif" size="2"><span style="color: var(--textColor);"><br /></span></font></span></div>
<div dir="auto"><span style="background-color: var(--backgroundColor);"><font face="Verdana, sans-serif" size="2"><span style="color: var(--textColor);">I try "newServer({address='127.0.0.1:5300', pool='auth-update', useClientSubnet=false })" or "newServer({address='127.0.0.1:5300', pool='auth-update', useClientSubnet=true })" but the result is the same.</span></font></span></div>
<div dir="auto"><span style="caret-color: rgb(39, 39, 40); font-family: Verdana, sans-serif; font-size: 13px; color: var(--textColor); background-color: var(--backgroundColor);"><br /></span></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;"><br /></font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;">before dnsdist:</font></div>
<div dir="auto">Domain Name System (query)<br />
Transaction ID: 0xdb4c<br />
Flags: 0x2800 Dynamic update<br />
0... .... .... .... = Response: Message is a query<br />
.010 1... .... .... = Opcode: Dynamic update (5)<br />
.... ..0. .... .... = Truncated: Message is not truncated<br />
.... ...0 .... .... = Recursion desired: Don't do query recursively<br />
.... .... .0.. .... = Z: reserved (0)<br />
.... .... ...0 .... = Non-authenticated data: Unacceptable<br />
Zones: 1<br />
Prerequisites: 1<br />
Updates: 2<br />
Additional RRs: 1<br />
Zone<br />
<a href="http://univ-lr.fr">univ-lr.fr</a>: type SOA, class IN<br />
Name: <a href="http://univ-lr.fr">univ-lr.fr</a><br />
[Name Length: 10]<br />
[Label Count: 2]<br />
Type: SOA (Start Of a zone of Authority) (6)<br />
Class: IN (0x0001)<br />
Prerequisites<br />
<a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a>: type ANY, class NONE<br />
Name: <a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a><br />
Type: * (A request for all records the server/cache has available) (255)<br />
Class: NONE (0x00fe)<br />
Time to live: 0 (0 seconds)<br />
Data length: 0<br />
Updates<br />
<a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a>: type A, class IN, addr 10.2.154.237<br />
Name: <a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a><br />
Type: A (Host Address) (1)<br />
Class: IN (0x0001)<br />
Time to live: 3600 (1 hour)<br />
Data length: 4<br />
Address: 10.2.154.237<br />
<a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a>: type DHCID, class IN<br />
Name: <a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a><br />
Type: DHCID (49)<br />
Class: IN (0x0001)<br />
Time to live: 3600 (1 hour)<br />
Data length: 35<br />
DHCID Data: 000001a719b0b167ca71adf4b02ed05693d7d8dec38e29a6…<br />
Additional records<br />
bean-dhcp: type TSIG, class ANY<br />
Name: bean-dhcp<br />
Type: TSIG (Transaction Signature) (250)<br />
Class: ANY (0x00ff)<br />
Time to live: 0 (0 seconds)<br />
Data length: 58<br />
Algorithm Name: hmac-md5.sig-alg.reg.int<br />
Time Signed: Feb 11, 2020 11:55:51.000000000 CET<br />
Fudge: 300<br />
MAC Size: 16<br />
MAC<br />
[Expert Info (Warning/Undecoded): No dissector for algorithm:hmac-md5.sig-alg.reg.int]<br />
[No dissector for algorithm:hmac-md5.sig-alg.reg.int]<br />
[Severity level: Warning]<br />
[Group: Undecoded]<br />
Original Id: 56140<br />
Error: No error (0)<br />
Other Len: 0<br /></div>
<div dir="auto">-------------</div>
<div dir="auto"><br /></div>
<div dir="auto">after dnsdist</div>
<div dir="auto"><br /></div>
<div dir="auto">Domain Name System (query)<br />
Transaction ID: 0x8808<br />
Flags: 0x2800 Dynamic update<br />
0... .... .... .... = Response: Message is a query<br />
.010 1... .... .... = Opcode: Dynamic update (5)<br />
.... ..0. .... .... = Truncated: Message is not truncated<br />
.... ...0 .... .... = Recursion desired: Don't do query recursively<br />
.... .... .0.. .... = Z: reserved (0)<br />
.... .... ...0 .... = Non-authenticated data: Unacceptable<br />
Zones: 1<br />
Prerequisites: 1<br />
Updates: 2<br />
Additional RRs: 2<br />
Zone<br />
<a href="http://univ-lr.fr">univ-lr.fr</a>: type SOA, class IN<br />
Name: <a href="http://univ-lr.fr">univ-lr.fr</a><br />
[Name Length: 10]<br />
[Label Count: 2]<br />
Type: SOA (Start Of a zone of Authority) (6)<br />
Class: IN (0x0001)<br />
Prerequisites<br />
<a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a>: type ANY, class NONE<br />
Name: <a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a><br />
Type: * (A request for all records the server/cache has available) (255)<br />
Class: NONE (0x00fe)<br />
Time to live: 0 (0 seconds)<br />
Data length: 0<br />
Updates<br />
<a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a>: type A, class IN, addr 10.2.154.237<br />
Name: <a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a><br />
Type: A (Host Address) (1)<br />
Class: IN (0x0001)<br />
Time to live: 3600 (1 hour)<br />
Data length: 4<br />
Address: 10.2.154.237<br />
<a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a>: type DHCID, class IN<br />
Name: <a href="http://u-bionic-2-5003.univ-lr.fr">u-bionic-2-5003.univ-lr.fr</a><br />
Type: DHCID (49)<br />
Class: IN (0x0001)<br />
Time to live: 3600 (1 hour)<br />
Data length: 35<br />
DHCID Data: 000001a719b0b167ca71adf4b02ed05693d7d8dec38e29a6…<br />
Additional records<br />
bean-dhcp: type TSIG, class ANY<br />
Name: bean-dhcp<br />
Type: TSIG (Transaction Signature) (250)<br />
Class: ANY (0x00ff)<br />
Time to live: 0 (0 seconds)<br />
Data length: 58<br />
Algorithm Name: hmac-md5.sig-alg.reg.int<br />
Time Signed: Feb 11, 2020 11:55:51.000000000 CET<br />
Fudge: 300<br />
MAC Size: 16<br />
MAC<br />
[Expert Info (Warning/Undecoded): No dissector for algorithm:hmac-md5.sig-alg.reg.int]<br />
[No dissector for algorithm:hmac-md5.sig-alg.reg.int]<br />
[Severity level: Warning]<br />
[Group: Undecoded]<br />
Original Id: 56140<br />
Error: No error (0)<br />
Other Len: 0<br />
<Root>: type OPT<br />
Name: <Root><br />
Type: OPT (41)<br />
UDP payload size: 512<br />
Higher bits in extended RCODE: 0x00<br />
EDNS0 version: 0<br />
Z: 0x0000<br />
0... .... .... .... = DO bit: Cannot handle DNSSEC security RRs<br />
.000 0000 0000 0000 = Reserved: 0x0000<br />
Data length: 12<br />
Option: CSUBNET - Client subnet<br />
Option Code: CSUBNET - Client subnet (8)<br />
Option Length: 8<br />
Option Data: 000120000a011e18<br />
Family: IPv4 (1)<br />
Source Netmask: 32<br />
Scope Netmask: 0<br />
Client Subnet: 10.1.30.24<br /></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;"><br /></font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;"><br /></font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;"><br /></font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;"><br /></font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;"><br /></font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;"><br /></font></div>
<div dir="auto"><font face="Verdana, sans-serif" style="font-size: 13px;"><br /></font></div>
</div>
<div name="messageReplySection">On 11 Feb 2020 at 11:33 +0100, Remi Gacogne via Pdns-users , wrote:<br />
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #1abc9c;">Hi Marc,<br />
<br />
On 2/10/20 10:42 PM, Marc Boisis via Pdns-users wrote:<br />
<blockquote type="cite" class="spark_quote" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #e67e22;">Here is my config:<br />
[isc-dhcp] ----dns update---->[dnsdist--->pdns authoritative]<br />
the isc dhcp server(v4.4.2) send a dns update query with a tsig<br />
key(hmac-md5). (I see it with tcpdump/wireshark).<br />
When the authoritative get the request, it said : "UPDATE (9470) from<br />
127.0.0.1 for my-domain.com: TSIG key required, but packet does not<br />
contain key. Sending REFUSED"<br />
<br />
my dnsdist config is:<br />
<br />
|newServer({address='127.0.0.1:5300', pool='auth'})<br />
addAction(OpcodeRule(DNSOpcode.Update), PoolAction("auth") ) |<br />
<br />
my authoritative config:<br />
<br />
|allow-dnsupdate-from=127.0.0.0/8 dnsupdate=yes |<br />
<br />
I miss something  ?<br /></blockquote>
<br />
Would you mind sharing the exact versions of dnsdist and PowerDNS<br />
authoritative server you are using?<br />
<br />
Did you try capturing the packet leaving dnsdist toward the<br />
authoritative server to confirm that the TSIG key is still there? Your<br />
configuration does not require the addition of EDNS Client Subnet so<br />
dnsdist shouldn't be altering the packet at all, but it would be nice to<br />
know what the authoritative server actually receives.<br />
<br />
Best regards,<br />
--<br />
Remi Gacogne<br />
PowerDNS.COM BV - https://www.powerdns.com/<br />
<br />
<br />
_______________________________________________<br />
Pdns-users mailing list<br />
Pdns-users@mailman.powerdns.com<br />
https://mailman.powerdns.com/mailman/listinfo/pdns-users<br /></blockquote>
</div>
</body>
</html>