10.2. Configuration d'un serveur DHCP
DHCP. Installez le package en tant qu'utilisateur root :
~]# yum install dhcp/etc/dhcp/dhcpd.conf, qui correspond tout simplement à un fichier de configuration vide. En tant qu'utilisateur root, exécutez la commande suivante :
~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#uet/usr/share/doc/dhcp-version;/dhcpd .conf.example. Vous devez utiliser ce fichier pour pouvoir configurer /etc/dhcp/dhcpd.conf, expliqué en détails ci-dessous.
DHCP utilise également le fichier /var/lib/dhcpd/dhcpd.leases pour stocker la base de données d'attribution client. Voir Section 10.2.2, « Base de données d'attribution » pour plus d'informations.
10.2.1. Fichier de configuration
DHCP consiste à créer le fichier de configuration qui stocke les informations réseau des clients. Utiliser ce fichier pour déclarer des options dans les systèmes clients.
#) correspondent à des commentaires.
- Paramètres - expliquent comment effectuer une tâche, quand l'effectuer, ou quelles options de configuration donner au client.
- Déclarations - décrit la topologie du réseau, les clients, donne des adresses aux clients, ou applique un groupe de paramètres à un groupe de déclarations.
DHCP, alors que les paramètres eux, configurent des valeurs qui ne sont pas facultatives ou contrôlent le comportement du serveur DHCP.
{ }) sont considérés comme des paramètres globaux. Ceux-ci s'appliquent à toutes les sections se trouvant en dessous.
Important
DHCP n'aura pas redémarré par la commande systemctl restart dhcpd.
Note
DHCP et redémarrer le service à chaque fois, en utilisant la commande omshell, vous pouvez vous connecter, interroger ou modifier la configuration du serveur DHCP de façon interactive. Avec omshell, vous pourrez effectuer tous les changements quand le serveur est en cours d'exécution. Pour plus d'informations sur omshell, voir la page man omshell.
routers, subnet-mask, domain-search, domain-name-servers, et time-offset sont utilisées pour les énoncés d' hôte déclarés dessous.
DHCP se connecte, il doit y avoir une déclaration de sous-réseau, qui indique au démon DHCP comment reconnaître qu'une adresse est sur ce sous-réseau. Une déclaration de sous-réseau est exigée pour chaque sous-réseau, même si aucune adresse ne doit être allouée de façon dynamique sur ce sous-réseau.
DHCP dans le sous-réseau, et une plage est annoncée. Les clients reçoivent une adresse IP incluse dans l'intervalle indiqué.
Exemple 10.1. Déclaration de sous-réseau
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option domain-search "example.com";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
range 192.168.1.10 192.168.1.100;
}DHCP qui alloue une adresse IP à un système se trouvant dans un sous-réseau, modifier les valeurs de l'exemple de Exemple 10.2, « La paramètre « range » de plage ». Il déclare une durée d'allocation par défaut, une durée d'allocation maximale, et des valeurs de configuration de réseau pour les clients. Cet exemple alloue des adresses IP sur les plages de valeurs 192.168.1.10 et 192.168.1.100 aux systèmes clients.
Exemple 10.2. La paramètre « range » de plage
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-search "example.com";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
}IP à un client sur la base d'une adresse MAC de la carte d'interface de réseau, utiliser le paramètre hardware ethernet qui se trouve dans la déclaration de l' hôte. Comme le montre Exemple 10.3, « Adresse IP statique utilisant DHCP », la déclaration host apex spécifie que la carte d'interface de réseau ayant pour adresse MAC 00:A0:78:8E:9E:AA reçoit toujours l'adresse IP 192.168.1.4.
host-name pour assigner un nom d'hôte au client.
Exemple 10.3. Adresse IP statique utilisant DHCP
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
} IP statiques aux interfaces InfiniBand IPoIB. Cependant, comme ces interfaces n'ont pas d'adresse Ethernet de matériel normale, on doit utiliser une méthode différente pour spécifier un identificateur unique pour l'interface IPoIB. On utilise normalement l'option dhcp-client-identifier = pour spécifier le champ dhcp-client-identificateur de l'interface IPoIB. La construction d'hôte de serveur DHCP ne supporte pas plus d'une entrée matériel Ethernet et une entrée de dhcp-client-identifier par hôte. Toutefois, il peut y avoir plus d'une entrée d'adresse fixe et le serveur DHCP répondra automatiquement avec une adresse qui est appropriée au réseau sur lequel la requête DHCP a été reçue.
Exemple 10.4. Adresse IP statique utilisant DHCP sur interfaces multiples
P_Key sur chaque interface physique, ainsi qu'une connexion Ethernet, la construction statique IP peut être utilisée pour cette configuration :
Host apex.0 {
option host-name “apex.example.com”;
hardware ethernet 00:A0:78:8E:9E:AA;
option dhcp-client-identifier=ff:00:00:00:00:00:02:00:00:02:c9:00:00:02:c9:03:00:31:7b:11;
fixed-address 172.31.0.50,172.31.2.50,172.31.1.50,172.31.3.50;
}
host apex.1 {
option host-name “apex.example.com”;
hardware ethernet 00:A0:78:8E:9E:AB;
option dhcp-client-identifier=ff:00:00:00:00:00:02:00:00:02:c9:00:00:02:c9:03:00:31:7b:12;
fixed-address 172.31.0.50,172.31.2.50,172.31.1.50,172.31.3.50;
}
dhcp-client-identifier pour votre périphérique, vous pouvez normalement utiliser le préfixe ff:00:00:00:00:00:02:00:00:02:c9:00 et y ajouter les 8 derniers octets de l'interface IPoIB (qui correspond également au GUID de 8 octets du port InfiniBand du port InfinisBand sur lequel se trouve l'interface IPoIB). Sur certains contrôleurs, ce préfixe n'est pas correct. Dans un tel cas, nous conseillons d'utiliser tcpdump sur le serveur DHCP pour capturer la demande IPoIB DHCP entrante et collecter le dhcp-client-identifier qui convient pour cette capture. Par exemple :
]$ tcpdump -vv -i mlx4_ib0
tcpdump: listening on mlx4_ib0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
23:42:44.131447 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request, length 300, htype 32, hlen 0, xid 0x975cb024, Flags [Broadcast] (0x8000)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Hostname Option 12, length 10: "rdma-qe-03"
Parameter-Request Option 55, length 18:
Subnet-Mask, BR, Time-Zone, Classless-Static-Route
Domain-Name, Domain-Name-Server, Hostname, YD
YS, NTP, MTU, Option 119
Default-Gateway, Classless-Static-Route, Classless-Static-Route-Microsoft, Static-Route
Option 252, NTP
Client-ID Option 61, length 20: hardware-type 255, 00:00:00:00:00:02:00:00:02:c9:00:00:02:c9:02:00:21:ac:c1
L'image ci-dessus montre le champ identifiant le client. Le type de matériel 255 correspond aux initiales ff: de l'ID, le reste de l'ID est ensuite cité exactement comme il doit apparaître dans le fichier de configuration de DHCP.
shared-network), comme indiqué dans Exemple 10.5, « Déclaration de réseau partagé ». Les paramètres qui se trouvent dans le shared-network, mais en dehors des déclarations de sous-réseau clos, sont considérés comme paramètres globaux. Le nom attribué au shared-network doit être un titre descriptif pour le réseau, comme l'utilisation du titre « -test-lab » qui décrit tous les sous-réseaux dans un environnement de test.
groupe est utilisée pour appliquer les paramètres globaux à un groupe de déclarations. Ainsi, les réseaux partagés, les sous-réseaux, et les hôtes peuvent être groupés.
Exemple 10.6. Déclaration de groupe
group {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option domain-search "example.com";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
}
host raleigh {
option host-name "raleigh.example.com";
hardware ethernet 00:A1:DD:74:C3:F2;
fixed-address 192.168.1.6;
}
}Note
root :
~]# cp /usr/share/doc/dhcp-version_number/dhcpd.conf.example /etc/dhcp/dhcpd.confDHCP.
dhcp-options(5).
10.2.2. Base de données d'attribution
DHCP, le fichier /var/lib/dhcpd/dhcpd.leases stocke la base de données de l'allocation du client DHCP. Ne pas modifiez ce fichier. Les informations d'allocation DHCP pour chaque adresse IP récemment attribuée sont automatiquement stockées dans la base de donnée d'allocation. L'information comprend la durée de l'allocation, à laquelle l'adresse IP a été assignée, les dates de début et de fin de l'allocation et l'adresse MAC de la carte d'interface réseau qui a été utilisée pour récupérer l'allocation.
dhcpd.leases est rebaptisé dhcpd.leases~ et la base de données d'allocations temporaires est inscrite dans dhcpd.leases.
DHCP peut être terminé ou le système peut se bloquer après que la base de données d'allocations a été renommée dans le fichier de sauvegarde, mais avant que le nouveau fichier n'ait été écrit. Dans ce cas, le fichier dhcpd.leases n'existe pas, mais il est nécessaire de démarrer le service. Ne créez de nouveau fichier d'allocation. Si vous le faites, toutes les anciennes allocations seront perdues, ce qui provoquera de nombreux problèmes. La meilleure solution consiste à renommer le fichier de sauvegarde dhcpd.leases~ à dhcpd.leases, et à démarrez le démon.
10.2.3. Lancement et interruption du serveur
Important
DHCP est démarré pour la première fois, il échoue à moins que le fichier dhcpd.leases existe. Vous pouvez utiliser la commande touch /var/lib/dhcpd/dhcpd.leases pour créer le fichier s'il n'existe pas. Si le même serveur exécute également BIND en tant que serveur DNS, cette étape n'est pas nécessaire, car démarrer le service named entraînera une recherche automatique du fichier dhcpd.leases.
dhcpd.leases~ en dhcpd.leases, puis démarrer le démon.
DHCP, utiliser la commande suivante :
systemctl start dhcpd.serviceDHCP, saisir :
systemctl stop dhcpd.serviceDHCP ne démarre pas à l'amorçage. Pour obtenir des informations sur la façon de configurer le démon pour qu'il démarre automatiquement à l'amorçage, consulter le guide Red Hat Enterprise Linux 7 System Administrator's Guide.
DHCP doit seulement écouter les requêtes DHCP sur une des interfaces, configurez le serveur DHCP pour écouter uniquement sur ce périphérique. Le démon DHCP écoute uniquement sur les interfaces pour lesquelles il pourra trouver une déclaration de sous-réseau dans le fichier /etc/dhcp/dhcpd.conf.
DHCP pour récupérer une adresse IP d'internet. L'autre carte de réseau peut servir de serveur DHCP pour le réseau interne se trouvant derrière le pare-feu. En ne spécifiant que la carte réseau connectée au réseau interne, votre système sera plus sûr puisque les utilisateurs ne pourront pas se connecter au démon par le biais de l'internet.
dhcpd.service en tant qu'utilisateur root. Par exemple :
~]#Modifier la ligne sous la section [Service]:cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/~]#vi /etc/systemd/system/dhcpd.service
ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid your_interface_name(s). Puis, en tant qu'utilisateur
root, démarrer le service à nouveau.
~]#systemctl --system daemon-reload~]#systemctl restart dhcpd
ExecStart=/usr/sbin/dhcpd dans le fichier d'unité /etc/systemd/system/dhcpd.service sous la section [Service]. Elles incluent :
-pportnum— spécifie le numéro de port UDP sur lequeldhcpddoit écouter. La valeur par défaut est le port 67. Le serveurDHCPtransmet les réponses aux clientsDHCPà un numéro de port d'un numéro supérieur au numéro de port UDP spécifié. Par exemple, si le port par défaut 67 est utilisé, le serveur écoute les requêtes sur le port 67, et répond au client sur le port 68. Si un port est spécifié ici et que l'agent de relaisDHCPest utilisé, le même port que celui sur lequel l'agent de relaisDHCPdoit écouter, devra être spécifié. Voir Section 10.3, « Agent de relais DHCP » pour plus de détails.-f— exécute le démon en arrière plan. Utilisé uniquement pour le débogage.-d— logue le démon de serveurDHCPen descripteur d'erreur standard. Utilisé surtout pour le débogage. Si non spécifié, la journalisation apparaîtra sur le fichier/var/log/messages.-cf filename— indique l'emplacement du fichier de configuration. L'emplacement par défaut est/etc/dhcp/dhcpd.conf.-lf filename— indique l'emplacement du fichier de base de données d'allocations. Si un fichier de base de données d'allocation existe déjà, il est très important que le même fichier soit utilisé à chaque fois que le serveurDHCPdémarre. Il est fortement conseillé d'utiliser cette option à but de débogage sur des machines qui ne soient pas des machines de production. L'emplacement par défaut est/var/lib/dhcpd/dhcpd.leases.-q— ne pas afficher tout le message copyright quand vous démarrez le démon.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.