Description de la zone directe dns centos 7. Test de la zone directe à l'aide de dig. Comment obtenir les paramètres réseau via DHCP

Dans ce document, j'aborderai un sujet d'actualité avec lequel commence presque tout travail initial avec le serveur. Configuration des paramètres réseau de base dans CentOS - adresse IP, DHCP, ipv6, DNS, nom d'hôte, routes statiques, cartes réseau et autres paramètres réseau. Nous aborderons le sujet étape par étape, du simple au complexe, en examinant toutes les nuances dans l'ordre et en répondant aux questions les plus courantes.

Paramètres réseau sur un serveur CentOS 7

La première fois que nous rencontrons les paramètres réseau d'un serveur CentOS, c'est lorsque nous effectuons l'installation. Sur l'écran de configuration initial, il y a un élément distinct concernant la configuration des interfaces réseau :

Après y être entré, nous voyons une liste des cartes réseau connectées. Chacun d'eux peut être activé à l'aide du curseur correspondant (point 1 sur l'image). Lorsque l'interface est activée, elle reçoit automatiquement les paramètres via DHCP. Vous pouvez voir le résultat du travail DHCP ici. Si vous n'êtes pas satisfait de ces paramètres, vous pouvez les modifier en cliquant sur configurer(point 3 sur la photo). Ici, vous pouvez également définir nom d'hôte(point 2 sur la photo) :


En ouvrant la fenêtre des paramètres supplémentaires Ehernet, vous pouvez modifier le nom de l'interface réseau, spécifier les paramètres IP (élément 1 dans l'image), sélectionner réglages manuels(point 2 sur la photo), attribuez adresse IP(point 3 sur l'image), installez serveur DNS(point 4 sur l'image) et enregistrez les paramètres réseau (point 5 sur l'image) :


Après avoir terminé les paramètres restants, l'installation commencera. Après l'installation, vous disposerez d'un serveur avec les paramètres réseau que vous avez spécifiés.

Considérons maintenant une autre situation. Vous n'avez pas créé le serveur, et donc la configuration réseau, mais vous devez maintenant le revoir ou le modifier. La console du serveur est à votre disposition, et nous y travaillerons. Si vous avez installé à partir d'un kit de distribution minimal, puis lorsque vous essayez d'afficher les paramètres réseau à l'aide de la commande siconfig dans la console, vous verrez ce qui suit :

Bash : ifconfig : commande introuvable

ou en version russe :

Bash : commande ifconfig introuvable

Pour travailler avec ifconfig et d'autres utilitaires réseau, vous devez installer le package outils réseau. Faisons ceci :

# miam -y install net-tools.x86_64

Vous pouvez maintenant voir les paramètres réseau :

mtu 1500 inet 192.168.159.129 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet) Paquets RX 319 octets 36709 (35,8 Ko) Erreurs RX 0 abandonné 0 dépassement 0 trame 0 Paquets TX 256 octets 148817 (145,3 KiB) Erreurs TX 0 abandonné 0 dépassement 0 transporteur 0 collision 0 lo: flags=73 mtu 65536 inet 127.0.0.1 masque de réseau 255.0.0.0 inet6 :: 1 préfixe 128 scopeid 0x10 boucle txqueuelen 0 (bouclage local) Paquets RX 6 octets 624 (624,0 B) Erreurs RX 0 abandonné 0 dépassement 0 trame 0 Paquets TX 6 octets 624 (624,0 B) Erreurs TX 0 abandonné 0 dépassement 0 porteuse 0 collision 0

Si vous ne souhaitez pas installer de package supplémentaire, vous pouvez utiliser une commande plus simple adresse IP avec paramètres :

# adresse IP 1 : lo : mtu 65536 qdisc noqueue state UNKNOWN lien/bouclage 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft pour toujours préféré_lft pour toujours inet6::1/ 128 hôte de portée valid_lft pour toujours préféré_lft pour toujours 2 : eno16777728 : mtu 1500 qdisc pfifo_fast state UP qlen 1000 lien/ether 00:0c:29:7d:59:3f brd ff:ff:ff:ff:ff:ff inet 192.168.159.129 /24 brd 192.168.159.255 portée dynamique globale eno16777728 valid_lft 1709sec préféré_lft 1709sec inet6 fe80::20c:29ff:fe7d:593f/64 lien de portée valid_lft pour toujours préféré_lft pour toujours

Nous avons vu la configuration du réseau, modifions-la maintenant. Disons que nous devons changer l'adresse IP. Pour ce faire, accédez au répertoire /etc/sysconfig/network-scripts et ouvrez le fichier pour le modifier. ifcfg-eth0. Ce fichier a approximativement le contenu suivant :

En utilisant les paramètres de ce fichier, nous obtenons l'adresse IP via DHCP. Pour enregistrer manuellement une IP statique, nous amenons le fichier au contenu suivant :

Nous avons modifié les paramètres :

Pour que les modifications prennent effet, vous devez relire les paramètres réseau :

Redémarrage du réseau (via systemctl) : [OK]

Vérifiez si la nouvelle configuration réseau a été appliquée :

# ifconfig : eno16777728 : drapeaux=4163 mtu 1500 inet 192.168.159.129 masque de réseau 255.255.255.0 diffusion 192.168.159.255 inet6 fe80::20c:29ff:fe7d:593f préfixlen 64 scopeid 0x20 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet) Paquets RX 672 octets 71841 (70,1 Ko) Erreurs RX 0 abandonné 0 dépassement 0 trame 0 Paquets TX 572 octets 290861 (284,0 KiB) Erreurs TX 0 abandonné 0 dépassement 0 transporteur 0 collisions 0

Tout va bien, les nouveaux paramètres de l'interface réseau sont installés.

Comment obtenir les paramètres réseau via DHCP

Considérons maintenant la situation inverse. Disons que certains paramètres de votre carte réseau sont définis manuellement. Mais vous souhaitez que votre ordinateur reçoive les paramètres réseau via DHCP en tant que client. Pour ce faire, vous devez effectuer l’opération inverse de ce que nous faisions auparavant. Autrement dit, ouvrez le fichier /etc/sysconfig/network-scripts/ifcfg-eth0 et supprimez les lignes avec les paramètres DNS, IPADDR, PREFIX, GATEWAY et spécifiez la valeur dans le paramètre BOOTPROTO "dhcp". Enregistrez le fichier et redémarrez le réseau :

# /etc/init.d/network restart

Ensuite, nous vérifions si notre client a reçu les paramètres via DHCP.

Comment configurer DNS dans CentOS 7

Les paramètres actuels du serveur DNS dans CentOS peuvent être consultés à deux endroits :

  1. Dans le fichier avec les paramètres de la carte réseau ifcfg-eth0, que nous avons déjà édité plusieurs fois.
  2. Dans le fichier /etc/resolv.conf

Pourquoi ils sont maintenant à deux endroits, je ne sais pas, mais avant, les paramètres du serveur DNS dans certaines distributions, je ne me souviens pas exactement lesquelles, n'étaient indiqués que dans resolv.conf, mais à un moment donné, cela a changé. Et tous les paramètres réseau ont commencé à être stockés dans un seul fichier avec l'adresse, la passerelle, le masque, etc. Si vous modifiez maintenant le fichier resolv.conf et y ajoutez des DNS de serveur, après un redémarrage, ils seront remplacés par les valeurs du fichier ifcfg-eth0.

Ainsi, afin de définir les paramètres du serveur DNS, vous devez modifier le fichier de paramètres réseau ifcfg-eth0, en ajoutant autant de serveurs que nécessaire. Par exemple comme ceci :

