Linux hosts文件詳解及配置
1、名詞解析
主機名:
無(wú)論是在局域網(wǎng)還是在INTERNET上,每臺主機都有一個(gè)IP地址,用來(lái)區分當前是那一臺機器(其實(shí)底層是使用機器的物理地址),也就是說(shuō)IP地址就是一個(gè)主機的門(mén)牌號,唯一的標示這一臺機子。
公網(wǎng):
IP地址不方便記憶,所以又有了域名。域名只是在公網(wǎng)(INTERNET)中存在,每個(gè)域名對應著(zhù)一個(gè)IP地址,但一個(gè)IP地址可以對應多個(gè)域名。
局域網(wǎng):
每臺機器都有一個(gè)主機名,用于主機與主機之間區別。我們可以為每一臺機器設置主機名,便于以容易的方法來(lái)互相訪(fǎng)問(wèn)。比如我們在局域網(wǎng)中可以根據每臺機的功用來(lái)為其命名。
用途:例如我們可以通過(guò)主機名,通過(guò)ssh命令遠程得登錄別人的電腦。
2、關(guān)于/etc/host,主機名和IP配置文件
Hosts - The static table lookup for host name(主機名查詢(xún)靜態(tài)表)
用途:
hosts文件是Linux系統中一個(gè)負責IP地址與域名快速解析的文件,
存儲:
以ASCII格式保存在“/etc”目錄下,文件名為“hosts”(不同的linux版本,這個(gè)配置文件也可能不同。比如Debian的對應文件是/etc/hostname)。
內容:
hosts文件包含了IP地址和主機名之間的映射,還包括主機名的別名。
作用:
在沒(méi)有域名服務(wù)器的情況下,系統上的所有網(wǎng)絡(luò )程序都通過(guò)查詢(xún)該文件來(lái)解析對應于某個(gè)主機名的IP地址,否則就需要使用DNS服務(wù)程序來(lái)解決。通??梢詫⒊S玫挠蛎虸P地址映射加入到hosts文件中,實(shí)現快速方便的訪(fǎng)問(wèn)。
3、優(yōu)先級
優(yōu)先級 : dns緩存 > hosts > dns服務(wù)
4、配置hosts文件
這個(gè)文件可以配置主機ip及對應的主機名,對于服務(wù)器類(lèi)型的linux系統其作用還是不可忽略的。在局域網(wǎng)或是INTERNET上,每臺主機都有一個(gè)IP地址,它區分開(kāi)每臺主機,并可以根據ip進(jìn)行通訊。但IP地址不方便記憶,所以又有了域名。在一個(gè)局域網(wǎng)中,每臺機器都有一個(gè)主機名,用于區分主機,便于相互訪(fǎng)問(wèn)。
Linux主機名的相關(guān)配置文件就是/etc/hosts;這個(gè)文件告訴本主機哪些域名對應那些ip,那些主機名對應哪些ip:
比如文件中有這樣的定義
192.168.1.100 linumu100 test100
假設192.168.1.100是一臺網(wǎng)站服務(wù)器,在網(wǎng)頁(yè)中輸入http://linumu100或http://test100就會(huì )打開(kāi)192.168.1.100的網(wǎng)頁(yè)。
通常情況下這個(gè)文件首先記錄了本機的ip和主機名:
127.0.0.1 localhost.localdomain localhost
這就是在我們在調試web項目的時(shí)候,我們明明在瀏覽器的地址欄中輸入的是localhost,他會(huì )知道我們是本地調試,因為他映射到了127.0.0.1(即本機)。
5、配置文件格式說(shuō)明
但這種映射只是本地機的映射,也就是說(shuō)每臺機器都是獨立的,只有在hosts文件中進(jìn)行了配置才能使用主機名來(lái)訪(fǎng)問(wèn)。
在hosts文件中,我們會(huì )看到類(lèi)似下面的內容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4127.0.0.1 localhost.localdomain localhost192.168.1.195 debian.localdomain debian
一般情況下hosts的內容關(guān)于主機名(Hostname)的定義,每行為一個(gè)主機,每行由三部份組成,每個(gè)部份由空格隔開(kāi)。其中#號開(kāi)頭的行做說(shuō)明(即注釋的作用),不被系統解釋。
hosts文件格式:
ip地址 主機名/域名 (主機別名)
第一部份:網(wǎng)絡(luò )IP地址;
第二部份:主機名或域名;
第三部份:主機名別名;
當然每行也可以是兩部份,即主機IP地址和主機名;比如 192.168.1.100 linmu100。
主機名(hostname)和域名(Domain)的區別:
主機名通常在局域網(wǎng)內使用,通過(guò)hosts文件,主機名就被解析到對應ip;
域名通常在internet上使用,但如果本機不想使用internet上的域名解析,這時(shí)就可以更改hosts文件,加入自己的域名解析。
6、hosts文件的用途
6.1 解決遠程登錄linux主機過(guò)慢問(wèn)題
有時(shí)客戶(hù)端想遠程登錄一臺linux主機,但每次登錄輸入密碼后都會(huì )等很長(cháng)一段時(shí)間才會(huì )進(jìn)入,這是因為linux主機在返回信息時(shí)需要解析ip,如果在linux主機的hosts文件事先加入客戶(hù)端的ip地址,這時(shí)再從客戶(hù)端遠程登錄linux就會(huì )變很快。
注:這里所說(shuō)的遠程登錄不僅僅是ssh,還可能是mysql遠程登錄,或是文件共享的查詢(xún)等。
6.2 雙機互連
當兩臺主機只是雙機互連時(shí),這時(shí)兩臺主機都需要設置自己的ip,同時(shí)在對方的hosts文件里加入自己的ip和主機名。
7、修改主機名
其實(shí)主機名的修改也有專(zhuān)用工具,就是hostname
hostname - show or set the system’s host name
顯示主機名:
# hostnamezhengcanrui
此主機的主機名是zhengcanrui,不加參數是用來(lái)顯示當前主機的主機名;
臨時(shí)設置主機名:
# hostname test100# hostname 注:顯示主機名test100
通過(guò)hostname 工具來(lái)設置主機名只是臨時(shí)的,下次重啟系統時(shí),此主機名將不會(huì )存在;
顯示主機IP:
# hostname -i192.168.1.100
致謝:感謝您的閱讀!
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2016-10/135886.htm
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。
pa相關(guān)文章:pa是什么
脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理