溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決linux修改hosts文件不生效問題

發(fā)布時(shí)間:2020-06-10 10:43:19 來源:億速云 閱讀:8482 作者:Leah 欄目:建站服務(wù)器

本篇文章主要探討inux修改hosts文件不生效的解決方法。有一定的參考價(jià)值,有需要的朋友可以參考一下,跟隨小編一起來看解決方法吧。

1、Linux修改本機(jī)別名/etc/hosts的hostName后經(jīng)常不生效解決

Linux修改本機(jī)別名/etc/hosts的hostName后經(jīng)常不生效,

比如我們/etc/hosts的內(nèi)容如下:

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

但是ping message.xxx.com還是指向192.68.1.10。

相關(guān)

一般2種解決方案:

1). 重啟,這是最直接最可靠穩(wěn)定的一種方法,如果有些時(shí)候不方便重啟,則可以使用第二種方法。

2). 修改/etc/sysconfig/network文件,將HOSTNAME修改成對應(yīng)的別名,如下:

NETWORKING=yes
HOSTNAME=host1

修改后重啟網(wǎng)絡(luò)服務(wù)

service network restart (本質(zhì)是/etc/init.d/network)

3). 如果重啟服務(wù)器后,還是不起作用,應(yīng)該是本機(jī)的dns緩存引起的。

查看nscd是否啟用: ps -ef|grep nscd

直接關(guān)閉Linux nscd 緩存服務(wù):

/etc/init.d/nscd stop

2、Linux的DNS

linux本身是沒有dns緩存的,想使用dns緩存的話需要自己安裝一個(gè)服務(wù)程序NSCD(name service cache daemon).

nscd緩存三種服務(wù)passwd group hosts,所以它會(huì)記錄三個(gè)庫,分別對應(yīng)源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每個(gè)庫保存兩份緩存,一份是找到記錄的,一份是沒有找到記錄的。每一種緩存都保存有生存時(shí)間(TTL).

安裝:

  yum install nscd

修改配置文件/etc/nscd.conf,開啟dns緩存,修改這一行

 enable-cache hosts yes

如果啟用了nscd 服務(wù),才有dns 緩存,否則是沒有dns緩存的。

開啟 、停止、 重啟服務(wù)

service nscd start | stop | restart

nscd的配置:

通過編輯/etc/nscd.conf文件,在其中增加如下一行可以開啟本地DNS cache:

enable-cache hosts yes

阿里云主機(jī)上的配置如下:

[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

相關(guān)參數(shù)的解釋如下:

logfile debug-file-name:指定調(diào)試信息寫入的文件名。

debug-level value:設(shè)置希望的調(diào)試級(jí)別。

threads number:這是啟動(dòng)的等待請求的線程數(shù)。最少將創(chuàng)建5個(gè)線程。

server-user user:如果設(shè)置了該選項(xiàng),nscd將作為該用戶運(yùn)行,而不是作為root。如果每個(gè)用戶都使用一個(gè)單獨(dú)的緩存(-S參數(shù)),將忽略該選項(xiàng)

enable-cache service <yes|no>:啟用或禁用制定的 服務(wù) 緩存。

positive-time-to-live service value:設(shè)置 service 在指定緩存中正的項(xiàng)目(成功的請求)的TTL(存活時(shí)間)。 Value 以秒為單位。較大的值將增加緩存命中率從而減低平均響應(yīng)時(shí)間,但是將增加緩存的一致性問題。

negative-time-to-live service value:設(shè)置 service 在指定緩存中負(fù)的項(xiàng)目(失敗的請求)的TTL(存活時(shí)間)。 Value 以秒為單位。如果存在由不在系統(tǒng)數(shù)據(jù)庫中的uid(用戶ID)(例如在以root身份解包linux 內(nèi)核源代碼時(shí))所擁有的文件將明顯改善性能;應(yīng)該維持較小的值以降低緩存一致性問題。

suggested-size service value:這是內(nèi)部散列表的大小, value 應(yīng)該保持一個(gè)素?cái)?shù)以達(dá)到優(yōu)化效果。

check-files service <yes|no>:啟用或禁用檢查屬于指定 服務(wù) 的文件的改變。這些文件是 /etc/passwd, /etc/group, 以及/etc/hosts。

nscd的查看和清除

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

nscd -g  查看統(tǒng)計(jì)信息

清除 nscd緩存:

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

當(dāng)然也先刪除緩存庫或者停掉nscd服務(wù):

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

或者是直接停止nscd 服務(wù) service nscd stop。

看完這篇文章,你能夠獨(dú)立解決linux修改hosts文件不生效問題了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI