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

藏色散人
Freigeben: 2019-12-28 10:48:51
Original
7741 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Starten Sie den Netzwerkdienst nach der Änderung neu

service network restart (本质是/etc/init.d/network)
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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

 enable-cache hosts yes
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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 : 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 : 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  查看统计信息
Nach dem Login kopieren

Leeren Sie den NSCD-Cache:

nscd -i passwd
nscd -i group
nscd -i hosts
Nach dem Login kopieren

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

rm -f /var/db/nscd/hosts
service nscd restart
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage