Heim > Artikel > Betrieb und Instandhaltung > Was tun, wenn der Hostwechsel unter Linux keine Wirkung zeigt?
Lösung zum Ändern von Hosts unter Linux wird nicht wirksam: 1. Suchen und öffnen Sie die Datei „/etc/sysconfig/network“ 2. Ändern Sie HOSTNAME in den entsprechenden Alias, z. B. „NETWORKING=yes HOSTNAME=host1“; . Übergeben Sie den Befehl „service network restart“, um den Netzwerkdienst neu zu starten.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.
Was soll ich tun, wenn der Hostwechsel unter Linux keine Wirkung zeigt?
Linux wird oft nicht wirksam, nachdem der Hostname des lokalen /etc/hosts geändert wurde.
1. Linux wird häufig nicht wirksam, nachdem der Hostname des lokalen Alias /etc/hosts geändert wurde Linux ändert den lokalen Alias /etc. Der Hostname von /hosts wird häufig 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.
Im Allgemeinen gibt es zwei 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). Neustart des Servers. Dies sollte durch den lokalen DNS-Cache verursacht werden.
Ü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. DNS von Linux
Linux selbst hat keinen DNS-Cache, das müssen Sie tun Verwenden Sie den DNS-Cache. Installieren Sie selbst ein Dienstprogramm NSCD (Name Service Cache Daemon). nscd speichert drei Dienste passwd-Gruppenhosts, sodass drei Bibliotheken aufgezeichnet werden, die den Quellen /etc/passwd, /etc/hosts und /etc/resolv entsprechen . Jede Conf-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 den DNS-Cache und ändern Sie diese Zeile.
enable-cache hosts yes。
Nur wenn der nscd-Dienst aktiviert ist Seien Sie ein DNS-Cache, andernfalls gibt es keinen DNS-Cache.
Start, stoppen, den Dienst neu starten
service nscd start | stop | restart
nscd -Konfiguration:
Sie können lokales d aktivieren, indem Sie die Datei /etc/nscd.conf bearbeiten und die folgende Zeile ns hinzufügen Cache:
enable-cache hosts yes
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, wo Debugging-Informationen werden geschrieben.
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 festgelegt 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.
Dienstwert mit empfohlener 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 Überprü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 von
nscd-Cache-DB-Dateien befinden sich unter /var/db/nscd.
nscd -g Statistiken anzeigen
Leeren Sie den NSCD-Cache:
nscd -i passwd nscd -i group nscd -i hosts
Löschen Sie natürlich auch 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.
Empfohlenes Lernen: „
Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas tun, wenn der Hostwechsel unter Linux keine Wirkung zeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!