DNS1="192.168.159.2" DNS2="8.8.8.8" DNS3="8.8.4.4"

Pour appliquer les paramètres, enregistrer le fichier et redémarrer le réseau, tout se passe comme d'habitude. Après avoir redémarré le serveur, les paramètres DNS seront écrits dans le fichier resolv.conf

# cat /etc/resolv.conf # Généré par le serveur de noms NetworkManager 192.168.159.2 serveur de noms 8.8.8.8 serveur de noms 8.8.4.4

Comment désactiver ipv6 dans CentOS 7

Actuellement en utilisation active du protocole IPv6 non, et ce n'est pas nécessaire dans le cadre d'un travail normal. Même si nous avons peur depuis de nombreuses années qu'il n'y ait pratiquement plus d'adresses IP gratuites, en réalité il y en a encore assez pour tout le monde. Ainsi, pour des raisons pratiques, ipv6 n'est actuellement pas nécessaire sur le serveur et peut être désactivé.

Avant de désactiver IPv6, au cas où, vous devez vérifier quels programmes l'utilisent dans leur travail. Ceci est nécessaire afin d'éviter des erreurs dans leur fonctionnement en désactivant au préalable ipv6 dans les configurations. Afin de voir quels programmes sont bloqués sur l'interface ipv6, utilisez la commande netstat :

# netstat -tulnp Connexions Internet actives (serveurs uniquement) Proto Recv-Q Send-Q Adresse locale Adresse étrangère État PID/Nom du programme tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2317/master tcp 0 0 0.0.0.0 :22 0.0.0.0:* ÉCOUTER 1333/sshd tcp6 0 0::1:25:::* ÉCOUTER 2317/master tcp6 0 0:::22:::* ÉCOUTER 1333/sshd udp 0 0 0.0.0.0:49252 0.0.0.0:* 694/avahi-daemon: r udp 0 0 0.0.0.0:123 0.0.0.0:* 715/chronyd udp 0 0 0.0.0.0:5353 0.0.0.0:* 694/avahi-daemon: r udp 0 0 127.0.0.1:323 0.0.0.0:* 715/chronyd udp6 0 0:::123:::* 715/chronyd udp6 0 0::1:323:::* 715/chronyd

Toutes les lignes avec ::: sont le protocole ipv6. Dans mon cas, il s'agit de sshd, postfix et chronyd. Désactivons ipv6 pour eux et ne laissons que ipv4.

Commençons par sshd. Ouvrez le fichier de paramètres /etc/ssh/sshd_config et recherchez les lignes :

#AddressFamily n'importe quel #ListenAddress 0.0.0.0

Décommentons-les et modifions-les. Cela devrait ressembler à ceci :

AddressFamily inet ListenAddress 0.0.0.0

Ouvrez maintenant le fichier de paramètres Postfix /etc/postfix/main.cf. On y cherche la ligne :

#inet_protocols = tous

Remplacer par :

Inet_protocoles = ipv4

Désactivez IPv6 dans Chronyd. Pour cela, créez le fichier /etc/sysconfig/ chronyde et ajoutez la ligne :

OPTIONS=-4

Maintenant, nous désactivons ipv6 dans CentOS. Ouvrez le fichier /etc/ sysctl.conf et ajoutez-y les lignes :

Net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1

Modification du fichier /etc/sysconfig/ réseau, en y ajoutant :

NETWORKING_IPV6=non IPV6INIT=non

Redémarrez et vérifiez le résultat :

# redémarrage # ifconfig eno16777728 : flags=4163 mtu 1500 inet 192.168.159.129 masque de réseau 255.255.255.0 diffusion 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet) paquets RX 2301 octets 243024 (237,3 Ko) erreurs 0 abandonné 0 dépassement 0 trame 0 paquets TX 2138 octets 1327955 (1,2 Mo) Erreurs TX 0 abandonné 0 dépassement 0 porteuse 0 collision 0 lo : flags=73 mtu 65536 inet 127.0.0.1 masque de réseau 255.0.0.0 boucle txqueuelen 0 (bouclage local) paquets RX 0 octets 0 (0,0 B) erreurs RX 0 abandonné 0 dépassement 0 trame 0 paquets TX 0 octets 0 (0,0 B) erreurs TX 0 abandonné 0 dépassement 0 transporteur 0 collisions 0

Il n'y a aucune mention des adresses au format inet6 et ipv6 nulle part. Donc tout va bien, nous avons désactivé ipv6 dans CentOS. Vérifions maintenant la liste des ports ouverts :

# netstat -tulnp Connexions Internet actives (serveurs uniquement) Proto Recv-Q Send-Q Adresse locale Adresse étrangère État PID/Nom du programme tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2291/master tcp 0 0 0.0.0.0 :22 0.0.0.0:* ÉCOUTER 1322/sshd udp 0 0 0.0.0.0:123 0.0.0.0:* 2453/chronyd udp 0 0 0.0.0.0:5353 0.0.0.0:* 697/avahi-daemon: r udp 0 0 127.0.0.1:323 0.0.0.0:* 2453/chronyd udp 0 0 0.0.0.0:57259 0.0.0.0:* 697/avahi-daemon : r

Tous les ports sont en IPv4. Tout est en ordre, notre tâche est accomplie.

Comment changer le nom d'hôte dans CentOS 7

Par défaut, lors de l'installation, CentOS met le nom d'hôte localhost.localdomain. Si vous ne l'avez pas modifié, vous pourrez le faire plus tard. Tout d’abord, vérifions le nom d’hôte que vous avez défini. Cela se fait en utilisant la commande dans la console nom d'hôte, ou en utilisant un nom:

# nom d'hôte localhost.localdomain # uname -n localhost.localdomain

Afin de changer le nom d'hôte dans CentOS, vous devez modifier le fichier /etc/nom d'hôte. Vérifions son contenu :

# cat /etc/hostname localhost.localdomain

Modifions ce fichier pour changer le nom d'hôte :

# mcedit /etc/hostname centos.localhost

Enregistrez le fichier et vérifiez :

# nom d'hôte centos.localhost

Il existe une commande prête à l'emploi qui définit immédiatement le nom du serveur requis :

# hostnamectl set-hostname centos.localhost

Tout va bien, nous avons changé le nom d'hôte en centos.localhost

Définir la passerelle par défaut dans CentOS 7

Si, pour une raison quelconque, vous n'avez pas défini la passerelle par défaut lors de la configuration des paramètres réseau, vous pouvez le faire manuellement. Tout d’abord, vérifions quelle passerelle par défaut est actuellement installée dans le système :

# netstat -nr Table de routage IP du noyau Passerelle de destination Genmask Drapeaux Fenêtre MSS irtt Iface 0.0.0.0 149.154.71.254 0.0.0.0UG 0 0 0 eth0 10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0 10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 149.154.70.0 0.0.0.0 255.255.254.0 0 0 0 eth0 192.168.1.0 10.8.0.2 255.255 255.0. UG 0 0 0 tun0

La ligne avec Destination 0.0.0.0 spécifie l'adresse de la passerelle. Si vous ne l'avez pas ou si une mauvaise passerelle est définie dans le champ Passerelle, vous pouvez modifier cela. Définissez la passerelle par défaut :

route ajouter le gw par défaut 192.168.0.1

Gestionnaire de réseau dans CentOS 7

CentOS dispose par défaut d'un service qui gère toutes les connexions réseau - Gestionnaire de réseau. Il surveille en permanence les paramètres réseau et, à l'aide d'un démon de gestion de configuration, apporte les modifications appropriées aux périphériques réseau actifs. Il prend en charge les fichiers de configuration ifcfg standard.

Liste des utilitaires et applications réseau :

Les utilisateurs n'interagissent pas directement avec NetworkManager sur CentOS ; ils utilisent des utilitaires graphiques et de ligne de commande pour ce faire. Un de ces utilitaires est tui réseau de configuration système.

Tui réseau de configuration système dans CentOS 7

Pour gérer les paramètres réseau dans CentOS, vous pouvez utiliser un utilitaire graphique nmtui. Il est très simple de vérifier sa présence dans le système. Il suffit de l'exécuter dans la console :

Si vous ne l’avez pas installé, c’est très facile à réparer. Installer dans le tui réseau de configuration du système CentOS :

# miam, installez NetworkManager-tui

En utilisant tui vous pouvez spécifier tous les paramètres réseau que nous avons effectués auparavant via la ligne de commande et en modifiant les fichiers de configuration. Faisons ça. Appelez le programme :

Sélectionnez le premier élément Modifier une connexion, puis sélectionnez l'interface réseau et cliquez sur « Modifier » :

Ici, nous pouvons changer le nom de la carte réseau, l'adresse Mac, spécifier le type de paramètres réseau - manuel ou DHCP, spécifier manuellement l'adresse IP, l'adresse de la passerelle, le serveur DNS, ajouter des routes et quelques autres paramètres :


Une fois l'édition terminée, enregistrez les paramètres en cliquant sur OK.
Si vous sélectionnez l'élément sur le premier écran de l'utilitaire Définir le nom d'hôte du système, vous pouvez spécifier rapidement le nom d'hôte. Le résultat sera le même que précédemment dans la console.

Comment ajouter une route statique dans CentOS 7

Pour contrôler le routage sur CentOS, vous devrez peut-être ajouter une route statique. C'est assez simple à faire en utilisant la commande console. Tout d'abord, vérifions les itinéraires existants en utilisant netstat:

# netstat -nr Table de routage IP du noyau Passerelle de destination Genmask Indicateurs Fenêtre MSS irtt Iface 0.0.0.0 192.168.159.2 0.0.0.0 UG 0 0 0 eno16777728 192.168.159.0 0.0.0.0 255.255.255.0 U 0 0 eno167777 28

Dans ce cas, nous avons une route pour l'adresse 0.0.0.0/0.0.0.0 ; la passerelle est 192.168.159.2, qui est également la passerelle par défaut. Autrement dit, il n’existe pas d’itinéraires statiques. Ajoutons-en un.

Disons que nous avons un sous-réseau 192.168.8.0, masque 255.255.255.0, le trafic vers ce sous-réseau est acheminé par la passerelle 192.168.159.5. Ajoutez une route :

# route ajouter -net 192.168.8.0/24 gw 192.168.159.5

Vérifiez si l'itinéraire ajouté est apparu dans table de routage:

# netstat -nr Table de routage IP du noyau Passerelle de destination Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.159.2 0.0.0.0 UG 0 0 0 eno16777728 192.168.8.0 192.168.159.5 255.255.255.0 U G 0 0 0 fr o16777728 192.168.159.0 0.0.0.0 255.255.255.0 U 0 0 0 eno16777728

Tout va bien, l'itinéraire a été ajouté. Mais après le redémarrage, cette route statique sera supprimée. Pour éviter que cela ne se produise et enregistrer les itinéraires ajoutés, vous devez les écrire dans un fichier spécial. Dans le dossier /etc/sysconfig/network-scripts, créez un fichier appelé route-eth0 le contenu suivant :

# mcedit /etc/sysconfig/network-scripts/route-eth0 192.168.8.0/24 via 192.168.159.5

Redémarrez et vérifiez si la route est en place :

# reboot # netstat -nr Table de routage IP du noyau Passerelle de destination Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.159.2 0.0.0.0 UG 0 0 0 eno16777728 192.168.8.0 192.168.159.5 255.255.25 5.0 UG 0 0 0 eno16777728 192.168.159.0 0.0 .0.0 255.255.255.0 U 0 0 0 eno16777728

Tout va bien, la route statique a été ajoutée.

Comment configurer 2 adresses IP sur une seule interface

Si vous devez configurer 2 PI adresses sur une interface dans CentOS, alors faire cela est assez simple. Utilisons la commande ifconfig. Tout d'abord, vérifions la liste des interfaces réseau :

# ifconfig eno16777728 : flags=4163 mtu 1500 inet 192.168.159.129 masque de réseau 255.255.255.0 diffusion 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet) Paquets RX 254 octets 30173 (29,4 Ko) Erreurs RX 0 abandonnées 0 dépassement 0 image 0 TX paquets 204 octets 27658 (27,0 Ko) Erreurs TX 0 abandonné 0 dépassement 0 porteuse 0 collision 0 lo : flags=73

Ajoutons une autre adresse IP 192.168.159.120 à l'interface eno16777728 :

# ifconfig eno16777728:1 192.168.159.120

Vérifions ce qui s'est passé :

# ifconfig eno16777728 : flags=4163 mtu 1500 inet 192.168.159.129 masque de réseau 255.255.255.0 diffusion 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet) Paquets RX 254 octets 30173 (29,4 Ko) Erreurs RX 0 abandonnées 0 dépassement 0 image 0 TX paquets 204 octets 27658 (27,0 Ko) Erreurs TX 0 abandonné 0 dépassement 0 porteuse 0 collision 0 eno16777728:1 : flags=4163 mtu 1500 inet 192.168.159.120 masque de réseau 255.255.255.0 diffusion 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet) lo : flags=73 mtu 65536 inet 127.0.0.1 masque de réseau 255.0.0.0 boucle txqueuelen 0 (bouclage local) paquets RX 11 octets 940 (940,0 B) erreurs RX 0 abandonné 0 dépassement 0 trame 0 paquets TX 11 octets 940 (940,0 B) erreurs TX 0 abandonné 0 dépassement 0 transporteur 0 collisions 0

Tout va bien, nous avons ajouté une deuxième adresse IP à la même interface. Mais après un redémarrage, l'adresse supplémentaire ne sera pas enregistrée. Pour l'enregistrer, vous devez créer un fichier de paramètres d'interface dans le dossier /etc/sysconfig/network-scripts

# mcedit /etc/sysconfig/network-scripts/ ifcfg-eno16777728:1 DEVICE=eno16777728:1 BOOTPROTO=statique IPADDR=192.168.159.120 NETMASK=255.255.255.0 ONBOOT=oui

Enregistrez le fichier, redémarrez et vérifiez ce qui s'est passé. La deuxième adresse IP doit être en place.

Comment faire un redémarrage du réseau dans CentOS 7

J'ai déjà abordé cette question plus tôt, mais juste au cas où nous la répéterions séparément. Disons que vous avez apporté des modifications à la configuration de votre réseau. Comment puis-je appliquer ces paramètres sans redémarrer le serveur ? Très simple. Pour redémarrer le réseau dans CentOS, utilisez simplement la commande :

# /etc/init.d/network restart

Le service NetworkManager relira tous les paramètres réseau et appliquera les modifications.

Comment connaître l'adresse IP dans CentOS 7

Afin de connaître rapidement l'adresse IP actuelle dans CentOS, vous devez utiliser les commandes suivantes :

#ifconfig | grep inet inet 192.168.159.129 masque de réseau 255.255.255.0 diffusion 192.168.159.255 inet 127.0.0.1 masque de réseau 255.0.0.0

Ou la deuxième option pour déterminer l'adresse IP locale :

# adresse IP | grep inet inet 127.0.0.1/8 hôte de portée lo inet 192.168.159.129 /24 brd 192.168.159.255 portée mondiale eno16777728

Les deux commandes vous permettent de connaître rapidement votre adresse IP.

Que faire si CentOS ne voit pas la carte réseau ?

Vous avez installé le serveur, démarré et découvert qu'il n'y a pas une seule carte réseau dans le système. Que faire dans ce cas ? Tout d’abord, regardez le résultat de la commande dmesg et recherchez-y une mémoire de votre carte. Peut-être qu'il est dans le système, mais qu'il n'est pas activé. Vous pouvez l'activer en utilisant nmtui, ce que j'ai dit ci-dessus.

Il y a un élément de menu Activer la connexion, vous devez y accéder et activer votre carte réseau. Après cela, vous pouvez le configurer.

Si votre carte réseau n'est pas dans le système, vous devez rechercher sur Internet des informations sur cette carte réseau par modèle. Peut-être qu'il y aura des pilotes pour cela dans les référentiels. C'est une situation assez courante. Le plus souvent, des pilotes seront trouvés et devront être installés correctement.

Il est toujours possible que vous ne voyiez pas votre carte lors de la sortie de la commande ifconfig si aucun fil réseau n'est branché sur cette carte. Pour être sûr de visualiser toutes les interfaces, vous devez utiliser le commutateur -a :

# ifconfig -a

Il existe une autre façon de rechercher une carte réseau dans le système. Installer le paquet pciutils:

# miam -y installer pciutils

Et regardez le résultat de la commande :

#lspci | grepEthernet

Si la carte réseau est vue par le système, cela devrait ressembler à ceci :

02:00.0 Contrôleur Ethernet : Contrôleur Ethernet Gigabit Intel Corporation 82545EM (cuivre) (rév 01)

Si la sortie est vide, alors la carte réseau n'est pas définie.

Que faire si le réseau n'est pas disponible sur CentOS ?

Disons que vous essayez d'envoyer une requête ping à une adresse, par exemple 8.8.8.8, et que vous recevez une réponse indiquant que le réseau n'est pas disponible :

#ping 8.8.8.8

Et en réponse vous obtenez :

Connecter : le réseau n'est pas disponible

Cette situation peut survenir si aucune passerelle par défaut n'est installée. Vous pouvez l'ajouter à l'aide de la commande :

# route ajouter le gw par défaut 192.168.0.1

Si le problème ne vient pas de la passerelle, vous devez alors vérifier les paramètres des cartes réseau. S'il n'y a pas d'adaptateur actif, vous recevrez également un message indiquant que le réseau ne fonctionne pas. Il est nécessaire qu'au moins une carte réseau soit correctement configurée sur le système. Comment procéder est écrit ci-dessus.

À l'aide des utilitaires réseau traceroute, creusez dans CentOS

Pour diagnostiquer les connexions réseau dans CentOS, il est utile d'utiliser des utilitaires spéciaux. Mais si vous avez utilisé l'installation minimale, ils ne seront probablement pas sur le système. Par exemple, l'utilitaire populaire traceroute Lorsque vous essayez de le lancer, il affichera le message suivant :

# traceroute ya.ru bash : traceroute : commande introuvable

Il doit être installé séparément du référentiel :

# miam -y installer traceroute

Même chose avec le programme populaire creuser pour travailler avec des serveurs et des enregistrements DNS :

# dig ya.ru bash : dig : commande introuvable

Pour que cet utilitaire réseau fonctionne, vous devez installer le package utilitaires de liaison:

# miam -y installer bind-utils

Configuration du VLAN 802.1Q dans CentOS 7

Pour créer une interface balisée sur CentOS, vous devez d'abord vérifier la prise en charge du noyau 8021q:

#modprobe8021q

S'il n'y a pas de message d'erreur, alors tout est en ordre, le module est chargé. Si le module n'est pas trouvé, vous devez reconstruire les modules du noyau, permettant ainsi la prise en charge du module requis. Vérifions, au cas où, si le module est chargé :

# lsmod | grep 8021q 8021q 29022 0 garp 14384 1 8021q mrp 18542 1 8021q

Tout va bien, le module 8021q est chargé, ajoutons-le au démarrage :

# echo 8021q >> /etc/modules-load.d/8021q.conf

Créez maintenant un fichier de configuration pour le vlan dans /etc/sysconfig/network-scripts :

# mcedit ifcfg-eth0.2000 VLAN=oui DEVICE=eth0.2000 BOOTPROTO=statique ONBOOT=oui TYPE=Vlan IPADDR=192.168.100.2 MASQUE RÉSEAU=255.255.255.0

J'attire votre attention sur ce qui est souligné en gras. Dans toutes les instructions sur Internet que j'ai rencontrées, ce paramètre était indiqué comme TYPE=Ethernet, mais avec ce paramètre, l'interface avec vlan n'a pas augmenté, une erreur est apparue :

Erreur : aucun périphérique trouvé pour la connexion "Système eth0.2000".

Ce n’est qu’après l’avoir réparé que tout a fonctionné comme il se doit. Alors enregistrez et activez l'interface :

# ifup eth0.2000 Connexion activée avec succès (chemin actif D-Bus : /org/freedesktop/NetworkManager/ActiveConnection/7)

Vérification de notre VLAN :

# ip l ls 1 : lo : mtu 65536 qdisc noqueue state INCONNU mode DEFAULT lien/bouclage 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:15:5d:01:0f:06 brd ff:ff:ff:ff:ff:ff 3 : eth0.2000@eth0 : mtu 1500 qdisc noqueue state UP mode DEFAULT link/ether 00:15:5d:01:0f:06 brd ff:ff:ff:ff:ff:ff

Tout va bien, l'interface taguée est en place. Par analogie, vous pouvez créer plusieurs interfaces similaires, sans oublier de modifier leurs noms et adresses.

Ceci conclut mon volumineux matériel sur le thème de la configuration du réseau dans CentOS. Je serai très heureux de recevoir des commentaires, des remarques et des corrections. Ils le feront probablement. En créant de tels supports, j'apprends tout d'abord moi-même et j'améliore mes connaissances dans le domaine. Il peut y avoir des erreurs et des fautes de frappe ici quelque part, même si je vérifie tout sur les systèmes en direct lors de la rédaction des manuels, mais des inexactitudes et des fautes de frappe sont toujours possibles.

Cours en ligne "Administrateur Linux"

Si vous souhaitez apprendre à créer et maintenir des systèmes hautement disponibles et fiables, je vous recommande de vous familiariser avec cours en ligne « Administrateur Linux » dans OTUS. Le cours n'est pas destiné aux débutants ; pour vous inscrire, vous avez besoin de connaissances de base en réseaux et en installation de Linux sur une machine virtuelle. La formation dure 5 mois, à l'issue desquels les diplômés retenus pourront passer des entretiens avec des partenaires. Testez-vous au test d'entrée et consultez le programme pour plus de détails.

En mots simples. Versions des logiciels utilisés : CentOS 7, BINВ 9.

Préparation du serveur

Installez toutes les mises à jour :

Installez l'utilitaire de synchronisation de l'heure :

# miam, installe ntpdate

Configuration d'un fuseau horaire :

# \cp /usr/share/zoneinfo/Europe/Moscou /etc/localtime

* dans cet exemple, l'heure de Moscou est sélectionnée.

Et synchronisez l'heure avec un serveur externe :

# ntpdate ru.pool.ntp.org

Ouvrez le port dans le pare-feu :

# pare-feu-cmd --permanent --add-port=53/udp

Et relisez les paramètres du pare-feu :

# pare-feu-cmd --reload

Installation et exécution de BIND

Nous installons le serveur DNS avec la commande suivante :

# Miam, installez la liaison

Autoriser le démarrage automatique :

# systemctl activé nommé

Commençons le service de noms :

# systemctl start nommé

Et on vérifie que cela fonctionne correctement :

# statut systemctl nommé

Configuration de base du serveur DNS

Ouvrez le fichier de configuration de liaison pour le modifier :

# vi /etc/named.conf

et modifiez ce qui suit :

port d'écoute 53 ( 127.0.0.1 ; localhost ; 192.168.166.155 ; ) ;
...
autorisation-requête ( any; );

* Où 192.168.166.155 — Adresse IP de notre serveur NS où il recevra les requêtes ; autoriser la requête permet à tout le monde d'exécuter des requêtes, mais pour des raisons de sécurité, vous pouvez restreindre l'accès à un réseau spécifique, par exemple, au lieu de n'importe lequelécrire 192.168.166.0/24 .

Pour appliquer les paramètres, exécutez la commande :

# redémarrage systemctl nommé

Pour vérifier la fonctionnalité du serveur depuis un autre ordinateur du réseau (par exemple, sous Windows), exécutez la commande :

> site nslookup 192.168.166.155

* avec cette commande nous essayons de connaître les adresses IP du site site web via le serveur 192.168.166.155 .

Cela devrait ressembler à ceci :

Description des options globales

Les paramètres suivants sont globaux pour DNS et toutes les zones configurées. Ils sont définis dans le fichier de configuration nommé.conf, la directive options().

Possibilités Descriptions
annuaire Spécifie le répertoire de travail du serveur de liaison. Si non spécifié, /var/named
transitaires Liste les serveurs vers lesquels la requête sera transférée si notre serveur ne peut pas la traiter (il n'y a pas de zone correspondante.)
avant Remplace la façon dont la demande est traitée. Accepte deux valeurs - SEULEMENT ou PREMIER. Le premier indique que le serveur ne tentera pas de faire correspondre les zones locales. Deuxièmement, le serveur redirigera d'abord la demande et si elle n'est pas traitée avec succès, recherchera des correspondances dans la base de données interne.
écouter Sur quelles interfaces liera-t-il l'écoute ?
autoriser le transfert Indication de la liste des serveurs vers lesquels les transferts de zone seront autorisés (réplication vers les NS secondaires)
autoriser la requête Liste des nœuds à partir desquels l'accès au serveur est autorisé. Si non précisé, tous sont autorisés.
autoriser-notifier Permet aux serveurs répertoriés d'envoyer des notifications sur les modifications apportées aux paramètres de zone.
autoriser la récursion Spécifie une liste d'hôtes pour lesquels les requêtes récursives sont autorisées ; les autres seront autorisés à effectuer des requêtes itératives. Si non spécifié, de manière récursive pour tous.

Exemple de paramètres globaux

options (
répertoire "/var/named" ;
transitaires ( 192.168.0.10 ; 77.88.8.8 ; 8.8.8.8 ; ) ;
écoute (127.0.0.1; localhost; 192.168.166.155; );
autoriser le transfert ( 192.168.1.15; 192.168.0.0/24; );
permettre-requête ( 192.168.1.0/24 ; 192.168.0.2 ; 192.168.0.3 ; );
autoriser-notifier ( 192.168.0.15; );
autoriser la récursion ( any; );
}

lier des zones

Pour pouvoir rechercher des correspondances dans votre propre base de données de domaine, vous devez créer et configurer des zones. Les types de zones suivants existent :

  1. Primaire, également appelé maître, également appelé local. Une base de données mise à jour et modifiée sur le serveur actuel. Apprenez-en davantage sur la configuration de la zone de liaison principale.
  2. Secondaire ou esclave. La base de données copie les paramètres de la zone principale sur un autre serveur. Apprenez-en davantage sur la configuration d’une zone de liaison secondaire.
  3. Talon ou talon. Stocke uniquement les enregistrements NS, selon lesquels toutes les demandes sont transférées aux serveurs NS appropriés.
  4. Mise en cache ou indice. Il ne stocke aucun enregistrement sur le réseau, uniquement les résultats des requêtes déjà traitées pour accélérer les réponses aux requêtes répétées.

Résoudre les problèmes à l'aide des fichiers journaux

Par défaut, le serveur Bind stocke les journaux dans un fichier
/var/named/data/named.run.

Pour l'afficher en continu, entrez la commande suivante :

queue /var/named/data/named.run

Le niveau de détail du journal peut être configuré dans le fichier de configuration :

journalisation (
canal default_debug (
fichier "data/named.run" ;
dynamique de gravité ;
};
};

* Où déposer— chemin d'accès au fichier journal ; gravité— le niveau de sensibilité aux événements émergents. Les options suivantes sont disponibles pour la gravité :

  • critique- des erreurs critiques.
  • erreur— erreurs et plus (critiques).
  • avertissement- avertissements et ci-dessus. Les avertissements n'indiquent pas des problèmes avec le service ; cependant, ce sont des événements qui peuvent conduire à des erreurs, vous ne devez donc pas les ignorer.
  • avis- notifications et ci-dessus.
  • infos- information.
  • déboguer- débogage (journal détaillé).
  • dynamique- le même débogage.
|

Ce guide couvrira l'installation et la configuration du serveur DNS BIND.

Pour suivre les instructions, il est recommandé de configurer au moins deux serveurs cloud pour exécuter des serveurs de noms ; Avoir plusieurs serveurs de noms vous permet d'utiliser des ressources de sauvegarde en cas d'erreur. Vous pouvez également envisager d’utiliser deux points de présence (POP) différents. Il est supposé utiliser un serveur de noms principal (maître) et secondaire (esclave).

Il convient de noter que lors de la gestion d'un grand nombre de domaines, cette solution n'est peut-être pas la plus efficace, car vous devrez ajouter manuellement des domaines au maître et à l'esclave. Cela dit, gérer vos propres serveurs de noms est un excellent moyen de conserver un contrôle direct sur votre infrastructure d'hébergement et vos enregistrements DNS.

Comme toujours, il est important de commencer par vous assurer que votre système est à jour. Recherchez les mises à jour en utilisant miam :

Installation de BIND

Pour installer les packages BIND et bind-utils, utilisez yum :

Ouvrez ensuite le fichier de configuration BIND et apportez-y quelques ajustements.

nano -w /etc/named.conf

Dans le fichier, recherchez la section options, qui ressemble à ceci (au lieu de 2.2.2.2 - l'adresse IP du deuxième serveur) :

options (


répertoire "/var/named" ;



autorisation-requête ( any; );
autoriser le transfert ( localhost; 2.2.2.2; );
récursion non ;
activation DNSSEC oui ;
validation DNSSEC oui ;
dnssec-lookaside auto ;
/* Chemin vers la clé ISC DLV */


};

La directive d'écoute doit être commentée pour écouter sur les interfaces disponibles. La directive de récursivité doit être désactivée pour empêcher la réflexion des attaques DDoS. La directive allow-transfer ajoute l'adresse IP du serveur secondaire à la liste blanche. De plus, vous devez modifier la valeur de la directiveallow-query en any pour autoriser les utilisateurs à accéder aux zones.

Ensuite, vous devez ajouter une nouvelle zone pour le premier domaine. Pour ce faire, placez le code suivant à la fin du fichier nommé.conf :

zone "mondomaine.com" DANS (
tapez maître ;
fichier « mondomaine.com.zone » ;
autoriser la mise à jour (aucun ;); ;
};

Enregistrez les modifications dans nommé.conf. Après cela, vous pouvez commencer à créer un fichier de description de zone (fichier de zone).

Configuration des zones BIND

Vous devez d'abord ouvrir le fichier de zone en précisant le nom saisi dans le fichier de configuration précédent (mondomaine.com.zone).

nano -w /var/named/mydomain.com.zone

Ajoutez le code suivant au fichier. Remplacez les adresses IP conditionnelles par les adresses de vos serveurs (1.1.1.1 – adresse IP du premier serveur, 2.2.2.2 – adresse IP du deuxième serveur, 3.3.3.3 – IP vers laquelle vous souhaitez faire pointer le domaine (par exemple , un serveur Web)). Apportez d'autres modifications au code si nécessaire.

$ TTL 86 400
@ DANS SOA ns1.mydomain.com. root.mondomaine.com. (
2013042201 ; Série
3600 ; Actualiser
1800 ; Réessayer
604800 ; Expire
86400 ; Durée de vie minimale
; Spécifiez nos deux serveurs de noms
DANS NS ns1.mydomain.com.
DANS NS ns2.mydomain.com.
; Résolvez les noms d'hôte des serveurs de noms en IP, remplacez-les par vos deux adresses IP de droplet.
ns1 DANS A 1.1.1.1
ns2 DANS A 2.2.2.2
; Définissez le nom d'hôte -> les paires IP que vous souhaitez résoudre
@ DANS A 3.3.3.3
www DANS UN 3.3

Lancement nommé. Le démarrage peut prendre quelques minutes, car au premier démarrage de nommé, il crée un fichier rndc.key.

service nommé redémarrage

Après avoir démarré avec succès le démon nommé, vous devez vous assurer qu'il est activé en tant que service :

chkconfig nommé sur

Le serveur de noms principal est désormais complètement prêt. Pour vérifier que BIND fonctionne comme prévu, exécutez la commande suivante, en spécifiant l'adresse IP du serveur au lieu de 1.1.1.1 :

creuser @1.1.1.1 mondomaine.com

Si le résultat contient les sections de réponse et d'autorité, cela signifie que la configuration a été effectuée correctement.

Mise en place d'un serveur esclave

Le serveur maître est donc prêt à fonctionner. Vous devez maintenant configurer un serveur de noms secondaire sur le deuxième serveur cloud.

Assurez-vous que le système est à jour.

Installez BIND et ses utilitaires sur le deuxième serveur cloud :

miam, installez bind bind-utils -y

Ouvrez nommé.conf et effectuez les mêmes ajustements que sur le premier serveur, en omettant la directive d'autorisation de transfert - cette directive n'est pas nécessaire, car les enregistrements ne seront transférés qu'à partir du serveur de noms principal.

nano -w /etc/named.conf
options (
#écouter le port 53 ( 127.0.0.1; );
port d'écoute sur v6 53 ( ::1; );
répertoire "/var/named" ;
fichier de dump "/var/named/data/cache_dump.db" ;
fichier de statistiques "/var/named/data/named_stats.txt" ;
fichier memstatistics "/var/named/data/named_mem_stats.txt" ;
autorisation-requête ( any; );
récursion non ;
activation DNSSEC oui ;
validation DNSSEC oui ;
dnssec-lookaside auto ;
/* Chemin vers la clé ISC DLV */
fichier bindkeys "/etc/named.iscdlv.key" ;
répertoire-clés-gérés "/var/named/dynamic" ;
};

Ajoutez les zones configurées sur le serveur précédent, en remplaçant la valeur de la directive type par slave. Précisez l'IP du premier serveur au lieu de 1.1.1.1 :

zone "mondomaine.com" DANS (
tapez esclave ;
maîtres ( 1.1.1.1; );
fichier « mondomaine.com.zone » ;
};

Une fois que vous avez configuré la zone esclave, démarrez le démon nommé. Encore une fois, cela peut prendre quelques minutes car la première fois que le démon s'exécute sur le serveur, il crée un fichier rndc.key.

service nommé start

Tout comme sur le premier serveur cloud, vérifiez si le démon nommé est en cours d'exécution :

chkconfig nommé sur

Le serveur de noms secondaire est maintenant prêt à fonctionner. Pour vous assurer que cela fonctionne comme prévu, utilisez la commande suivante, en remplaçant 2.2.2.2 par l'adresse IP du deuxième serveur cloud.

creuser @2.2.2.2 mondomaine.com

Après avoir apporté des modifications aux fichiers de zone du serveur principal, vous devez redémarrer BIND. N'oubliez pas que vous devez également augmenter la directive série pour garantir que les serveurs principal et secondaire fonctionnent de manière synchrone.

Pour redémarrer les fichiers de zone, utilisez la commande suivante d'abord sur le maître puis sur l'esclave :

BIND dans un environnement chroot

Sur CentOS, c'est très simple. Notez simplement que les chemins BIND actifs seront remplacés par des équivalents chroot (par exemple, var/named devient /var/named/chroot/var/named). Dans CentOS 6, vous n'avez pas besoin de déplacer de fichiers car le package créera automatiquement des liens symboliques vers des répertoires non chroot.

Pour activer cette fonctionnalité, utilisez :

miam, installez bind-chroot -y
service nommé redémarrage

Balises: ,

Dans cet article, nous examinerons le déploiement de serveurs DNS maîtres et esclaves BIND (Berkeley Internet Name Domain) sur CentOS 6.4 minimal. Avant de pouvoir effectuer toutes les étapes de cet article, vous devez avoir configuré votre réseau, system-config-firewall-tui et Midnight Commander installé. Vous pouvez lire l’intégralité de la configuration initiale de CentOS.

Sur les deux machines :

installez Midnight Commander :

installez system-config-firewall-tui :

miam, installez system-config-firewall-tui –y

entrez dans la ligne de commande

iptables -A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT

installez BIND :

miam, installez bind-chroot bind-utils –y

Lançons l'utilitaire de configuration du pare-feu et configurons :

système-config-firewall-tui

Marquer avec un astérisque DNS

Cliquez "Avant". Marquez l'interface eth0 et cliquez "Avant"

Cliquez "Avant". Marquez l'interface pour la mascarade eth0 et cliquez sur "Avant"

Cliquez "Avant".

Cliquez "Avant".

Cliquez "Avant".

Cliquez "Avant".

Cliquez "Fermer".

Cliquez "D'ACCORD".

Cliquez "Oui". Prêt.

Désactivez SELINUX :

dans /etc/selinux/config nous le corrigerons pour SELINUX=désactivé

Générons maintenant la clé :

dnssec-keygen -a HMAC-MD5 -b 128 -n USER rndckey

Cette commande créera deux fichiers dans le répertoire courant. Dans le fichier *.private de la troisième ligne, il y aura une clé du formulaire : wGmtcnMtn9od+ndTc20tGg==

Après cela, ouvrez le fichier /etc/resolv.conf et au tout début nous y écrirons :

serveur de noms 192.168.0.191

serveur de noms 192.168.0.192

Serveur DNS maître (IP : 192.168.0.191 nom d'hôte : ns1.localserver12.ru) :

créer un répertoire /etc/named/master

mkdir /etc/named/master

nous transférerons bindu à la ferme

chown -R nommé : nommé /etc/named/master

Ouverture /etc/named.conf. Nous y vérifions la disponibilité des options répertoriées ci-dessous. S'ils ne sont pas là, ajoutez-les ; s'ils sont différents, corrigez-les :

port d'écoute 53 ( 127.0.0.1 ; 192.168.0.191 ; ) ;

autoriser le transfert (192.168.0.192; );

notifier oui ;

zone "localserver12.ru" DANS (

tapez maître ;

fichier "/etc/named/master/localserver12.ru" ;

/* Chemin vers la clé ISC DLV */)

activation DNSSEC oui ;

validation DNSSEC oui ;

dnssec-lookaside auto ;

Créons un fichier localserver12.ru dans le répertoire /etc/named/master

touchez /etc/named/master/localserver12.ru

Passons la main à la ferme bindu :

chown -R nommé : nommé /etc/named/master/localserver12.ru

Écrivons-y ce qui suit (à peu près comme sur l'image) :

Commençons la liaison

Nous mettons BIND au démarrage pour qu'il démarre au démarrage du système

Le serveur DNS maître est prêt.

Serveur DNS esclave (IP : 192.168.0.192 nom d'hôte : ns2.localserver12.ru) :

créer un répertoire /etc/named/slave

Laissons-le à la ferme bindu

chown -R nommé : nommé /etc/named/esclave

Ouvrez /etc/named.conf. Nous y vérifions la disponibilité des options répertoriées ci-dessous. S'ils ne sont pas là, ajoutez-les ; s'ils sont différents, corrigez-les :

port d'écoute 53 ( 127.0.0.1 ; 192.168.0.192 ; ) ;

autoriser la récursivité ( 192.168.0.0/24; );

récursivité oui ;

autoriser le transfert (aucun ; );

notifier non ;

zone "localserver12.ru" (

tapez esclave ;

fichier "/etc/named/slave/localserver12.ru" ;

maîtres(192.168.0.191;);

On vérifie également la présence de telles lignes (sinon, ajoutez avant la ligne /* Chemin vers la clé ISC DLV */)

Activer Dnssec oui ;

Validation DNSSec oui ;

Dnssec-lookaside auto ;

Commençons la liaison

Nous le mettons au démarrage pour qu'il démarre au démarrage du système

Le serveur DNS esclave est prêt. De plus, après un redémarrage, le fichier sera automatiquement extrait dans le répertoire /etc/named/slave localserver12.ru

Vérifions maintenant :

sur l'esclave entrez la commande

creuser @ns1.localserver12.ru localserver12.ru axfr

et sur le maître comme ça

creuser @ns2.localserver12.ru localserver12.ru axfr

dans les deux cas, les données et les enregistrements DNS sont affichés à partir du fichier localserver12.ru

Tous. Les serveurs DNS sont prêts.


Si cet article vous a aidé, vous pouvez remercier l'auteur :
transfert vers le portefeuille WMR (WebMoney) : R301575071888
transférer vers Yandex.Wallet : 410011003938168
ou sur PayPal :

Nous présentons à votre attention un nouveau cours de l'équipe Le Codepar- "Tests d'intrusion des applications Web à partir de zéro." Théorie générale, préparation à l'environnement de travail, fuzzing passif et empreintes digitales, fuzzing actif, vulnérabilités, post-exploitation, outils, ingénierie sociale et bien plus encore.


Les domaines disposent d'au moins deux serveurs DNS, l'un appelé serveur de noms principal (ns1) et l'autre appelé serveur de noms secondaire (ns2). Les serveurs secondaires sont généralement utilisés en cas de problèmes avec le serveur DNS principal : si un serveur est indisponible, le second devient actif. Des schémas plus complexes sont également possibles en utilisant l'équilibrage de charge, des pare-feu et des clusters.

Tous les enregistrements DNS d'un domaine particulier sont ajoutés au serveur de noms principal. Le serveur secondaire synchronise simplement toutes les informations reçues du serveur principal, en fonction des paramètres spécifiés sur le serveur principal.

Cette instruction décrira, comment créer un serveur DNS principal fonctionnant sur CentOS. Veuillez noter que le serveur DNS présenté dans ce guide sera un DNS public, ce qui signifie que le serveur répondra aux requêtes provenant de n'importe quelle adresse IP. Comment restreindre l'accès au serveur est décrit dans ce manuel.

Avant de commencer, je voudrais mentionner que DNS peut être installé avec ou sans environnement de prison chroot. Un environnement de prison chroot limite le serveur DNS à un répertoire spécifique du système, par opposition à un accès complet du système au serveur. De cette façon, toute vulnérabilité du serveur DNS ne compromettra pas l’ensemble du système. Limiter le serveur DNS à un répertoire spécifique (un processus appelé chrooting) est également utile dans les environnements de test.

Cible

Nous allons mettre en place un serveur DNS en conditions de test pour le domaine exemple.tst, qui est un domaine hypothétique (inexistant). De cette façon, nous n’interférerons pas au hasard avec des domaines réels.

Il existe trois serveurs suivants dans ce domaine.

Serveur Adresse IP Services hébergés Nom de domaine complet
Serveur A 172.16.1.1 Mail mail.exemple.tst
Serveur B 172.16.1.2 Web, FTP www.exemple.tst
ftp.exemple.tst
Serveur C 172.16.1.3 Serveur DNS principal ns1.exemple.tst

Nous allons configurer le serveur DNS principal et ajouter le domaine et les enregistrements DNS requis comme indiqué dans le tableau.

Configuration des noms d'hôtes

Tous les hôtes doivent être correctement identifiés en termes de FQDN. Cela peut être fait en utilisant la méthode suivante.

Ceux qui aiment une interface graphique peuvent utiliser les outils NetworkManaget. Pour ce faire, tapez la commande nmtui. L'interface pseudo-graphique suivante s'ouvrira :

Sélectionnez « Modifier le nom d'hôte » et entrez ns1.example.tst

Lorsque vous êtes prêt, cliquez sur OK.

Une autre façon, avec une seule commande :

Hostnamectl set-hostname ns1.example.tst

Une fois installé, le nom d'hôte peut être vérifié avec la commande suivante.

# nom d'hôte ns1.example.tst

Statut du nom d'hôte

Avant de passer à l'étape suivante, assurez-vous que le nom d'hôte de tous les serveurs est correctement défini.

Installation des packages

Nous utiliserons bind pour DNS, qui peut être facilement défini avec la commande yum.

Installer DNS sans chroot :

# Miam, installez la liaison

Configuration du DNS avec chroot :

# miam install bind bind-chroot

Préparation des fichiers de configuration

Comme mentionné précédemment, bind peut être configuré avec ou sans chroot. Les chemins varient légèrement selon que chroot a été installé ou non.

Chemin d'accès au fichier de configuration Chemin d'accès aux fichiers de zone
Pas de chroot /etc/ /var/nommé/
Avec chroot /var/named/chroot/etc/ /var/named/chroot/var/named/

Vous pouvez utiliser le fichier de configuration nommé.conf, fourni par défaut. Cependant, nous utiliserons un exemple de fichier de configuration différent pour plus de facilité d'utilisation.

Faire une copie de sauvegarde du fichier /etc/named.conf

Cp /etc/named.conf /etc/named.conf.bak

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /etc/named.conf

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

Maintenant qu'il existe une copie de sauvegarde du fichier de configuration et que le fichier d'origine lui-même a été modifié, passons à autre chose.

# vim /etc/named.conf

# vim /var/named/chroot/etc/named.conf

Les lignes suivantes ont été ajoutées/modifiées.

Options ( ## chemin vers les fichiers de zone ## répertoire "/var/named"; ## transférer les requêtes vers le serveur DNS public de Google pour les domaines non locaux ## redirecteurs ( 8.8.8.8; ); ); ## déclaration d'une zone directe par exemple.tst ## zone "exemple.tst" IN ( tapez master; fichier "exemple-fz"; ## le fichier de la zone directe se trouve dans /var/named ##allow-update ( aucun; ) ; ; ## déclaration d'une zone inversée pour le réseau 172.16.1.0 ## zone "1.16.172.in-addr.arpa" IN ( tapez master; fichier "rz-172-16-1"; ## le fichier pour la zone inversée est situé dans /var /named ##allow-update ( none; );

Préparation des fichiers de zones

Les fichiers de zone par défaut sont automatiquement créés dans /var/named ou /var/named/chroot/var/named (pour chroot).

En supposant que les fichiers de zone par défaut ne soient pas présents, nous pouvons copier les exemples de fichiers depuis /usr.

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/chroot/var/named

Super. Maintenant que les fichiers de zone par défaut sont prêts, nous créons nos propres fichiers de zone par exemple.tst et réseau 172.16.1.0. Pendant que nous créons des fichiers de zone, nous devons nous rappeler ce qui suit.

  • Le symbole '@' signifie NULL dans les fichiers de zone.
  • Chaque entrée de nom de domaine complet (FQDN) se termine par un point « . » par exemple. mail.exemple.tst. Sans point, il y aura des problèmes.

1. Zone directe

La zone directe contient une carte des traductions des noms en adresses IP. Pour les domaines publics, les domaines DNS hébergés sur les services d'hébergement sont contenus dans le fichier de zone directe.

# vim /var/named/exemple-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ IN SOA ns1.example.tst. mial.exemple.tst. (0 ; série 1D ; actualiser 1H ; réessayer 1W ; expirer 3H) ; minimum DANS NS ns1.example.tst. IN A 172.16.1.3 mail IN A 172.16.1.1 IN MX 10 mail.example.tst. www IN A 172.16.1.2 ns1 IN A 172.16.1.3 ftp IN CNAME www.example.tst.

Explication: Au sein d'un fichier de zone, SOA signifie le début de l'autorisation. Il s'agit du nom de domaine complet d'un serveur de noms faisant autorité. Après le nom de domaine complet, il y a une adresse e-mail de contact. Parce que nous ne pouvons pas utiliser '@' dans [email protégé], nous réécrivons l'adresse e-mail sous la forme mial.example.tst.

  • N.-É.: Nom du serveur
  • UN: Un enregistrement ou enregistrement d'adresse est une adresse IP
  • MX: Entrée de l'échangeur de courrier. Ici, nous utilisons un seul MX avec la priorité 10. En cas de plusieurs MX, nous pouvons utiliser différentes priorités numériques. Le numéro du bas gagne. Par exemple, MX 0 est meilleur que MX 1.
  • CNAME: nom sous forme canonique. Si un serveur héberge de nombreux services, il est très probable que plusieurs noms soient résolus en un seul serveur. CNAME signale que le serveur peut avoir d'autres noms et fait référence au nom contenu dans l'enregistrement A.

2. Zone inversée

La zone inversée contient une carte des conversions des adresses IP en noms. Ici, nous créons une zone inversée pour le réseau 172.16.1.0. Dans un domaine réel, le serveur DNS du propriétaire du bloc IP public est contenu dans le fichier de zone inversée.

# vim /var/named/rz-172-16-1

# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ IN SOA ns1.example.tst. sarmed.exemple.tst. (0 ; série 1D ; actualiser 1H ; réessayer 1W ; expirer 3H) ; minimum DANS NS ns1.example.tst. 1 IN PTR mail.example.tst. 2 DANS PTR www.example.tst. 3 IN PTR ns1.example.tst.

Explication: La plupart des paramètres utilisés dans la zone inverse sont identiques à ceux de la zone avant, à un seul près.

  • RPT: PTR ou enregistrement pointeur, il pointe vers le nom de domaine complet

Achèvement

Maintenant que les fichiers de zone sont prêts, nous allons configurer la résolution des fichiers de zone.

# chgrp nommé /var/named/*

# chgrp nommé /var/named/chroot/var/named/*

Nous allons maintenant définir l'adresse IP du serveur DNS.

# vim /etc/resolv.conf serveur de noms 172.16.1.3

Enfin, nous pouvons démarrer le service DNS et nous assurer qu'il est ajouté au démarrage automatique.

# service nommé restart # chkconfig nommé on

Tests DNS

Nous pouvons utiliser dig ou nslookup pour tester le DNS. Tout d’abord, nous installerons les packages nécessaires.

# miam, installez bind-utils

1. Test de zone directe en utilisant dig

# creuser un exemple.tst ;; ->> EN-TÊTE<<- opcode: QUERY, status: NOERROR, id: 31184 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86400 IN A 172.16.1.3 ;; AUTHORITY SECTION: example.com. 86400 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 86400 IN A 172.16.1.3

2. Vérifiez le PTR en utilisant dig

Lorsque vous utilisez dig pour des tests, vous devez toujours rechercher le statut « NOERROR ». Toute autre condition signifie que quelque chose ne va pas.

# creuser -x 172.16.1.1 ;; ->> EN-TÊTE<<- opcode: QUERY, status: NOERROR, id: 27415 ;; QUESTION SECTION: ;1.1.17.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.1.16.172.in-addr.arpa. 86400 IN PTR mail.example.tst. ;; AUTHORITY SECTION: 1.16.172.in-addr.arpa. 86400 IN NS ns1.example.tst. ;; ADDITIONAL SECTION: ns1.example.tst. 86400 IN A 172.16.1.3

3. Vérification de MX à l'aide de dig

# creuser un exemple.tst mx ;; ->> EN-TÊTE<<- opcode: QUERY, status: NOERROR, id: 35405 ;; QUESTION SECTION: ;example.tst. IN MX ;; ANSWER SECTION: example.tst. 14366 IN MX 10 mail.example.tst.

Conseils pour résoudre les problèmes

  1. J'ai SELinux désactivé.
  2. Assurez-vous que votre pare-feu ne bloque pas le port UDP 53
  3. /var/log/messages devrait contenir des informations utiles en cas de problème
  4. Assurez-vous que le propriétaire des fichiers de zone est l'utilisateur « nommé »
  5. Assurez-vous que l'adresse IP du serveur DNS est répertoriée en premier dans /etc/resolv.conf
  6. Si vous utilisez example.tst dans un environnement de laboratoire, veillez à déconnecter le serveur d'Internet car example.tst est un domaine inexistant.

Pour résumer, ce didacticiel se concentre sur l’hébergement du domaine example.tst dans un environnement de laboratoire à des fins de démonstration. N'oubliez pas qu'il ne s'agit pas d'un guide pour créer un serveur DNS public, tel qu'un serveur DNS qui répond aux requêtes de n'importe quelle adresse IP. Si vous configurez un serveur DNS de production, assurez-vous de vérifier quelles politiques s'appliquent au DNS public. Une autre leçon concerne la création d'un DNS secondaire, la restriction de l'accès au serveur DNS et la mise en œuvre de DNSSEC.

Le Garant est un intermédiaire de confiance entre les Participants lors de la transaction.




Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :