2020-10-27 09:06:17 +11:00
|
|
|
\chapter{Domain Name Service}
|
2020-11-10 12:40:30 +11:00
|
|
|
\label{chap:DNS}
|
2020-11-17 05:45:21 +11:00
|
|
|
\index{DNS}
|
|
|
|
|
|
|
|
% ------------------------------------------------------------
|
|
|
|
|
|
|
|
Le DNS est (pour simplifier) l'annuaire de l'Internet.
|
|
|
|
À la base, c''est lui
|
|
|
|
qui va permettre de connaitre l'adresse d'une machine ou d'un
|
|
|
|
service à partir de son nom. Un énorme progrès comparé à la
|
|
|
|
maintenance du fichier \texttt{/etc/hosts} qu'il fallait,
|
|
|
|
à la vieille époque, télécharger toutes les nuits\dots
|
|
|
|
|
2024-09-29 05:25:02 +11:00
|
|
|
Par contre, « \textit{C'est encore de la faute du DNS} »
|
|
|
|
est devenu, ces dernières années, une excuse crédible.
|
|
|
|
Il y a de nombreuses raisons qui justifient cette remarque.
|
|
|
|
|
2020-11-17 05:45:21 +11:00
|
|
|
% ------------------------------------------------------------
|
2020-10-27 09:06:17 +11:00
|
|
|
|
2020-11-04 20:12:10 +11:00
|
|
|
\section{Outils de base}
|
|
|
|
|
|
|
|
\subsection{host}
|
2020-10-27 09:06:17 +11:00
|
|
|
\index{host}
|
|
|
|
|
2021-01-20 14:53:48 +11:00
|
|
|
C'est vraiment la commande \textit{vanilla} pour tout ce qui touche
|
|
|
|
à la résolution de nom.
|
|
|
|
Elle propose les premières options de base,
|
2020-10-27 09:06:17 +11:00
|
|
|
avec une syntaxe facile à retenir. Elle existe, sous des formes
|
|
|
|
légèrement déviantes, dans une grande partie des
|
|
|
|
OS\footnote{même dans le sale, c'est dire.} existants de nos jours.
|
|
|
|
|
|
|
|
|
|
|
|
\begin{verbatim}
|
|
|
|
tth@plop:~ $ host sigfood.dinorama.fr
|
|
|
|
sigfood.dinorama.fr has address 91.121.221.123
|
|
|
|
tth@plop:~ $ host -t mx dinorama.fr
|
|
|
|
dinorama.fr mail is handled by 20 mx1.smeuh.org.
|
|
|
|
tth@plop:~ $
|
|
|
|
\end{verbatim}
|
|
|
|
|
|
|
|
Ces deux exemples sont encourageants. Est-il possible d'aller
|
|
|
|
plus loin ?
|
|
|
|
|
|
|
|
% ------------------------------------------------------------
|
|
|
|
|
2020-11-04 20:12:10 +11:00
|
|
|
\subsection {nslookup}
|
2020-10-27 09:06:17 +11:00
|
|
|
\index{nslookup}
|
|
|
|
|
|
|
|
\begin{quote}
|
|
|
|
Nslookup is a program to query Internet domain name
|
|
|
|
servers. Nslookup has two modes: interactive and
|
|
|
|
non-interactive. Interactive mode allows the user to query
|
|
|
|
name servers for information about various hosts and domains
|
|
|
|
or to print a list of hosts in a domain. Non-interactive mode
|
|
|
|
is used to print just the name and requested information for
|
|
|
|
a host or domain. »
|
|
|
|
\end{quote}
|
|
|
|
|
2020-11-17 05:45:21 +11:00
|
|
|
\begin{verbatim}
|
|
|
|
tth@tranxene:~$ nslookup -type=txt tetalab.org
|
|
|
|
Server: 80.67.169.12
|
|
|
|
Address: 80.67.169.12#53
|
|
|
|
|
|
|
|
Non-authoritative answer:
|
|
|
|
tetalab.org text = "v=spf1 ip4:89.234.156.223 -all"
|
|
|
|
|
|
|
|
Authoritative answers can be found from:
|
|
|
|
|
|
|
|
tth@tranxene:~$
|
|
|
|
\end{verbatim}
|
|
|
|
|
2020-10-27 09:06:17 +11:00
|
|
|
% ------------------------------------------------------------
|
|
|
|
|
2020-11-04 20:12:10 +11:00
|
|
|
\subsection{dig}
|
2020-10-27 09:06:17 +11:00
|
|
|
\index{dig}
|
|
|
|
|
2022-01-30 08:46:41 +11:00
|
|
|
% https://jvns.ca/blog/2021/12/04/how-to-use-dig/
|
|
|
|
|
2020-10-27 09:06:17 +11:00
|
|
|
Dig (\textit{domain information groper}) est un outil d'interrogation
|
|
|
|
des serveurs DNS. Par défaut, il questionne les serveurs
|
|
|
|
listés dans \texttt{/etc/resolv.conf}.
|
|
|
|
|
|
|
|
Pour résoudre récursivement un nom de domaine à partir de la racine :
|
2020-12-12 14:13:54 +11:00
|
|
|
\texttt{\$ dig +trace <nom.de.domaine>}
|
2020-10-27 09:06:17 +11:00
|
|
|
|
2020-12-12 14:13:54 +11:00
|
|
|
Pour obtenir le reverse d'une adresse IP :
|
|
|
|
\texttt{\$ dig +trace -x <adresse.ip>}
|
2020-10-27 09:06:17 +11:00
|
|
|
|
2022-01-30 08:46:41 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-10-27 09:06:17 +11:00
|
|
|
% ------------------------------------------------------------
|
2020-11-04 20:12:10 +11:00
|
|
|
% \subsection{delv}
|
|
|
|
% \index{delv}
|
|
|
|
%
|
2020-11-17 05:45:21 +11:00
|
|
|
% Nouvel outil en rapport avec DNSSEC\index{DNSSEC}.
|
2020-10-27 09:06:17 +11:00
|
|
|
% XXX
|
2020-11-04 20:12:10 +11:00
|
|
|
% \index{XXX}
|
2020-10-27 09:06:17 +11:00
|
|
|
% http://www.bortzmeyer.org/delv.html
|
|
|
|
% XXX
|
|
|
|
% ------------------------------------------------------------
|
|
|
|
|
2020-11-04 20:12:10 +11:00
|
|
|
\subsection{checkresolv}
|
2020-10-27 09:06:17 +11:00
|
|
|
|
|
|
|
|
2020-11-17 05:45:21 +11:00
|
|
|
Un outil très basique conçu et bricolé par Tonton~Th au siècle
|
|
|
|
dernier lors d'un séjour hivernal à Frontignan-plage.
|
|
|
|
Hélas, les sources
|
2021-01-20 14:53:48 +11:00
|
|
|
semblent définitivement perdues dans les ténèbres
|
|
|
|
de l'Undernet profond. Si quelqu'un a une piste\dots
|
2020-11-04 20:12:10 +11:00
|
|
|
|
2021-01-20 14:53:48 +11:00
|
|
|
Une ré-écriture s'impose, en repartant sur les mêmes bases.
|
|
|
|
En utilisant les mêmes fonctions qu'une application basique.
|
|
|
|
Peut-être aussi en lui trouvant un nom plus \textsl{fun}\dots
|
2020-10-27 09:06:17 +11:00
|
|
|
|
|
|
|
% ------------------------------------------------------------
|
2021-10-31 00:54:36 +11:00
|
|
|
\section{DHCP} \index{DHCP} \index{dhcpd}
|
2020-10-27 09:06:17 +11:00
|
|
|
|
2020-11-04 20:12:10 +11:00
|
|
|
\begin{quote}
|
|
|
|
The DHCP protocol allows a host to contact a central server which maintains a
|
|
|
|
list of IP addresses which may be assigned on one or more subnets. A DHCP
|
|
|
|
client may request an address from this pool, and then use it on a temporary
|
|
|
|
basis for communication on network.
|
|
|
|
\end{quote}
|
|
|
|
|
2021-01-20 14:53:48 +11:00
|
|
|
Question : comment peut-on « écouter » les requètes et les réponses
|
|
|
|
DHCP sur notre réseau local pour détecter le rogue-machin ?
|
|
|
|
Probablement avec \texttt{tcpdump}\index{tcpdump},
|
|
|
|
et c'est à l'essai
|
|
|
|
dans la page \pageref{tcpdump}.
|
|
|
|
|
2021-10-31 00:54:36 +11:00
|
|
|
Un compagnon privilégié du DHCP est le système PXE\index{PXE}
|
|
|
|
qui permet de \textsl{booter} des images ISOs stockées sur
|
|
|
|
un serveur du réseau local.
|
|
|
|
|
|
|
|
% https://www.geoffray-levasseur.org/tutoriels-2/un-pxe-pour-les-unir-tous/
|
|
|
|
|
2020-11-04 20:12:10 +11:00
|
|
|
% ------------------------------------------------------------
|
2020-10-27 09:06:17 +11:00
|
|
|
\section{dnsmasq}
|
|
|
|
\index{dnsmasq}
|
|
|
|
|
|
|
|
\begin{quote}
|
|
|
|
dnsmasq is a lightweight DNS, TFTP and DHCP server. It is intended to
|
|
|
|
provide coupled DNS and DHCP service to a LAN.
|
|
|
|
\end{quote}
|
|
|
|
|
2020-11-17 05:45:21 +11:00
|
|
|
% ------------------------------------------------------------
|
2020-10-27 09:06:17 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|