Samedies

Femmes et logiciels libres


Accueil du site > Notes > Atelier dns et dhcp

21 avril 2007

Atelier dns et dhcp

De la pratique avec Céline et Diane

ces notes concernent l’installation et la configuration de dns, dhcp. Profitez en avec nous car il y a des resultats précis et exhaustifs de commandes, mais ces notes ne montrent que nos travaux, cheminements et questionnements. Elles ne constituent nullement un manuel ou un tutorial....


Partie I Réseau et dhcp

Configurer une adresse ip fixe sous Linux

pour chaque machine on peut changer son adresse ip

Mode graphique :

Ubuntu : System > Administration > Networking > Propriété >

- dhcp : le serveur nous attribue une ip automatiquement
- statique : on la fixe nous-même. C’est ce qui nous intéresse ici.

En ligne de commande :
- $ ifconfig eth0 192.168.3.161 netmask 255.255.254.0

eth0 : carte réseau éthernet ; netmask : pour interface3 le masque est 255.255.254.0 - explications plus bas dans la page

Choix dans un réseau d’installer un serveur dhcp ou de distribuer manuellement des ip fixes :
- ip fixes : pour des questions de rapidité, donc souvent utilisées pour les serveurs d’un réseau
- en outre, questions de sécurité : contrôler ce que fait chaque machine sur le réseau.

- dhcp : pas devoir configurer chaque machine manuellement, fastidieux à partir d’un certain nombre de machines.

Edition du fichier de configuration /etc/network/interfaces

Autre manière, moins volatile, en ligne de commande, il s’agit d’éditer le fichier /etc/network/interfaces :

coup d’oeil au fichier de configuration par défaut d’ubuntu
- $ vi /etc/network/interfaces
- auto lo = loopback, adresse interne, 127.0.0.1, pas toucher !
- iface lo inet loopback
- auto eth0
- iface eth0 inet dhcp
- auto eth1
- iface eth1 inet dhcp
- auto eth2
- iface eth2 inet dhcp
- auto ath0
- iface ath0 inet dhcp
- auto wlan0 = wifi
- iface wlan0 inet dhcp

- * eth = cartes réseau ethernet (câble). Si plusieurs cartes, eth0, 1, 2

Parenthèse : certaines disent qu’elles ont le wifi sur eth1, d’autres s’insurgent... à investiguer ! souvent le nommage des cartes wifi est wlan0, ou rausb0 (ou autre nom exotique) etc ... mais ce n’est qu’une convention de tel noyau de telle ou telle distribution. Après vérification, il y a des cartes wifi nommées eth1, eth2

Si on veut mettre une adresse statique, dans le fichier de configuration /etc/network/interfaces

- auto eth0
- iface eth0 inet dhcp"

devient :

- auto eth0
- iface eth0 inet static
- address 192.168.3.161 -> cette machine
- netmask 255.255.255.0 -> ce sont les 3 premiers octets qui vont identifier le réseau
- network 192.168.3.0 -> adresse du réseau
- gateway 192.168.3.252 -> passerelle

Passerelle (gateway- : adresse interne du routeur. On indique à cette machine l’adresse du routeur pour qu’elle puisse envoyer en dehors du réseau local (et aller dans internet par exemple).

Le routeur a (au moins) 2 interfaces réseau : une sur le réseau local, une qui va vers internet, avec une adresse publique.

Masque : là où il y a des 255, l’ordi va convertir en 11111111, donc il interprete que cet octet fait partie de l’adresse réseau. Quand il voit 0, il sait que c’est partie de l’adresse de host, une machine. Puis il compare le masque à une adresse ip. Ici, avec 255.255.255.0, le dernier octet donne le numéro d’hôte (machine) et les trois premiers l’adresse du réseau.

remarque : si le masque est 255.255.254.0 (comme à interface3), le troisième octet est 11111110, la comparaison nous laisse le dernier bit pour les numéros de machine en plus du quatrième octet, et on peut avoir deux fois plus de machines (510 ?)

Puis il faut relancer le service :
- $ /etc/init.d/networking restart

La commande ping !
- $ ping domainepublic.net
- PING domainepublic.net (62.58.108.140) 56(84) bytes of data.

  • 64 bytes from customer-colocation-collectif-1.all2all.org (62.58.108.140) : icmp_seq=1 ttl=54 time=176 ms
  • 64 bytes from customer-colocation-collectif-1.all2all.org (62.58.108.140) : icmp_seq=3 ttl=54 time=309 ms
  • 64 bytes from customer-colocation-collectif-1.all2all.org (62.58.108.140) : icmp_seq=4 ttl=54 time=258 ms
  • 64 bytes from customer-colocation-collectif-1.all2all.org (62.58.108.140) : icmp_seq=5 ttl=54 time=259 ms
  • 64 bytes from customer-colocation-collectif-1.all2all.org (62.58.108.140) : icmp_seq=6 ttl=54 time=229 ms
  • --- domainepublic.net ping statistics ---
  • 14 packets transmitted, 12 received, 14% packet loss, time 13039ms rtt min/avg/max/mdev = 169.663/267.684/340.882/54.654 ms-’

Donc, ping permet de connaître l’adresse ip d’une machine du serveur + le temps de réponse. ping fonctionne aussi avec l’adresse ip
- $ ping 62.58.108.140

TCP : transfert control protocol, vérifier que l’information est arrivée au bon endroit et dans le bon ordre

IP : gère l’adressage pour mener la requête de l’expéditeur au destinataire.

DHCP Dynamic Host Configuration Protocol : le serveur dhcp est un serveur qui distribue des ip dynamiques aux machines qui se connectent au réseau.

Parfois dans les réseaux, c’est un routeur qui a un serveur dhcp installé, parfois c’est n’importe quelle machine du réseau. cf. requêtes broadcast : la demande est envoyée à tous les ordis du réseau, seul le serveur dhcp sait qu’il doit répondre.

Le serveur dhcp a une ip fixe, au moins du côté du réseau local.

DNS Domaine name server

Tous les clients doivent avoir une adresse de dns configurée, quand ils cherchent samedi.collectifs.net, ils doivent savoir où s’adresser pour résoudre le nom en adresse ip.

Jeter un coup d’oeil à la configuration d’une machine client (pour DNS)
- $ vi /etc/resolv.conf
- search willow.if3 le serveur dns d’interface3
- nameserver 192.168.3.16

Rappel : il est plus facile de retenir des noms que des adresses ip. Ex. google plutot que 64.233.183.147

Le DNS s’occupe de la traduction entre le nom de domaine et l’adresse ip.

Ex. de nom de domaine : samedi.collectifs.be

On demande à un type dans la rue : est-ce que tu connais .be Non, mais va voir chez mon chef, c’est lui qui gère les .be Salut chef, est-ce que tu connais .be ? Oui. Est-ce que tu connais collectifs ? Oui. Est-ce que tu connais samedi ? Non, mais va voir chez collectifs. etc.

DNS sous linux

Sous Linux, pour créer son serveur dns, on utilise le paquet bind9 On va travailler avec 4 fichiers de configuration. dans le répertoire /etc/bind/ Et ne pas oublier de se mettre en ip fixe (modifier le fichier /etc/network/interfaces)

Installation de bind9

Eventuellement vérifier si le paquet bind9 n’est pas déjà installé avec la commande dpkg -l bind9
- root@ubuntu :/home/ubuntu# dpkg -l bind9

Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err ?=(none)/Hold/Reinst-required/X=both-problems (Status,Err : uppercase=bad)

+++-===========-=============-========

un bind9 (no description available)

un (uninstalled) nous signale l’état de ce paquet. donc installation de bind9 root@ubuntu :/home/ubuntu# apt-get install bind9

Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages : bind9-doc The following NEW packages will be installed : bind9 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 300kB of archives. After unpacking 741kB of additional disk space will be used. Get:1 http://archive.ubuntu.com edgy/main bind9 1:9.3.2-2ubuntu3 [300kB] Fetched 300kB in 7s (37.9kB/ s) Selecting previously deselected package bind9. (Reading database ... 96582 files and directories currently installed.) Unpacking bind9 (from .../bind9_1%3a9.3.2-2ubuntu3_i386.deb) ... Setting up bind9 (9.3.2-2ubuntu3) ... Adding group `bind’ (115)... Done. Adding system user `bind’ with uid 109... Adding new user `bind’ (109) with group `bind’. Not creating home directory `/var/cache/bind’. wrote key file "/etc/bind/rndc.key" * Starting domain name service...

(après l’installation, le service dns est lancé en arrière fond)

Configuration de bind9

Visualisations des fichiers de configuration de bind : ils se trouvent dans le répertoire /etc/bind dont

* /etc/bind/named.conf * /e/etc/bind/db.0 * /etc/bind/db.127 * /etc/bind/db.255 * /etc/bind/named.conf.local

$ nano /etc/bind/named.conf c’est le fichier de configuration principal : Zones : localhost = ma machine, 255 = broadcast : pas toucher.

Restent donc :

zone "127.in-addr.arpa"

type master ; file "/etc/bind/db.127" ;

 ;

zone "0.in-addr.arpa"

type master ; file "/etc/bind/db.0" ;

 ;

exemple personnalisé : zone "artemis.be"

type master ; file "/etc/bind/db.artemis.be" ; ;

explication :

* type master : Cette ligne indique que le serveur est le serveur principal de ce domaine. * après file on indique le nom du fichier que nous allons créer et utiliser : ce sera un fichier de configuration secondaire.

$ nano /etc/bind/named.conf.local

Autre fichier de configuration pour réglages locaux. Ex. lier des noms à des ip, donner des alias (deux noms pour un ip).

*

analyse d’un exemple de fichier db.255

@ IN SOA localhost. root.localhost. ( ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL

ce fichier montre la "syntaxe à suivre". Comment l’utiliser ?

* @ sera remplace par adresse de l’hote (exemple une machine ayant ip 192.168.3.4 (et masque 255.255.255.0 ) on mettra 4 * localhost sera remplacé par le nom de la machine * root. par le nom de domaine considéré

Les commandes d’interrogation de serveur dns

la commande nslookup (qui fait partie du paquet dnsutils) donne des infos sur un serveur dns

$ nslookup www.google.com

Server : 212.68.193.110 Address : 212.68.193.110#53 Non-authoritative answer : www.google.com canonical name = www.l.google.com. Name : www.l.google.com

Address : 64.233.183.99 Name : www.l.google.com Address : 64.233.183.103 Name : www.l.google.com Address : 64.233.183.104 Name : www.l.google.com Address : 64.233.183.147

$- nslookup domainepublic.net

Server : 212.68.193.196 Address : 212.68.193.196#53 Non-authoritative answer : Name : domainepublic.net Address : 62.58.108.14-0

(rq petit échange ; le serveur dns de domaine public est il bien configuré ? réponse oui, aussi bien que celui de google mais avec juste un serveur sur une machine)

une femme avertie en vaut deux !



Logo ada | RSS 2.0 | SPIP | Squelettes | Espace privé | Plan du site