Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was tun, wenn das Ändern der Hosts-Datei unter Linux ungültig ist?

Was tun, wenn das Ändern der Hosts-Datei unter Linux ungültig ist?

藏色散人
藏色散人Original
2019-12-28 10:48:517598Durchsuche

Was tun, wenn das Ändern der Hosts-Datei unter Linux ungültig ist?

Was soll ich tun, wenn Linux die Hosts-Datei nicht ändern kann?

1. Linux wird oft nicht wirksam, nachdem der Hostname des lokalen Alias ​​/etc/hosts geändert wurde

Linux ändert den Hostnamen des lokalen Alias ​​/ etc/hosts Es wird oft nicht wirksam.

Der Inhalt unserer /etc/hosts lautet beispielsweise wie folgt:

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

Aber ping message.xxx.com zeigt immer noch auf 192,68. 1.10.

Verwandte Empfehlungen: „Linux-Tutorial

Im Allgemeinen gibt es 2 Lösungen:

1). Neustart, dies ist die direkteste, zuverlässigste und stabilste Methode. Wenn ein Neustart manchmal umständlich ist, können Sie die zweite Methode verwenden.

2). Ändern Sie die Datei /etc/sysconfig/network und ändern Sie HOSTNAME wie folgt in den entsprechenden Alias:

NETWORKING=yes
HOSTNAME=host1

Starten Sie den Netzwerkdienst nach der Änderung neu

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

3 ). Wenn es nach dem Neustart des Servers immer noch nicht funktioniert, kann es am lokalen DNS-Cache liegen.

Überprüfen Sie, ob nscd aktiviert ist: ps -ef|grep nscd

Deaktivieren Sie den Linux-nscd-Cache-Dienst direkt:

/etc/init.d/nscd stop

2. Linux DNS

Linux selbst hat keinen DNS-Cache. Wenn Sie den DNS-Cache verwenden möchten, müssen Sie ein Dienstprogramm NSCD (Name Service Cache Daemon) installieren.

nscd speichert drei Dienste passwd-Gruppenhosts zwischen Es werden also drei Bibliotheken aufgezeichnet, die den Quellen /etc/passwd, /etc/hosts und /etc/resolv.conf entsprechen. Jede Bibliothek speichert zwei Caches, einen für gefundene Datensätze und einen für nicht gefundene Datensätze. Jeder Cache hat eine Lebenszeit (TTL).

Installation:

  yum install nscd

Ändern Sie die Konfigurationsdatei /etc/nscd.conf, aktivieren Sie DNS-Caching und ändern Sie diese Zeile

 enable-cache hosts yes

Wenn der NSCD-Dienst aktiviert ist, gibt es einen DNS-Cache, andernfalls gibt es keinen DNS-Cache.

Dienst starten, stoppen und neu starten

service nscd start | stop | restart

nscd-Konfiguration:

Sie können den lokalen DNS-Cache aktivieren, indem Sie die Datei /etc/nscd.conf bearbeiten und hinzufügen Folgende Zeile:

enable-cache hosts ja

Die Konfiguration auf dem Alibaba Cloud-Host ist wie folgt:

[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

Die Erklärung relevanter Parameter lautet wie folgt:

logfile debug-file-name: Geben Sie den Dateinamen an, in den Debugging-Informationen geschrieben werden.

Debug-Level-Wert: Legen Sie den gewünschten Debug-Level fest.

Threads-Anzahl: Dies ist die Anzahl der Threads, die gestartet wurden und auf Anfragen warten. Es werden mindestens 5 Threads erstellt.

Server-Benutzer-Benutzer: Wenn diese Option gesetzt ist, wird nscd als dieser Benutzer und nicht als Root ausgeführt. Wenn jeder Benutzer einen separaten Cache verwendet (-S-Parameter), wird diese Option ignoriert.

enable-cache service bb465b611d06b065d5e0e67bdf17426c: Aktiviert oder deaktiviert den angegebenen Service-Cache.

Positive-Time-to-Live-Dienstwert: Legen Sie die TTL (Time-to-Live) der positiven Elemente des Dienstes (erfolgreiche Anforderungen) im angegebenen Cache fest. Der Wert wird in Sekunden angegeben. Größere Werte erhöhen die Cache-Trefferrate und verkürzen somit die durchschnittliche Antwortzeit, erhöhen jedoch die Probleme mit der Cache-Konsistenz.

Negative-Time-to-Live-Dienstwert: Legen Sie die TTL (Time-to-Live) negativer Elemente (fehlgeschlagene Anforderungen) im angegebenen Cache fest. Der Wert wird in Sekunden angegeben. Die Leistung wird erheblich verbessert, wenn Dateien im Besitz von UIDs sind, die sich nicht in der Systemdatenbank befinden (z. B. beim Entpacken von Linux-Kernel-Quellen als Root). Der Wert sollte klein gehalten werden, um Probleme mit der Cache-Konsistenz zu reduzieren.

Vorgeschlagener Dienstwert für die Größe: Dies ist die Größe der internen Hash-Tabelle. Der Wert sollte zur Optimierung eine Primzahl bleiben.

Check-Files-Dienst 64c8d1bdc5db08d4b0f48d7f8741e6aa: Aktivieren oder deaktivieren Sie die Prüfung auf Änderungen in Dateien, die zum angegebenen Dienst gehören. Diese Dateien sind /etc/passwd, /etc/group und /etc/hosts.

nscd anzeigen und löschen

nscd-Cache-DB-Datei befindet sich unter /var/db/nscd.

nscd -g  查看统计信息

Leeren Sie den NSCD-Cache:

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

Löschen Sie natürlich zuerst die Cache-Bibliothek oder stoppen Sie den NSCD-Dienst:

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

Oder stoppen Sie direkt den NSCD-Dienst.

Das obige ist der detaillierte Inhalt vonWas tun, wenn das Ändern der Hosts-Datei unter Linux ungültig ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn