Installation du serveur DHCP Ubuntu. Protocole d'allocation d'adresse dynamique (DHCP). Installation du serveur DNS Bind

Bonjour messieurs.
Je suis autodidacte en administration. Linux et s'est récemment intéressé à l'installation et à la configuration d'un serveur DDNS (Dynamic DNS) sous cette plateforme à l'aide d'un bundle Lier + DHCPD. La lecture des forums, de l'homme et de la documentation des sites a donné beaucoup résultat positif et j'aimerais partager mon expérience avec les gens. J'espère que l'article sera utile.
Au départ, nous avons un système d'exploitation propre GNU/Linux Debian 6.0.1, sans environnement graphique. Après l'installation, la mise à jour a été effectuée et installée ensemble minimum des logiciels tels que MC Et sudo. J'ai également apporté le nom d'hôte au formulaire à l'avance nom d'hôte.nom de domaine. Et depuis que j'utilise machine virtuelle Boîte Virtuelle et je ne travaille pas dans des conditions de « combat », toutes les actions sont menées sous compte root. Tout ce dont vous avez besoin logiciel installé à partir de référentiels en utilisant gestionnaire de paquets apt-obtenir.
Informations récapitulatives :
Système d'exploitation-GNU/Linux Debian 6.0.1 ;
Nom du serveur- ddnsagc01.agency.com ;
Paramètres réseau- statique 192.168.1.2/24 ;
Installation du serveur isc-dhcp
Nous allons donc commencer par installer le serveur DHCP.
# apt-get installez le serveur DHCP3
Après l'installation, arrêtez le démon du serveur avec la commande :
# /etc/init.d/isc-dhcp-server arrête
Et allons éditer le fichier de configuration principal, qui se trouve à l'adresse /etc/dhcp/dhcpd.conf. Pour l'édition, j'utiliserai l'éditeur inclus dans le kit de distribution nano:
# nano /etc/dhcp/dhcpd.conf
# À configuration initiale Je désactive l'option mise à jour dynamique et je le connecterai plus tard.
style de mise à jour ddns aucun ;
# Configuration de base pour mon domaine agence.com.
sous-réseau 192.168.1.0 masque de réseau 255.255.255.0 (
durée de location par défaut 21 600 ; # Durée pendant laquelle l'adresse est émise, en secondes.
durée maximale de location 28 800 ; # Récupérer de force l'adresse après, sec.
option nom de domaine « agency.com » ; # Nom de domaine.
option serveurs de noms de domaine 192.168.1.2 ; # Adresse du serveur DNS.
option masque de sous-réseau 255.255.255.0 ; # Masque de sous-réseau.
routeurs d'options 192.168.1.1 ; # Passerelle.
plage 192.168.1.1 192.168.1.100 ; # Plage d'adresses à émettre.
}
# Adresses fixes émises pour les machines par adresse MAC.
Hôte adagc01 ( # Contrôleur de domaine.
Ethernet matériel 08:00:27:19:c8:48 ;
adresse fixe 192.168.1.3 ;
}
Hôte ddnsagc01 ( # serveur ddns.
Ethernet matériel 08:00:27:05:99:1a ;
adresse fixe 192.168.1.2 ;
}
Hôte squid01 ( # Passerelle.
Ethernet matériel 08:00:27:4f:78:1b ;
adresse fixe 192.168.1.1 ;
}
Le prochain fichier de configuration que nous devons corriger se trouve dans le répertoire /etc/par défaut/ et s'appelle serveur isc-dhcp. Là, nous devons changer une seule ligne, indiquant au serveur DHCP sur quelle interface il doit fonctionner :
INTERFACES = « eth0 » # Ici, nous remplaçons le nom de notre interface.
Après avoir effectué toutes les modifications, démarrez le démon avec la commande :
# /etc/init.d/isc-dhcp-server start
Nous vérifions le travail en essayant d'obtenir une adresse de la machine à partir de notre réseau et si tout est en ordre, le serveur donnera une adresse de la plage spécifiée et le reste des paramètres que nous avons spécifiés.
Installation Lier les serveurs DNS
En plus de Bind, il sera également utile d'installer des utilitaires pour travailler avec le réseau (tels que nslookup et dig, inclus dans le package dnsutils) :
# apt-get install bind9 bind9utils dnsutils
Après l'installation, arrêtez le serveur :
# /etc/init.d/bind9 arrête
Lier stocke les configurations dans /etc/bind. Il existe également des fichiers de zones racine et de zones par défaut - db.0, db.127, db.root, etc. rndc.key- le fichier clé généré lors de l'installation, nous en aurons besoin pour mettre à jour nos fichiers de zone à l'aide du serveur DHCP. Une nouvelle clé est générée à l'aide de l'utilitaire rndc-confgen. Les développeurs vous suggèrent de ne pas apporter de modifications au fichier de configuration principal du serveur nommé.conf, mais d'y connecter vos fichiers de configuration à l'aide de la directive inclure. Ainsi, si vous ouvrez nommé.conf après l'installation, il n'y aura qu'une explication de quel type de fichier il s'agit et trois lignes définissant les configurations connectées :
# moins /etc/bind/named.conf | grep inclut
inclure "/etc/bind/named.conf.options" ;
inclure "/etc/bind/named.conf.local" ;
inclure "/etc/bind/named.default-zones" ;
Tout d'abord, j'ai ajouté les informations de rndc.key au fichier de configuration principal, en les ajoutant à nouveau en utilisant include :
# nano /etc/bind/named.conf
inclure "/etc/bind/rndc.key" ;
Nous devons maintenant enregistrer nos propres zones avant et arrière. Les développeurs suggèrent d'utiliser le fichier pour cela nommé.conf.local, c'est ce que nous allons faire :
# nano /etc/bind/named.conf.local
zone "agency.com" ( # Nom de la zone directe.
tapez maître ;
fichier « db-agency.com » ; # Nom du fichier de zone.

};

Zone "1.168.192.in-addr.arpa" ( # Nom de la zone inversée.
tapez maître ;
fichier "db-1.168.192" ; # Nom du fichier de zone.
allow-update(clé rndc-key;); # Autoriser la mise à jour de la zone avec la clé.
};
Ensuite, nous devons créer fichiers spécifiés. Par défaut, Bind suppose qu'ils sont stockés dans /var/cache/bind:
# touchez /var/cache/bind/db-agency.com
# touchez /var/cache/bind/db-1.168.192
Nous devons ajouter quelques paramètres aux zones nouvellement créées.
Fichier de zone directe :

# nano /var/cache/bind/db-agency.com
$ TTL 10800
agence.com. DANS SOA ddnsagc01.agency.com. admin.agency.com. (
11 ; Numéro de série.
10800 ; Mise à jour.
3600 ; Essayer à nouveau.
604800 ; Obsolescence.
3600); TTL négatif à 1 heure.
;
; Précisons les serveurs de noms.
;
agence.com. EN Nouvelle-Écosse ddnsagc01.agency.com.
;
; Nous écrirons également un enregistrement A pour le serveur de noms spécifié.
ddnsagc01 A 192.168.1.2
Fichier de zone inversé :

$ TTL 10800
1.168.192.in-addr.arpa. DANS SOA ddnsagc01.agency.com. admin.agency.com. (
11 ; Numéro de série
10800 ; Mise à jour
3600 ; Essayer à nouveau
604800 ; Obsolescence
3600); TTL négatif à 1 heure
;
; Précisons les serveurs de noms.
;
1.168.192.in-addr.arpa. EN Nouvelle-Écosse ddnsagc01.agency.com.
;
; Nous l'écrirons également Enregistrement PTR pour le serveur de noms spécifié.
2.1.168.192.in-addr.arpa. DANS PTR ddnsagc01.agency.com.
Définissez le propriétaire des fichiers nouvellement créés sur la liaison utilisateur :
# chown bind:bind /var/cache/bind/db-agency.com
# chown bind:bind /var/cache/bind/db-1.168.192

Configuration des mises à jour de zones dynamiques
Bind est configuré et nous devons maintenant configurer le serveur DHCP pour mettre à jour les fichiers liaison de zone. Pour ce faire, ouvrez pour modification et modifiez le paramètre ddns-update-style de none à intérimaire dans /etc/dhcp/dhcpd.conf :
intérimaire de style ddns-update ;
On enregistre rndc-key (qui peut aussi être inclus via include, mais j'ai préféré l'enregistrer manuellement) :
clé rndc-clé (
algorithme hmac-md5 ;
secret « XXXXXXXXXXXX » ;
}
Et enfin, nous indiquons quelles zones le serveur doit mettre à jour :
agence de zone.com (

clé rndc-clé ;
}
zone 1.168.192.in-addr.arpa (
primaire 127.0.0.1 ; # Adresse serveur DNS UN.
clé rndc-clé ;
}
Redémarrez les démons Bind et isc-dhcp-server et vérifiez le fonctionnement du bundle installé :
# /etc/init.d/bind9 redémarrage
# /etc/init.d/isc-dhcp-server redémarrage
Après avoir redémarré les démons et si tout est écrit correctement - dans le répertoire /var/cache/bind Les fichiers .jnl (logs) de nos zones apparaîtront, indiquant que les zones sont correctement mises à jour. Dans mon cas, Bind a également légèrement modifié les fichiers de zone, en les ajustant pour que des abréviations sous la forme du symbole « @ » commencent à être utilisées pour remplacer le nom de domaine, a remplacé les valeurs indiquées en heures et semaines par des secondes. (comme dans les configurations que j'ai fournies) et quelques autres.
Bind et isc-dhcp-server enregistrent des informations sur leur travail dans journal système, donc si quelque chose ne fonctionne pas, allez sur /var/log/syslog et cherchez quel est le problème. Vous devez faire attention aux signes de ponctuation lorsque vous décrivez zones de domaine. Mon erreur a donc été de manquer le délai de spécification du domaine et de ne pas pouvoir mettre à jour la zone inversée.
Merci de votre attention, j'espère que l'article sera utile.
Lors de la rédaction de cet article, j'ai utilisé le livre " DNS et liaison" par Cricket Lee et Paul Albitz, pages de manuel et nombreux forums sur Internet.

P.S.

J'ai compilé tout ce qui est décrit ci-dessus sous la forme d'un fichier pdf, dans lequel c'est-à-dire il y a une section sur l'utilisation d'une connexion configurée pour travailler avec le serveur Annuaire actif. Cette section est pratiquement une copie de l'article d'Aleksey Ked alias Lissyara (http://www.lissyara.su) et je ne l'inclus pas dans cette publication. Mais néanmoins, je poste un lien vers ce document PDF, dont le formatage est légèrement différent et comporte de petits ajouts.

Souvent dans grands réseaux pour simplifier le travail d'ajout de nouveaux ordinateurs et autres appareils au réseau, ils utilisent le protocole sélection dynamique adresses - DHCP. Cela simplifie grandement la configuration de l'équipement et permet d'économiser quantité énorme temps. En utilisant DHCP, nous n'avons pas besoin de configurer le réseau sur chaque appareil séparé, il vous suffit de connecter l'appareil au réseau et le serveur DHCP effectuera automatiquement tous les réglages. Tout le monde est à la maison Routeur Wi-Fi dispose d'un serveur DHCP intégré, vous n'avez donc pas besoin de saisir manuellement tous les paramètres à chaque fois que vous vous connectez à différents routeurs ; le routeur le fait pour vous ;

Le serveur DHCP peut attribuer automatiquement au client :

  • Adresse IP ;
  • Masque de sous-réseau ;
  • Adresse IP de la passerelle ;
  • PI Adresse DNS serveurs;

Dans certains cas :

  • Nom d'hôte ;
  • Nom de domaine ;
  • Adresse du serveur de temps (NTP) ;

Avantage d'utiliser Serveurs DHCP c'est qu'avec un vaste réseau de plusieurs milliers d'appareils, ce sera très pratique et presque indolore à mettre en place. Imaginez si vous devez modifier les adresses IP sur un réseau pour ordinateurs personnels employés, imprimeurs pour émettre d'autres adresses, gérés équipement de réseau nommez également le vôtre. Avec un réseau de plusieurs milliers d'appareils, réglage manuel prendrait énormément de votre temps. C'est une autre affaire lorsqu'il y a un serveur DHCP configuré sur le réseau qui le configurera pour vous et cela ne prendra que quelques minutes. En plus de cela, le serveur prend en charge la possibilité de réserver des adresses, donc si un client (ordinateur, imprimante, commutateur) doit attribuer une adresse fixe, nous pouvons le spécifier dans les paramètres du serveur DHCP et la prochaine fois qu'une demande sera faite, le client recevra l'adresse dont il a besoin.

Installation et configuration d'un serveur DHCP

DANS Installation d'Ubuntu Et Configuration DHCP Le serveur est réalisé en quelques étapes seulement, rapidement et efficacement. Pour commencer à utiliser le serveur, vous devez installer le logiciel sur votre ordinateur, cela se fait à l'aide de la commande :

Sudo apt-get install isc-dhcp-server

La configuration minimale d'un serveur DHCP inclut l'édition de seulement 2 fichiers.

Le premier fichier que nous allons éditer est nano /etc/default/isc-dhcp-server et ajouter/modifier une seule ligne :

INTERFACES="eth3"

où « eth3 » est l'interface à laquelle les clients se connectent réseau interne et qui écoutera DHCP ;

Configurons maintenant le serveur DHCP lui-même. Ouvrez le fichier nano /etc/dhcp/dhcpd.conf et supprimez tout le contenu.
Nous allons maintenant configurer le serveur uniquement pour distribuer des adresses à tous les appareils qui demanderont une adresse au serveur. Ajoutez les lignes au fichier :

Durée de location par défaut 7 200 ; durée maximale de location 43 200 ; sous-réseau 192.168.0.0 masque de réseau 255.255.255.0 (plage 192.168.0.100 192.168.0.200 ; option routeurs 192.168.0.1 ; option serveurs de noms de domaine 192.168.0.1 ; )

Regardons les lignes que nous avons ajoutées à ce fichier dans l'ordre :

  • durée de location par défaut- durée de location (en secondes) de l'adresse auprès du serveur, sauf si le client en demande une autre ;
  • durée maximale du bail - durée maximale adresse de location ;
  • sous-réseau- décrit le réseau IP et son masque ;
  • gamme- la plage d'adresses à partir de laquelle les adresses seront fournies à la demande du client ;
  • option routeurs- l'adresse du routeur. Il doit s'agir de l'adresse de l'interface via laquelle les utilisateurs accèdent à Internet.
  • option serveurs de noms de domaine- Adresse du serveur DNS. Indique que le serveur se trouve sur le même ordinateur et écoute l'interface avec l'adresse 192.168.0.1

Notre routeur doit être l'interface que nous avons décrite dans le fichier INTERFACES="eth3" et l'adresse que nous avons décrite dans les paramètres du serveur DHCP doit y être attribuée. Si vous n'avez pas de serveur DNS installé, vous pouvez utiliser le serveur de votre fournisseur d'accès Internet ou les serveurs publics de Google ou Yandex.

Pour gérer le serveur DHCP, utilisez les commandes suivantes :

  • /etc/init. d/isc - dhcp - server start - démarre le serveur ;
  • /etc/init. d/isc - dhcp - server stop - arrête le serveur ;
  • /etc/init. d/isc - dhcp - redémarrage du serveur - redémarre le serveur ;

Vous pouvez utiliser la commande service isc-dhcp-server (start|stop|restart).

Point suivant paramètres du serveur - configuration de DHCP, configuration de la distribution automatique des adresses IP par le serveur.

Ensuite, nous vérifions sur le client que le serveur Ubuntu DHCP a été configuré avec succès :

Serveur Ubuntu: Reçu automatique adresse IP réservée

Afficher une liste de clients avec des adresses attribuées

Une fois que les clients ont reçu les adresses IP de notre serveur DHCP créé, vous pouvez afficher cette liste avec la commande :

nano /var/lib/dhcp/dhcpd.leases

Ubuntu Server : liste des adresses IP louées

Là, vous pouvez également voir la correspondance Adresses MAC avec les noms des ordinateurs de votre réseau local.

À propos, il peut être plus pratique d'afficher cette liste au format .

La plupart des « ne fonctionne pas » sont causés par l'inattention ! Vérifiez attentivement les commandes et n'autorisez pas de caractères inutiles dans les fichiers de configuration.

De l'auteur :

Si le problème est résolu, une façon de dire « Merci » à l’auteur est de le faire.

Si le problème ne peut pas être résolu et questions supplémentaires, vous pouvez les poser sur le nôtre, dans une rubrique spéciale.

Bonjour, cet article sera consacré à l'installation et à la configuration de DHCP sur un serveur Ubuntu 14.04. Dans le dernier article, nous avons expliqué comment configurer le DNS. DHCP fonctionne souvent en conjonction avec DNS. DHCP distribue les adresses et DNS enregistre la représentation en caractères de l'adresse IP.

Alors commençons. Comme toujours, je suppose que le serveur Ubuntu 14.04 est installé et qu'il est entièrement mis à jour. Installez maintenant le service DHCP en exécutant la commande :

Sudo apt-get install isc-dhcp-server

Il existe de nombreux services DHCP dans Ubuntu, je n'en parlerai pas. Je préfère le serveur isc-dhcp. Après l'installation, je recommande d'arrêter le service DHCP avec la commande :

Ceci est fait pour que si votre serveur est situé dans réseau de travail, puis pour ne pas commencer à donner des adresses. Allez maintenant dans le fichier /etc/default/isc-dhcp-server

Sudo nano /etc/default/isc-dhcp-server

Dans ce fichier on retrouve la ligne INTERFACES=”” et on rentre le nom entre les guillemets interface réseau sur quelles adresses seront distribuées. Pour voir quels noms d'interfaces réseau vous possédez, exécutez la commande :

Après avoir entré le nom de l’interface réseau, vous devriez obtenir quelque chose comme ceci :

# Valeurs par défaut pour le script d'initialisation DHCP
# provenant de /etc/init.d/dhcp
# installé dans /etc/default/isc-dhcp-server par les scripts du responsable

#
# Ceci est un fragment de shell POSIX
#

# Sur quelles interfaces le serveur DHCP(dhcpd) servir les requêtes DHCP ?
# Séparez plusieurs interfaces avec des espaces, par ex. "eth0 eth1".
INTERFACES="eth0"

Sudo nano /etc/dhcp/dhcpd.conf

Dans ce fichier, nous devons spécifier la plage d'adresses que nos serveurs émettront. Suivez l'exemple

Sous-réseau 192.168.0.0 masque de réseau 255.255.255.0 ( //spécifiez la plage de sous-réseau 192.168.0.2 192.168.0.254 ; //option de plage d'émission des serveurs de noms de domaine 192.168.0.1 ; //spécifiez l'option DNS nom de domaine "groupe de travail" ; // Nom de domaine routeurs d'options 192.168.0.1 ; //Adresse de diffusion de l'option de passerelle par défaut 192.168.0.255 ; //Adresse de diffusion par défaut-durée de location 604800 ; //durée du bail en secondes (7 jours) max-lease-time 604800 ; //durée maximale de location en secondes (7 jours)

Tout est prêt, on peut lancer :

Arrêt du service Sudo isc-dhcp-server

Vérifions que les adresses sont émises, si tout est en ordre, passons à la connexion avec DNS. Pour nous connecter avec DNS, nous avons besoin d'une clé. La clé peut être générée avec la commande suivante

Dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER

La clé a été générée, et pour la voir nous utiliserons la commande :

Chat Kdhcp_updater.*.private|grep Clé

La clé doit être écrite, nous en aurons besoin dans deux fichiers de configuration. Ouvrez maintenant /etc/dhcp/dhcpd.conf et ajoutez n'importe où :

Clé DHCP_UPDATER ( //Description de la clé, ses algorithmes algorithme HMAC-MD5.SIG-ALG.REG.INT; secret "LA CLÉ EST ENREGISTRÉE ICI"; ) groupe de travail de zone. ( //zone dans laquelle DHCP doit mettre à jour le principal 127.0.0.1 ; clé DHCP_UPDATER ; ) zone 0.168.192.in-addr.arpa. (// zone inversée quel DHCP doit mettre à jour le serveur principal 127.0.0.1 ;

clé DHCP_UPDATER ; )

Terminé, DHCP va maintenant mettre à jour le DNS. Maintenant, dans le fichier DNS, vous devez autoriser cette mise à jour en spécifiant la clé. Ouvrez le fichier /etc/bind/named.conf.local et ajoutez-y :

Clé DHCP_UPDATER ( //Description de la clé, ses algorithmes algorithme HMAC-MD5.SIG-ALG.REG.INT; secret "LA CLÉ EST ENREGISTRÉE ICI"; )

Nous recherchons une description du groupe de travail et des zones 0.168.192.in-addr.arpa dans le même fichier et ajoutons la ligne allow-update ( key DHCP_UPDATER; ) à leur description ; Cela devrait ressembler à ceci :

Zone "groupe de travail" ( tapez master; fichier "/etc/bind/db.example.com";allow-update (clé DHCP_UPDATER; ); ); zone "0.168.192.in-addr.arpa" ( tapez master; fichier "/etc/bind/db.0.168.192"; autorisez la mise à jour ( clé DHCP_UPDATER; ); ); Maintenant, redémarrons Services DNS

et DHCP
Redémarrage du serveur isc-dhcp-server du service Sudo

Tout est prêt, désormais tous les ordinateurs ayant reçu des adresses DHCP seront inclus dans DNS.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :