Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PowerDNS PowerDNS
1
What‘s all this about?
A DNS recap
What is EDNS?
2
Introduction
whoami
Pieter Lexis
1
Shameless plug: https://repo.powerdns.com/
3
PowerDNS
• Founded in 1999
• Open Source since 2002
• Part of Open-Xchange since 2015
• Commercial support, deployment, and development of
• PowerDNS Open-Source products
• “PowerDNS Platform”
4
What‘s all this about?
What?
5
Who?
6
Why?
7
A DNS recap
The DNS – In a few minutes
2
https://powerdns.org/dns-camel/
8
The DNS – Key points
• Query-response protocol
• Maps hierarchical names to data
• Transport via UDP/53 and TCP/53 (other transports exist)
• Potentially the most fundamental Internet protocol
9
The DNS – Message flow
[ Program ]
^ +---------------+
| (libc) | Authoritative |
v +-----------+ <==> | server |
+---------------+ | Recursive | +---------------+
| Stub resolver | <==> | resolver | +---------------+
+---------------+ +-----------+ <==> | Authoritative |
| server |
+---------------+
<==> DNS
<--> Not DNS
10
The DNS – Packets
11
The DNS – Packet Header
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| Opcode |AA|TC|RD|RA| |AD|CD| RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QDCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ANCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| NSCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
12
The DNS – Common RCODEs
13
The DNS – Observations
14
What is EDNS?
EDNS – What is it?
15
EDNS – History
16
EDNS – The one-slide summary
17
EDNS – OPT record
18
EDNS – Technologies Using EDNS
Flag-based
EDNS Options
Key-Value pairs with their own semantics.
Unknown options are ignored by responders.
19
EDNS – What does it look like?
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
20
EDNS – What does an option look like?
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 1680
; NSID: 70 64 6e 73 2d 70 75 62 6c 69 63 2d 6e 73 32 2e 70
6f 77 65 72 64 6e 73 2e 63 6f 6d ("pdns-public-ns2.powerdns.com")
21
Issues with EDNS on the internet
EDNS Issues – Improper implementation
Things seen
22
EDNS Issues – Broken responses
Things seen
23
EDNS Issues – Handling Unknown Parameters
Things seen
24
EDNS Issues – Workarounds
25
Forcing EDNS Compliance
Workaround Removal – Why
• DNS is complex
• Many interactions between features3
• Too much complexity in name servers already
• EDNS is 19 (or 6) years old
3
https://blog.powerdns.com/2018/03/22/
the-dns-camel-or-the-rise-in-dns-complexit/
26
Workaround Removal – How
4
https://en.blog.nic.cz/2018/03/14/
together-for-better-stability-speed-and-further-extensibility-of-the-dns-ecosystem/
27
What can you do?
What can you do?
28
EDNS Compliance Tester
https://ednscomp.isc.org/ednscomp/
29
EDNS Compliance Tester – loadays.org
30
EDNS Compliance Tester – google.com
31
EDNS Compliance Tester – mateksys.com
32
Conclusion
In Conclusion
33
Test your domains
Questions?
Thanks!