Maison  >  Article  >  Opération et maintenance  >  Que faire si la modification du fichier hosts sous Linux n'est pas valide

Que faire si la modification du fichier hosts sous Linux n'est pas valide

藏色散人
藏色散人original
2019-12-28 10:48:517598parcourir

Que faire si la modification du fichier hosts sous Linux n'est pas valide

Que dois-je faire si Linux ne parvient pas à modifier le fichier hosts ?

1. Linux ne parvient souvent pas à prendre effet après avoir modifié le nom d'hôte de l'alias local /etc/hosts

Linux modifie le nom d'hôte de l'alias local / etc/hosts Cela ne prend souvent pas effet.

Par exemple, le contenu de notre /etc/hosts est le suivant :

#192.68.1.10 message.xxx.com
192.68.1.11 message.xxx.com

Mais ping message.xxx.com pointe toujours vers 192.68. 1.10.

Recommandations associées : "Tutoriel Linux"

Généralement, il existe 2 solutions :

1). Redémarrer, c'est la méthode la plus directe, la plus fiable et la plus stable. S'il est parfois gênant de redémarrer, vous pouvez utiliser la deuxième méthode.

2). Modifiez le fichier /etc/sysconfig/network et remplacez HOSTNAME par l'alias correspondant, comme suit :

NETWORKING=yes
HOSTNAME=host1

Redémarrez le service réseau après modification

service network restart (本质是/etc/init.d/network)

3. ). Si cela ne fonctionne toujours pas après le redémarrage du serveur, cela peut être dû au cache DNS local.

Vérifiez si nscd est activé : ps -ef|grep nscd

Désactivez directement le service de cache Linux nscd :

/etc/init.d/nscd stop

2.

Linux lui-même n'a pas de cache DNS. Si vous souhaitez utiliser le cache DNS, vous devez installer un programme de service NSCD (démon de cache de service de nom).

nscd met en cache trois hôtes de groupe passwd de services. , il enregistrera donc Trois bibliothèques correspondent aux sources /etc/passwd, /etc/hosts et /etc/resolv.conf Chaque bibliothèque enregistre deux caches, un pour les enregistrements trouvés et un pour les enregistrements non trouvés. Chaque cache a un temps de vie (TTL).

Installation :

  yum install nscd

Modifiez le fichier de configuration /etc/nscd.conf, activez la mise en cache DNS, et modifiez cette ligne

 enable-cache hosts yes
<.>Si le service nscd est activé, il y aura du cache DNS, sinon il n'y aura pas de cache DNS.

Démarrer, arrêter et redémarrer le service

service nscd start | stop | restart

Configuration nscd :

Vous pouvez activer le cache DNS local en éditant le fichier /etc/nscd.conf et en ajoutant le ligne suivante :

enable-cache hosts yes

La configuration sur l'hôte Alibaba Cloud est la suivante :

[root@iZ2571ykq ~]# cat /etc/nscd.conf 
#logfile        /var/log/nscd.log
threads         6
max-threads     128
server-user     nscd
debug-level     5
paranoia        no
enable-cache    passwd      no
enable-cache    group       no
enable-cache    hosts       yes
positive-time-to-live   hosts   5
negative-time-to-live   hosts       20
suggested-size  hosts       211
check-files     hosts       yes
persistent      hosts       yes
shared          hosts       yes
max-db-size     hosts       33554432

L'explication des paramètres pertinents est la suivante :

logfile debug-file-name : Spécifiez le nom du fichier dans lequel les informations de débogage sont écrites.

valeur du niveau de débogage : définissez le niveau de débogage souhaité.

nombre de threads : Il s'agit du nombre de threads lancés en attente de requêtes. Un minimum de 5 fils de discussion seront créés.

user-user user : si cette option est définie, nscd s'exécutera en tant qu'utilisateur, pas en tant que root. Si chaque utilisateur utilise un cache distinct (paramètre -S), cette option sera ignorée.

enable-cache service bb465b611d06b065d5e0e67bdf17426c : Active ou désactive le cache de service spécifié.

valeur du service de durée de vie positive : définissez la durée de vie (durée de vie) des éléments positifs du service (demandes réussies) dans le cache spécifié. La valeur est en secondes. Des valeurs plus élevées augmenteront le taux de réussite du cache et réduiront ainsi le temps de réponse moyen, mais augmenteront les problèmes de cohérence du cache.

valeur du service de durée de vie négative : définissez la durée de vie (durée de vie) des éléments négatifs (requêtes ayant échoué) dans le cache spécifié. La valeur est en secondes. Les performances seront considérablement améliorées s'il existe des fichiers appartenant à des UID qui ne sont pas dans la base de données système (comme lors de la décompression des sources du noyau Linux en tant que root) ; la valeur doit rester petite pour réduire les problèmes de cohérence du cache.

valeur de service de taille suggérée : il s'agit de la taille de la table de hachage interne, la valeur doit rester un nombre premier pour l'optimisation.

service de vérification des fichiers c7ae0ac0f570d81b8216a78ccdc0a300 : active ou désactive la vérification des modifications dans les fichiers appartenant au service spécifié. Ces fichiers sont /etc/passwd, /etc/group et /etc/hosts.

Afficher et effacer nscd

Le fichier de base de données du cache nscd se trouve sous /var/db/nscd.

nscd -g  查看统计信息

Vider le cache nscd :

nscd -i passwd
nscd -i group
nscd -i hosts

Bien sûr, supprimez la bibliothèque de cache ou arrêtez d'abord le service nscd :

rm -f /var/db/nscd/hosts
service nscd restart

Ou arrêtez directement le service nscd service nscd stop.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn