Home >Operation and Maintenance >Linux Operation and Maintenance >What to do if changing hosts in Linux does not take effect

What to do if changing hosts in Linux does not take effect

藏色散人
藏色散人Original
2023-03-27 10:08:108942browse

Solution to changing hosts in Linux does not take effect: 1. Find and open the "/etc/sysconfig/network" file; 2. Modify HOSTNAME to the corresponding alias, such as "NETWORKING=yes HOSTNAME=host1"; 3. Restart the network service through the "service network restart" command.

What to do if changing hosts in Linux does not take effect

#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.

What should I do if changing hosts in Linux does not take effect?

Linux often fails to take effect after modifying the hostName of the local /etc/hosts

1. Linux often fails to take effect after modifying the hostName of the local alias /etc/hosts Solution for not taking effect

Linux often does not take effect after modifying the hostName of the local alias /etc/hosts.

For example, the content of our /etc/hosts is as follows:

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

But ping message.xxx.com still points to 192.68.1.10.

Generally there are 2 solutions:

1). Restart, this is the most direct, reliable and stable method. If it is sometimes inconvenient to restart, you can Use the second method.

2). Modify the /etc/sysconfig/network file and change HOSTNAME to the corresponding alias, as follows:

NETWORKING=yes
HOSTNAME=host1

Restart the network service after modification

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

3). If it still doesn’t work after restarting the server, it may be caused by the local dns cache.

Check whether nscd is enabled: ps -ef|grep nscd

Directly turn off the Linux nscd cache service:

/etc/init.d/nscd stop

2 , DNS of Linux

Linux itself does not have dns cache. If you want to use dns cache, you need to install a service program NSCD (name service cache daemon).

nscd caches three services passwd group hosts, so it will record three libraries, corresponding to the sources /etc/passwd, /etc/hosts and /etc/resolv.conf. Each library saves two caches, one for the records found and one for the records not found. of. Each cache saves a time to live (TTL).

Installation:

  yum install nscd

Modify the configuration file /etc/nscd.conf, enable dns cache, and modify this line

  enable-cache hosts yes。

If the nscd service is enabled, there will be dns cache, otherwise there will be no dns cache.

Start, stop, restart service

     service nscd start | stop | restart

nscd Configuration:

You can enable the local DNS cache by editing the /etc/nscd.conf file and adding the following line:

enable-cache hosts yes

Ali The configuration on the cloud host is as follows:

[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

The relevant parameters are explained as follows:

logfile debug-file-name : Specify the file name to which debugging information is written.

debug-level value: Set the desired debugging level.

threads number: This is the number of threads started waiting for requests. A minimum of 5 threads will be created.

server-user user: If this option is set, nscd will run as this user, not as root. If each user uses a separate cache (-S parameter), this option will be ignored

enable-cache service bb465b611d06b065d5e0e67bdf17426c: Enable or disable the specified service cache.

positive-time-to-live service value: Set the TTL (time to live) of the service's positive items (successful requests) in the specified cache. Value is in seconds. Larger values ​​will increase the cache hit rate and thus reduce the average response time, but will increase cache consistency issues.

negative-time-to-live service value: Set the TTL (time to live) of negative items (failed requests) in the specified cache. Value is in seconds. Performance will be significantly improved if there are files owned by uids that are not in the system database (such as when unpacking Linux kernel sources as root); the value should be kept small to reduce cache consistency issues.

suggested-size service value: This is the size of the internal hash table, value should remain a prime number for optimization.

check-files service bb465b611d06b065d5e0e67bdf17426c: Enable or disable checking for changes in files belonging to the specified service. These files are /etc/passwd, /etc/group, and /etc/hosts.

View and clear nscd

nscd cache DB file is under /var/db/nscd.

nscd -g View statistics

Clear nscd cache:

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

Of course, delete the cache library first or stop it nscd service:

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

Or directly stop the nscd service service nscd stop.

Recommended learning: "linux video tutorial"

The above is the detailed content of What to do if changing hosts in Linux does not take effect. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn