~ubuntu-branches/ubuntu/precise/zonecheck/precise

« back to all changes in this revision

Viewing changes to contrib/presentations/OARC-2006/zonecheck.tex

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Delafond
  • Date: 2009-10-10 11:40:59 UTC
  • mto: This revision was merged to the branch mainline in revision 6.
  • Revision ID: james.westby@ubuntu.com-20091010114059-tnpi531yvdr5329q
Tags: upstream-2.0.4+cvs20081105
Import upstream version 2.0.4+cvs20081105

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
\include{parameters}
 
2
\usetheme{AFNIC}
 
3
\usepackage[english]{babel}
 
4
\usepackage[latin1]{inputenc}
 
5
\usepackage[T1]{fontenc}
 
6
\usepackage{bortzmeyer-utils}
 
7
 
 
8
\title{Zonecheck, testing a DNS zone}
 
9
\author{St�phane Bortzmeyer\\AFNIC ("\texttt{.fr}" registry)\\\texttt{bortzmeyer@nic.fr}}
 
10
\date{16 november 2006}
 
11
 
 
12
%\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex} 
 
13
% \setlength{\parskip}{15pt} 
 
14
\setlength{\parskip}{15pt plus 10pt minus 10pt} 
 
15
 
 
16
\begin{document}
 
17
 
 
18
\maketitle
 
19
 
 
20
\begin{frame}
 
21
  \titlepage
 
22
\end{frame}
 
23
 
 
24
\begin{frame}[fragile]
 
25
 Permission is granted to copy, distribute and/or modify this document
 
26
      under the terms of the GNU Free Documentation License \url{http://www.gnu.org/licenses/licenses.html#FDL}, Version 1.2
 
27
      or any later version published by the Free Software Foundation;
 
28
      with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  
 
29
\end{frame}
 
30
 
 
31
\begin{frame}
 
32
\frametitle{Why test a DNS zone?}
 
33
 
 
34
\begin{itemize}
 
35
\item<2->To make sure it works,
 
36
\item<3->To make sure it works fast (no timeouts or retransmissions).
 
37
\end{itemize}
 
38
 
 
39
\begin{block}<4>{It is not because ``it works'' that everything is
 
40
      perfect.}{See Ilya Sukhar's slides about the consequences of bad
 
41
      delegation.}\end{block}
 
42
\end{frame}
 
43
 
 
44
\begin{frame}
 
45
  \frametitle{The requirements}
 
46
We started designing the new Zonecheck in 2002 (version 2, a program by
 
47
the same name, but completely different, existed before).
 
48
 
 
49
The requirements for the new version were:
 
50
 
 
51
\begin{itemize}
 
52
\item<2->Command-line (so it can be run everywhere) and Web tool,
 
53
\item<3->Free software,
 
54
\item<4->General tool, not a small ad-hoc hack,
 
55
\item<5->Separated policy and engine (more on that later).
 
56
\end{itemize}
 
57
  
 
58
\end{frame}
 
59
 
 
60
\begin{frame}
 
61
\frametitle{The result}  
 
62
\begin{itemize}
 
63
\item<2->Developed by St�phane d'Alu,
 
64
\item<3->Written in Ruby,
 
65
\item<4->Available under the GPL free licence, a very important point,
 
66
  since it allows people to run it at their site and to do the same
 
67
  tests as AFNIC does (administrators of zones under
 
68
  ``.fr'' are encouraged to run ZC before submitting their
 
69
  request for creation/modification),
 
70
\item<5->Hosted at the hosting service Savannah,
 
71
\item<6->Completely IPv4 and IPv6,
 
72
\item<7->Used in daily production at AFNIC since.
 
73
\end{itemize}
 
74
\end{frame}
 
75
 
 
76
\begin{frame}
 
77
\frametitle{Engine, not policy}  
 
78
\begin{block}{Zonecheck is an engine, not a policy}{This is
 
79
    probably the main feature of Zonecheck: unlike all the other
 
80
    similar tools, the policy is not hardwired in the
 
81
    code.}\end{block}
 
82
 
 
83
\only<2->{The code defines all the tests you \emph{can} run, the
 
84
  configuration file defines the subset of the tests that you \emph{do} run and their
 
85
  result (fatal error or just a warning).}
 
86
 
 
87
\end{frame}
 
88
 
 
89
\begin{frame}[fragile]
 
90
\frametitle{Example of configuration}  
 
91
\begin{info}
 
92
      <check name="icmp" severity="w" category="connectivity:l3"/>
 
93
      <check name="udp"  severity="f" category="connectivity:l4"/>
 
94
      <check name="tcp"  severity="f" category="connectivity:l4"/>
 
95
\end{info}
 
96
\only<2->{A program can translate this configuration file to HTML, for
 
97
the information of the users.}
 
98
\end{frame}
 
99
 
 
100
\begin{frame}
 
101
  \frametitle{Using it to check delegations from a registry}
 
102
AFNIC uses Zonecheck \emph{prior} to every delegation. One fatal error
 
103
and the domain is not created. (Every name server change triggers a
 
104
Zonecheck, too.)
 
105
 
 
106
\only<2-3>{The policy is quite strict. A few examples:
 
107
  \begin{itemize}
 
108
    \item TCP connectivity is mandatory,
 
109
    \item If the server is recursive, a lot of tests occur (such as
 
110
    whether the loopback address is delegated in in-addr.arpa).
 
111
  \end{itemize}
 
112
}
 
113
 
 
114
\only<3->{As a side effect, this creates a
 
115
  large number of support tickets (that may be used to measure the
 
116
  current skills level of some registrars :-) and (without smiley) the
 
117
  current level of competence of many DNS administrators}
 
118
 
 
119
\only<4->{But it makes a much better zone and strongly diminishes the
 
120
  post-registration complaints of the type ``My site does not work''.}
 
121
\end{frame}
 
122
 
 
123
\begin{frame}
 
124
\frametitle{Lessons for IANA checks}
 
125
Context: IANA asks for comments about delegation checks
 
126
(\url{http://www.icann.org/announcements/announcement-18aug06.htm}).
 
127
 
 
128
[Generally speaking, the quality of DNS delegation is a very common
 
129
issue today.]
 
130
 
 
131
\only<2->{Many registries (CENTR, ccNSO) asked that such tests must be clearly
 
132
  described, and executed in a predictable way. An automatic tool,
 
133
  such as Zonecheck, fulfills these requirements.}
 
134
 
 
135
\only<3->{Remember that using Zonecheck does not mean using AFNIC policy.}
 
136
  
 
137
\end{frame}
 
138
 
 
139
\begin{frame}
 
140
\frametitle{Future tests?}
 
141
\begin{itemize}
 
142
\item DNSsec tests (see Eric Osterweil's slides)
 
143
\item ``OR'' tests: ``at least M among N nameservers'', ``TCP or
 
144
  EDNS0'', \ldots
 
145
\end{itemize}
 
146
\end{frame}
 
147
 
 
148
\begin{frame}
 
149
\frametitle{Other users}
 
150
\begin{itemize}
 
151
  \item \url{.de}
 
152
  \item \url{.ch}
 
153
  \item \url{.no}
 
154
\end{itemize}
 
155
 
 
156
\begin{block}<2->{Tomorrow, you?}{\url{http://www.zonecheck.fr/}}\end{block}
 
157
 
 
158
\end{frame}
 
159
 
 
160
\end{document}