1、Linux修改本机别名/etc/hosts的hostName后经常不生效解决

Linux修改本机别名/etc/hosts的hostName后经常不生效,

比如我们/etc/hosts的内容如下:

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

但是ping

message.xxx.com还是指向192.68.1.10。

一般2种解决方案:

1). 重启,这是最直接最可靠稳定的一种方法,如果有些时候不方便重启,则可以使用第二种方法。

2). 修改/etc/sysconfig/network文件,将HOSTNAME修改成对应的别名,如下:

NETWORKING=yes
HOSTNAME=host1
修改后重启网络服务
service network restart
(本质是/etc/init.d/network)
3).
如果重启服务器后,还是不起作用,应该是本机的dns缓存引起的。

查看nscd是否启用:
ps -ef|grep nscd
直接关闭Linux nscd 缓存服务:
/etc/init.d/nscd stop
 

2、Linux的DNS

linux本身是没有dns缓存的,想使用dns缓存的话需要自己安装一个服务程序NSCD(name service cache daemon).

nscd缓存三种服务passwd group hosts,所以它会记录三个库,分别对应源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每个库保存两份缓存,一份是找到记录的,一份是没有找到记录的。每一种缓存都保存有生存时间(TTL).

 安装:

  yum install nscd

修改配置文件/etc/nscd.conf,开启dns缓存,修改这一行

  enable-cache hosts yes。

如果启用了nscd 服务,才有dns 缓存,否则是没有dns缓存的。

开启 、停止、 重启服务

service nscd start | stop | restart

nscd的配置:

通过编辑/etc/nscd.conf文件,在其中增加如下一行可以开启本地DNS cache:

enable-cache hosts yes

阿里云主机上的配置如下:

  1. [root@iZ2571ykq ~]# cat /etc/nscd.conf
  2. #logfile        /var/log/nscd.log
  3. threads         6
  4. max-threads     128
  5. server-user     nscd
  6. debug-level     5
  7. paranoia        no
  8. enable-cache    passwd      no
  9. enable-cache    group       no
  10. enable-cache    hosts       yes
  11. positive-time-to-live   hosts   5
  12. negative-time-to-live   hosts       20
  13. suggested-size  hosts       211
  14. check-files     hosts       yes
  15. persistent      hosts       yes
  16. shared          hosts       yes
  17. max-db-size     hosts       33554432

相关参数的解释如下:

logfile debug-file-name:指定调试信息写入的文件名。

debug-level value:设置希望的调试级别。

threads number:这是启动的等待请求的线程数。最少将创建5个线程。

server-user user:如果设置了该选项,nscd将作为该用户运行,而不是作为root。如果每个用户都使用一个单独的缓存(-S参数),将忽略该选项

enable-cache service <yes|no>:启用或禁用制定的 服务 缓存。

positive-time-to-live service value:设置 service 在指定缓存中正的项目(成功的请求)的TTL(存活时间)。 Value 以秒为单位。较大的值将增加缓存命中率从而减低平均响应时间,但是将增加缓存的一致性问题。

negative-time-to-live service value:设置 service 在指定缓存中负的项目(失败的请求)的TTL(存活时间)。 Value 以秒为单位。如果存在由不在系统数据库中的uid(用户ID)(例如在以root身份解包linux 内核源代码时)所拥有的文件将明显改善性能;应该维持较小的值以降低缓存一致性问题。

suggested-size service value:这是内部散列表的大小, value 应该保持一个素数以达到优化效果。

check-files service <yes|no>:启用或禁用检查属于指定 服务 的文件的改变。这些文件是 /etc/passwd, /etc/group, 以及/etc/hosts。

nscd的查看和清除

nscd缓存DB文件在/var/db/nscd下。

nscd -g  查看统计信息

清除 nscd缓存:

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

当然也先删除缓存库或者停掉nscd服务:

rm -f /var/db/nscd/hosts

service nscd restart

或者是直接停止nscd 服务 
service nscd stop。

Linux修改本机/etc/hosts的hostName后经常不生效的更多相关文章

  1. Linux修改本机/etc/hosts的hostName

    1.Linux修改本机别名/etc/hosts的hostName后经常不生效解决 Linux修改本机别名/etc/hosts的hostName后经常不生效, 比如我们/etc/hosts的内容如下: ...

  2. Linux - 修改Cent OS系统的的hostname、配置DNS映射

    目录 1 修改方式 2 扩展: 配置DNS映射 本篇文章中, 示例设计到的操作系统是CentOS 6.5. 1 修改方式 ① 命令hostname onepiece -- 运行后设置立即生效, 但要在 ...

  3. LINUX 修改本机yum源为163镜像源

    进入yum源配置目录 [root@localhost yum.repos.d]# cd /etc/yum.repos.d/ 备份系统yum源,用于日后恢复. [root@localhost yum.r ...

  4. Docker 记一次容器内部修改宿主机挂载目录用户权限后宿主机目录变化

    一.需求: 因公司需求,需制作mysql5.7.22 docker基础镜像,每个项目以此镜像启动一个数据库容器,并且每个项目挂载一个宿主机目录到镜像中数据存储下面用于数据持久化保存以便后期迁移至阿里云 ...

  5. linux下修改完profile文件的环境变量后如何立即生效

    方法1: 让/etc/profile文件修改后立即生效 ,可以使用如下命令: # . /etc/profile 注意: . 和 /etc/profile 有空格 方法2: 让/etc/profile文 ...

  6. linux修改主机名(hostname)转载

    Linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname   //查看机器名#hostname -i  //查看本机器名对应的ip ...

  7. 深入理解Linux修改hostname

    当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问题给我好好上了一课,很多知识点,当你觉得你已经掌握的时候,其实你了解的还只是皮毛.技术活,切勿浅尝则止! ...

  8. 转: 深入理解Linux修改hostname

    from: http://www.cnblogs.com/kerrycode/p/3595724.html 写的相当详细!!! 深入理解Linux修改hostname 2014-03-12 10:17 ...

  9. [转载] 深入理解Linux修改hostname

    原文: http://www.cnblogs.com/kerrycode/p/3595724.html 当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问 ...

随机推荐

  1. 如何去官网上下载tomcat的linux版本

    1.首先进入官网,进入如下位置 2.进入bin文件夹中下载: 原文链接:https://blog.csdn.net/zdb292034/article/details/82433072

  2. Unity 读取Json常用的两种方式

    使用的是Litjson 1.读取本地Json public void ReadJson() { StreamReader streamReader = new StreamReader(Applica ...

  3. H5 App设计者需要注意的问题

    我们通常在做H5 APP设计的过程中,遇到很多看似很小,且很容易被忽略的问题,正是这些小问题,一次次的撩拨用户的耐心,让用户对你的APP心生怨念.现在WeX5君呕血为大家整理出H5 APP设计的21条 ...

  4. c#中convert.toInt32和int.parse()和强制类型转换的区别

    string a="123"; int i=(int)a; 这是会出现错误因为:强制类型转换只能转换值类型不能转换引用类型 string属于引用类型    强制类型转换时如果值类型 ...

  5. Mysql数据多表查询及pymysql的使用

    Exists关键字表示存在,在使用exists关键字时,内增查询语句不返回查询记录,而是返回一个真假值,True或者False,返回True外层语句才会进行查询:返回False时,外层查询语句不会进行 ...

  6. 查看war包编译时使用的jdk版本

    第一种方式:找到war包的其中一个class文件,用UE打开,看第一行 34(对应十进制的50):JDK1.8 33(对应十进制的50):JDK1.7 32(对应十进制的50):JDK1.6 31(对 ...

  7. AcWing 913. 排队打水

    #include <iostream> #include <algorithm> using namespace std; typedef long long LL; ; in ...

  8. python前后台交互相关配置

    全局配置:全局样式.配置文件 在js下创建setting.js ,配置全局的settings.js import settings from '@/assets/js/settings' Vue.pr ...

  9. [MC] 我的世界 craftbukkit-1.12.2 卡爆

    昨天晚上的时候,和朋友玩我的世界 结果我这边卡爆了,牛圈里面的牛都是一动一动的... 然后我登陆服务器,发现CPU爆炸了... 100%的使用率 mstsc都卡爆了 内存占用了800多MB (服务器是 ...

  10. pip知识点

    pip第三方模块保存在\Lib\site-packages目录 安装第三方模块:\Script目录下->shift+鼠标右点打开powershift窗口 ->pip install 模块名 ...