class="20903">
;
一台中轉機ssh登錄服務器(Linux)的時候,很慢,大概要15秒左右,但是ping很快,而且登錄後服務器的負載也很低。這個小問題一直沒有引起注意,今天領導登錄的時候發現了這個問題,並且給出了原因和解決方法,記錄在這裡:
在目標服務器上有一個文件/etc/nsswitch.conf ,裡面有如下一行
hosts: files dns
這行的含義是對於訪問的主機進行域名解析的順序,是先訪問file,也就是/etc/hosts文件,如果hosts中沒有記錄域名,則訪問dns,進行域名解析,如果dns也無法訪問,就會等待訪問超時後返回,因此等待時間比較長。
那如果將這一行屏蔽掉是不是也可以達到同樣的效果呢?應該是可以的,但是如果本機要通過域名訪問其他服務器,則肯定無法訪問,因此這行應該需要保留。這個問題也提示我們,dns如果不可用,會帶來的一些副作用的。