bon, voici ma config, je vais ajouter une petite explication pour les machines permettant de savoir qui fait quoi :
Configuration SERVEUR :
/etc/dhcpd.conf (fichier de config du serveur dhcp)
Code :
- ddns-rev-domainname "in-addr.arpa";
- ddns-domainname "K-TEAM";
- option domain-name "K-TEAM";
- option swap-server 10.0.0.1;
- option log-servers 10.0.0.1;
- option netbios-name-servers 10.0.0.1;
- option routers 10.0.0.1;
- ddns-updates on;
- server-name "SERVEURADSL";
- option domain-name-servers 10.0.0.1;
- option broadcast-address 10.0.0.255;
- option subnet-mask 255.0.0.0;
- ddns-update-style interim;
- allow client-updates;
- subnet 10.0.0.0 netmask 255.0.0.0 {
- ddns-rev-domainname "in-addr.arpa";
- ddns-domainname "K-TEAM";
- option domain-name "K-TEAM";
- option swap-server 10.0.0.1;
- option log-servers 10.0.0.1;
- option routers 10.0.0.1;
- option netbios-name-servers 10.0.0.1;
- ddns-updates on;
- server-name "SERVEURADSL";
- option broadcast-address 10.0.0.255;
- range 10.0.0.2 10.0.0.30;
- option domain-name-servers 10.0.0.1;
- option subnet-mask 255.0.0.0;
- allow unknown-clients;
- ddns-update-style interim;
- allow client-updates;
- }
- allow unknown-clients;
|
Nom de domaine : K-TEAM
Serveur DHCP : 10.0.0.1 / SERVEURADSL (IP fixe bien sûr)
IP allouées : de 10.0.0.30 à 10.0.0.2 (ça va dans le sens décroissant au niveau attribution, pour le moment j'ai limité, mais je devrais agrandir l'échelle peu à peu)
Domaine DDNS : zone K-TEAM (le fichier qui serra mis à jour dans le sens IP->Nom
Domaine DDNS inverse : in-addr.arpa (le serveur s'occupant d'y ajouter l'IP inversée de la machine, exemple : 30.0.0.10.in-addr.arpa)
Mode de màj DDNS : interim (conseillé par ICS pour les nouvelles versions de dhcpd, avant c'était "ad-hoc" qui, est d'après ce que j'ai compris, plus utilisé)
/etc/named.conf (fichier de config du serveur bind dns)
Code :
- ## named.conf - configuration for bind
- #
- # Generated automatically by redhat-config-bind, alchemist et al.
- # Any changes not supported by redhat-config-bind should be put
- # in /etc/named.custom
- #
- controls {
- inet 127.0.0.1 allow { any; localhost; } keys { rndckey; };
- inet 10.0.0.1 allow { any; localhost; } keys { rndckey; };
- };
- acl "clients-dhcp" {
- 10.0.0.1;
- 127.0.0.1;
- };
- acl "internals" {
- 10.0.0.1;
- 127.0.0.1;
- };
- include "/etc/named.custom";
- include "/etc/rndc.key";
- options {
- directory "/var/named/";
- };
- zone "." {
- type hint;
- file "named.ca";
- };
- zone "0.0.10.in-addr.arpa" {
- type master;
- file "0.0.10.in-addr.arpa.zone";
- allow-update { internals; 10.0.0.0/8; };
- };
- zone "K-TEAM" {
- type master;
- file "K-TEAM.zone";
- allow-update { internals; 10.0.0.1; 127.0.0.1; };
- forwarders { };
- };
|
bon là il n'y a pas vraiment besoin d'expliquer, dans ma config il y a quelques options inutiles que j'ai inséré pour le portage sur une autre machine du réseau qui pourra servir à son tour de serveur DHCP/DNS au besoin
/etc/named.custom (fichier esclave de config du serveur bind dns)
Code :
- vide, je ne l'ai pas utilisé, j'en parle juste pour ceux qui se demandent ce qu'ils avaient à mettre dedans
|
/etc/rndc.key (fichier esclave de config du serveur bind dns contenant la clé d'accès)
Code :
- key "rndckey" {
- algorithm hmac-md5;
- secret "GROSSE_CLE_AVEC_DES_CARACTERES_ALPHA_NUMERIQUES";
- };
|
pour éviter des actions d'exploitation à distance de votre serveur dns, le cryptage d'une clé d'accès est automatiquement créé par bind... bon à ce niveau de la configuration, c'est un peu comme vous le sentez, moi j'ai inséré les droits d'accès au serveur directement dans le fichier named.conf, mais rien ne vous empêche de mettre ces droits dans le fichier de la clé, de toutes façons, du moment que dans named.conf vous mettez include "/etc/fichier.à.parser"; tout sera pris en compte, vous pouvez même créer 50 fichiers avec seulement un bloc config dedans et les disperser sur le disque si vous êtes bien paranos :D (toujours faut-il que les droits soient corrects et que chaque fichier soit lié par "include ...."
/var/named/named.ca (fichier de zone des root-servers pour le forward dns)
Code :
- ; This file holds the information on root name servers needed to
- ; initialize cache of Internet domain name servers
- ; (e.g. reference this file in the "cache . <FILE>"
- ; configuration file of BIND domain name servers).
- ;
- ; This file is made available by InterNIC registration services
- ; under anonymous FTP as
- ; file /domain/named.root
- ; on server FTP.RS.INTERNIC.NET
- ; -OR- under Gopher at RS.INTERNIC.NET
- ; under menu InterNIC Registration Services (NSI)
- ; submenu InterNIC Registration Archives
- ; file named.root
- ;
- ; last update: Sep 1, 1995
- ; related version of root zone: 1995090100
- ;
- ;
- . 3600000 IN NS A.ROOT-SERVERS.NET.
- A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
- . 3600000 NS B.ROOT-SERVERS.NET.
- B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
- . 3600000 NS C.ROOT-SERVERS.NET.
- C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
- . 3600000 NS D.ROOT-SERVERS.NET.
- D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
- . 3600000 NS E.ROOT-SERVERS.NET.
- E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
- . 3600000 NS F.ROOT-SERVERS.NET.
- F.ROOT-SERVERS.NET. 3600000 A 39.13.229.241
- . 3600000 NS G.ROOT-SERVERS.NET.
- G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
- . 3600000 NS H.ROOT-SERVERS.NET.
- H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
- . 3600000 NS I.ROOT-SERVERS.NET.
- I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
- ; End of File
|
[g]Note : d'origine, aucune modification à apporter
/var/named/K-TEAM.zone (fichier de zone master de mon domaine)
Code :
- $ORIGIN .
- $TTL 86400 ; 1 day
- K-TEAM IN SOA K-TEAM. bmo.SERVEURADSL.K-TEAM. (
- 106 ; serial
- 28800 ; refresh (8 hours)
- 7200 ; retry (2 hours)
- 604800 ; expire (1 week)
- 86400 ; minimum (1 day)
- )
- NS K-TEAM.
- A 10.0.0.1
- $ORIGIN K-TEAM.
- $TTL 21600 ; 6 hours
- BMO A 10.0.0.30
- TXT "00bb878a9afc1583b81fc7c51f78492543"
- bmo-2 A 10.0.0.29
- TXT "31b2a20554ff090314a3acf12a9be384a8"
- DIVXBOX A 10.0.0.28
- TXT "00d58ef274c9af8ca634620a5a141d9fc2"
- SERVEURADSL A 10.0.0.1
|
bmo.SERVEURADSL.K-TEAM. : tout simplement mon adresse e-mail sur le serveur (cet utilisateur existe sur la machine, possède un compte mail fourni par postfix)
tout ce qui suit le "$TTL 21600 ; 6 hours" est automatiquement ajouté par le DDNS DHCP, sauf que pour permettre la résolution du nom du serveur DHCP/DNS, j'ai ajouté : "SERVEURADSL A 10.0.0.1", ici il ne faut pas rentrer le nom de domaine derrière le nom de la machine, chose que webmin veut absolument faire, donc au moment de la résolution, le serveur finit par chercher BMO.K-TEAM.K-TEAM au lieu de BMO.K-TEAM parce que webmin ajoute le domaine tout seul, du genre "BMO.K-TEAM." (et oui ! avec un "." à la fin en plus) comme nom de machine au lieu de "BMO" tout simplement, donc attention sur les fichiers de zones avec webmin ! préférez directement l'insertion à la main en éditant le fichier de zone plutôt que d'utiliser webmin qui par contre s'occupe très bien de la config générale, mais pas trop bien des zones
/var/named/0.0.10.in-addr.arpa.zone (fichier de zone master inverse de mon réseau)
Code :
- $ORIGIN .
- $TTL 86400 ; 1 day
- 0.0.10.in-addr.arpa IN SOA 0.0.0.10.in-addr.arpa. bmo.SERVEURADSL.0.0.10.in-addr.arpa. (
- 83 ; serial
- 28800 ; refresh (8 hours)
- 7200 ; retry (2 hours)
- 604800 ; expire (1 week)
- 86400 ; minimum (1 day)
- )
- NS K-TEAM.
- $ORIGIN 0.0.10.in-addr.arpa.
- 1 PTR SERVEURADSL.
- $TTL 21600 ; 6 hours
- 27 PTR BMO.K-TEAM.
- 28 PTR DIVXBOX.K-TEAM.
- 29 PTR bmo-2.K-TEAM.
- 30 PTR BMO.K-TEAM.
|
quelques explications vont s'imposer :
"0.0.10.in-addr.arpa IN SOA 0.0.0.10.in-addr.arpa." : le 1er est la zone, le dernier l'adresse du réseau inverse
"bmo.SERVEURADSL.0.0.10.in-addr.arpa." : mon adresse e-mail sur le serveur en adressage inverse
alors ici on a un bel exemple de "bail dns" sauvegardé mais qui n'est plus utilisé, ceci suite à un problème sur la machine BMO entre win2k et Linux :
"30 PTR BMO.K-TEAM." : mon bail standard, obtenu à la première connexion au serveur dhcp sous Linux
"27 PTR BMO.K-TEAM." : mon bail obtenu sous Linux suite à un passage sous win2k, en effet, win n'éxécute pas de "ipconfig /release" lorsque l'on quitte, donc le serveur dhcp (et dns par la même occasion) conserve ce bail jusqu'à son expiration, le serveur dns n'ayant pas reçu de nouvelle notification de mise à jour pour cette IP (ce qui n'est pas tout à fait normal vu que le serveur dhcp envoit une notification de déconnexion au serveur dns pour supprimer la résolution, en fait je sais d'où ça vient, le noyau précédent de mon serveur était buggé (noyau rawhide) et certains démons s'arrêtaient et les tâches cron partaient en sucette :D), celui-ci l'a conservé, mais ceci ne pose pas de gros problème car même si l'IP est enregistrée dans le fichier, il sera impossible d'y accéder, mais par contre de la résoudre malgré le fait que la machine n'est pas connectée, donc il est préférable de la supprimer pour éviter des problèmes de résolutions foireuses
à ces fichiers de zone viennent s'ajouter des fichiers journaux "NOM_DE_LA_ZONE.zone.jnl" servant de tampon de sauvegarde si un crash du système empêchait l'enregistrement des "baux dns" (comme fait dhcpd dans le fichier dhcpd.lease servant à conserver toutes les traces des attributions, je ne posterais pas ces fichiers journaux étant donné que ceux-ci ne contiennent rien de vraiment intelligible, on y retrouve le nom de la machine suivis de sa clé TXT pour les droits d'update dns (au sujet des clé d'enregistrement texte "TXT", ces clés sont automatiquement créées lors de la connexion au serveur, donc ne vous cassez pas la tête avec ça), juste pour vous montrer à quoi "doit" ressembler un fichier dhcpd.leases :
/var/lib/dhcpd/dhcpd.leases (fichier créé par le serveur dhcpd, ne pas modifier sauf en cas de nécessité (ex.: modifier l'attribution d'une IP)
Code :
- # All times in this file are in UTC (GMT), not your local timezone. This is
- # not a bug, so please don't ask about it. There is no portable way to
- # store leases in the local timezone, so please don't request this as a
- # feature. If this is inconvenient or confusing to you, we sincerely
- # apologize. Seriously, though - don't ask.
- # The format of this file is documented in the dhcpd.leases(5) manual page.
- # This lease file was written by isc-dhcp-V3.0pl1
- lease 10.0.0.26 {
- starts 6 2003/03/22 12:15:46;
- ends 0 2003/03/23 00:15:46;
- tstp 0 2003/03/23 00:15:46;
- binding state free;
- hardware ethernet 00:80:5f:fc:12:dd;
- client-hostname "BMO-DB";
- }
- lease 10.0.0.25 {
- starts 0 2003/03/23 20:59:22;
- ends 1 2003/03/24 08:59:22;
- tstp 1 2003/03/24 08:59:22;
- binding state free;
- hardware ethernet 00:03:47:b9:b1:bc;
- uid "\001\000\003G\271\261\274";
- client-hostname "kne21zf9";
- }
- lease 10.0.0.30 {
- starts 1 2003/03/24 08:31:04;
- ends 1 2003/03/24 20:31:04;
- binding state active;
- next binding state free;
- hardware ethernet 00:20:18:8f:34:43;
- set ddns-rev-name = "30.0.0.10.in-addr.arpa";
- set ddns-txt = "00bb878a9afc1583b81fc7c51f78492543";
- set ddns-fwd-name = "BMO.K-TEAM";
- client-hostname "BMO";
- }
- lease 10.0.0.28 {
- starts 1 2003/03/24 11:24:54;
- ends 1 2003/03/24 23:24:54;
- binding state active;
- next binding state free;
- hardware ethernet 00:50:fc:7a:03:47;
- set ddns-fwd-name = "DIVXBOX.K-TEAM";
- set ddns-txt = "00d58ef274c9af8ca634620a5a141d9fc2";
- set ddns-rev-name = "28.0.0.10.in-addr.arpa";
- client-hostname "DIVXBOX";
- }
- lease 10.0.0.29 {
- starts 1 2003/03/24 13:32:34;
- ends 2 2003/03/25 01:32:34;
- binding state active;
- next binding state free;
- hardware ethernet 00:50:fc:57:85:14;
- uid "\001\000P\374W\205\024";
- set ddns-fwd-name = "bmo-2.K-TEAM";
- set ddns-txt = "31b2a20554ff090314a3acf12a9be384a8";
- set ddns-rev-name = "29.0.0.10.in-addr.arpa";
- client-hostname "bmo-2";
- }
- lease 10.0.0.30 {
- starts 1 2003/03/24 13:38:16;
- ends 2 2003/03/25 01:38:16;
- binding state active;
- next binding state free;
- hardware ethernet 00:20:18:8f:34:43;
- set ddns-rev-name = "30.0.0.10.in-addr.arpa";
- set ddns-txt = "00bb878a9afc1583b81fc7c51f78492543";
- set ddns-fwd-name = "BMO.K-TEAM";
- client-hostname "BMO";
- }
|
vous remarquerez que dhcpd conserve aussi les derniers baux expirés, je fais assez souvent le ménage en passant par webmin en listant les baux actifs et inactifs (module serveur/dhcpd), puis en cliquant sur ceux qui sont expirés (ça va plus vite que d'ouvrir un ssh et éditer le fichier pour supprimer le bloc ;) )
Maintenant on passe aux clients :
Configuration CLIENTS DHCP :
Bon disposant de 3 OS différents, je vais pouvoir expliquer pour ces 3 là : Linux (RH 8.0), WinNT (2000pro), FreeBSD 4.7
Linux :
pour commencer :
hostname -v doit vous renvoyer le nom de la machine
domainname doit vous renvoyer le nom de domaine (domainname -d DOMAINE pour le définir)
on a juste à configurer l'interface réseau comme DHCP :
pour se faire, vous avez des outils sous toutes les distros en générale :
Mandrake : drakconf (quelque chose comme ça, j'ai pas la mémoire fine, vous propose de configurer votre réseau entre autres)
RedHat : redhat-config-network (interface à la vindoz), ou redhat-config-network-cmd (en ligne de commande), redhat-config-network-druid servant à créer une nouvelle connexion (interface graphique), vous avez aussi la commande "setup" basée sur ncurses qui permet de configurer le réseau entre autres
pour les autres distros en générale, vous devez avoir "setup" et/ou "linuxconf" permettant de modifier les paramètres réseau, ou vous pouvez très bien utiliser webmin par son module réseau/configuration du réseau (network/network configuration)
sinon les fichiers de config en générale :
/etc/dhclient.conf
/etc/sysconfig/networking/devices/ifcfg-X (X étant l'identifiant de votre carte, en générale "eth0" ou "eth1" si vous avez mis votre modem ethernet sur eth0)
/etc/sysconfig/network-scripts/ifcfg-X (idem qu'au dessus)
(sous des distro plus anciennes : /etc/network, sous debian vous retrouverez plutôt la configuration dans /etc/dhcp et dans /etc/interface)
le détail des fichiers :
/etc/dhclient.conf ou /etc/dhclient-ethX.conf :
Code :
- send host-name "BMO"; # temporary RHL ifup addition
|
Le serveur nous renvoit toutes les informations nécessaires, donc rien d'autre à mettre
/etc/sysconfig/networking/devices/ifcfg-eth0 et /etc/sysconfig/network-scripts/ifcfg-eth0 (si votre carte côté LAN est eth0, remplacez pour votre cas) :
Code :
- BOOTPROTO=dhcp
- DHCP_HOSTNAME=BMO
- PEERDNS=yes
- TYPE=Ethernet
- DEVICE=eth0
- NETMASK=""
- BROADCAST=""
- IPADDR=""
- NETWORK=""
- USERCTL=no
- ONBOOT=yes
|
dhclient s'occupe de remplir votre fichier /etc/resolv.conf à l'attribution du bail :
Code :
- ; generated by /sbin/dhclient-script
- search K-TEAM
- nameserver 10.0.0.1
|
donc ne mettez rien vous même, ça ne servira pas à grand chose
/etc/hosts devient obsolète :
Code :
- # Do not remove the following line, or various programs
- # that require network functionality will fail.
- 10.0.0.1 SERVEURADSL SERVEURADSL.K-TEAM
- 127.0.0.1 localhost localhost.localdomain
|
ce n'est pas obligatoire de mettre le serveur DNS ici étant donné que le dhcp scanne sur un certain broadcast/masque (255.255.255.255), laissez tout de même "localhost"
une fois la config terminée on redémarre le réseau : service network restart ou /etc/init.d/network(ing) restart (selon la distro)
Vindoz :
Code :
- Propriétés de protocole internet (TCP/IP)
- Général : Obtenir une adresse IP automatiquement
- Obtenir les adresses des serveurs DNS automatiquement
- Avancés
- DNS : Ajouter des suffixes DNS principaux et spécifiques aux connexions
- Ajouter des suffixes parents du suffixe DNS principal
- Enregistrer les adresses de cette connexion dans le système DNS
- (NE SURTOUT PAS COCHER : "Utiliser le suffixe DNS de cette connexion pour l'enregistrement DNS", vous n'auriez pas le droit de mettre à jour la zone master sur le serveur DDNS, mais seulement la zone master inverse, ce serait bête en plus que cette machine ne cesse d'agresser le serveur DDNS, dans le cas de win2000 (p'tit soucis à ce niveau sous win2k, référez-vous au site de bill billou pour modifier la BDR si vous recevez une plainte comme quoi votre machine agresse un serveur DNS), pour rien...)
- WINS : on s'en tape totalement on a un beau serveur DNS qui tourne et qui gère bien les noms (par défaut : Activer la recherche LMHOSTS et Activer NetBIOS avec TCP/IP)
|
c'est tout ce qu'il faut activer sous win
FreeBSD :
Là ça se corse, à partir de la version 4.4 il me semble, dhcp est activé dans le noyau (plus connu sous le nom du module BPF, référez-vous au site de FreeBSD où il y a un très bon HowTo si vous n'êtes pas sûr de vous)
sur une version 4.7, c'est le sytème le plus rapide à configurer des 3, mais ne cherchez pas avec webmin : on ne peut pas configurer le dhcp sous FreeBSD avec :/, mais vous pouvez utiliser le système de ports et config : /stand/sysinstall puis configuration post-installation/network, ici je mets la config à la mano (que j'ai préféré :smiley-geek-avec-des-racines-aux-pieds:), ça donne ceci :
/etc/dhclient.conf :
Code :
- # $FreeBSD: src/etc/dhclient.conf,v 1.2.2.1 2001/12/14 11:44:31 rwatson Exp $
- #
- # This file is required by the ISC DHCP client.
- # See ``man 5 dhclient.conf'' for details.
- #
- # In most cases an empty file is sufficient for most people as the
- # defaults are usually fine.
- #
- send host-name "BMO-DB";
|
/etc/rc.conf :
Code :
- # -- sysinstall generated deltas -- # Wed Dec 4 05:25:11 2002
- # Created: Wed Dec 4 05:25:11 2002
- # Enable network daemons for user convenience.
- # Please make all changes to this file, not to /etc/defaults/rc.conf.
- # This file now contains just the overrides from /etc/defaults/rc.conf.
- defaultrouter=""
- hostname="BMO-DB"
- ipv6_enable="YES"
- kern_securelevel_enable="NO"
- keymap="fr.iso.acc"
- keyrate="normal"
- linux_enable="YES"
- moused_enable="YES"
- moused_port="/dev/psm0"
- moused_type="auto"
- nfs_client_enable="YES"
- nfs_reserved_port_only="YES"
- nfs_server_enable="YES"
- saver="blank"
- sendmail_enable="YES"
- sshd_enable="YES"
- ifconfig_lnc0="DHCP"
|
bon ne faites pas du copier/coller tout bête !
voilà pour FreeBSD, c'est tout ce que j'ai modifié, bien sûr il faut installer dhclient avant ;), dans mon cas sysinstall n'a pas réussis à me configurer tout seul le dhcp, il me repassait la config en IP fixe après avoir cherché un serveur dhcp, d'où le pourquoi du comment : édition de conf
Des outils utiles :
et oui, pour tester votre config vous aurez besoin d'outils :
sous Linux : "host IP" pour obtenir son nom et "host NOM" pour obtenir son IP (je préfère nslookup même s'il est désigné comme obsolète car il affiche plus d'information), vous avez aussi "dig" qui s'utilise de cette façon : "dig @IP_SERVEUR_DNS IP [options facultatives]" ou "dig @IP_SERVEUR_DNS NOM [options facultatives"
sous vindoz : "nslookup IP" ou "nslookup NOM"
sous FreeBSD : comme sous Linux, c'est une base des systèmes UNIX
je pense que tout y est, j'espère que le post va passer en intégrale et puis bonne chance
Message édité par BMOTheKiller le 24-03-2003 à 20:30:55