hosts文件是Linux系統中一個負責IP地址與域名快速解析的文件,包含了IP地址和主機名之間的映射,還包括主機名的別名。文件目錄位於 /etc/hosts ,作用相當於DNS 。 這個與 /etc/hostname 文件不一樣,這個文件只包含hostname這一個名字(命令行hostname返回就是這個文件的內容), hosts文件存放的是域名與ip的對應關系。修改主機名時,這兩個文件都需要修改。
在沒有域名伺服器的情況下,系統上的所有網路程序都通過查詢/etc/hosts文件來解析對應於某個主機名的IP地址,實現快速訪問。
在支持 mDNS(multicast DNS) 多播DNS的區域網中,使用主機名加上」.local」即可直接訪問主機名對應的設備。這個就不需要配置/etc/hosts文件來完成P地址與域名解析,筆者的小米路由器支持這個功能。但是筆者覺得配置/etc/hosts文件更加方便,也可以設置別名。
下圖是筆者配置的,填入區域網內所有linux伺服器的IP和域名,而且每個伺服器都需要設置一樣。當主機互連時,每台主機都需要設置自己的ip與域名,同時在對方的hosts文件里加入自己的ip和主機名。筆者遇到的linux伺服器上,都配置了這個文件,方便通過域名或別名來訪問。
下圖是筆者實驗的兩個樹莓派配置信息。
hosts文件的格式如下:
第一部份:網路IP地址,比如192.168.31.76。
第二部份:主機名或域名,比如host1。
第三部份:主機名別名,比如host_maria。
在marai伺服器上測試域名和別名, ping host2或者ping host_LAMP都可以實現,筆者在這里就不把測試結果貼出來了。
② 如何在Linux操作系統下配置/etc/hosts文件
Linux操作系統下/etc/hosts文件配置方法
1、關於/etc/host,主機名和IP配置文件
Hosts - The static table lookup for host name(主機名查詢靜態表)
hosts文件是Linux系統中一個負責IP地址與域名快速解析的文件,以ASCII格式保存在「/etc」目錄下,文件名為「hosts」(不同的linux版本,這個配置文件也可能不同。比如Debian的對應文件是/etc/hostname)。
通常可以將常用的域名和IP地址映射加入到hosts文件中,實現快速方便的訪問。
2、配置文件
這個文件可以配置主機ip及對應的主機名,對於伺服器類型的linux系統其作用還是不可忽略的。
Linux主機名的相關配置文件就是/etc/hosts;這個文件告訴本主機哪些域名對應那些ip,那些主機名對應哪些ip:
比如文件中有這樣的定義
192.168.1.100 linumu100 test100
假設192.168.1.100是一台網站伺服器,在網頁中輸入http://linumu100或http://test100就會打開192.168.1.100的網頁。
通常情況下這個文件首先記錄了本機的ip和主機名:
127.0.0.1 localhost.localdomain localhost
3、配置文件格式說明
一般/etc/hosts 的內容一般有如下類似內容:
127.0.0.1 localhost.localdomain localhost
192.168.1.100 linmu100.com linmu100
192.168.1.120 ftpserver ftp120
一般情況下hosts文件的每行為一個主機,每行由三部份組成,每個部份由空格隔開。其中#號開頭的行做說明,不被系統解釋。
當然每行也可以是兩部份,即主機IP地址和主機名;比如 192.168.1.100 linmu100。
這里可以稍微解釋一下主機名(hostname)和域名(Domain)的區別:主機名通常在區域網內使用,
通過hosts文件,主機名就被解析到對應ip;域名通常在internet上使用,但如果本機不想使用internet上的域名解析,
4、hosts文件可以幫助解決哪些問題
4.1 遠程登錄linux主機過慢問題
有時客戶端想遠程登錄一台linux主機,但每次登錄輸入密碼後都會等很長一段時間才會進入,這是因為linux主機在返回信息時需要解析ip,
4.2 雙機互連
當兩台主機只是雙機互連時,這時兩台主機都需要設置自己的ip,同時在對方的hosts文件里加入自己的ip和主機名。
5、主機名修改工具hostname;
其實主機名的修改也有專用工具,就是hostname
hostname - show or set the system』s host name
顯示主機名:
# hostname
linmu100
此主機的主機名是linmu100,不加參數是用來顯示當前主機的主機名;
臨時設置主機名:
(2)linuxhostname訪問擴展閱讀
什麼是Linux主機名;
無論在區域網還是INTERNET上,每台主機都有一個IP地址,是為了區分此台主機和彼台主機,也就是說IP地址就是主機的門牌號。但IP地址不方便記憶,所以又有了域名。域名只是在公網(INtERNET)中存在(以實驗為目的的區域網域網實驗性除外),每個域名都對應一個IP地址,但一個IP 地址可有對應多個域名。域名類型 Linux sir.org 這樣的;
主機名是用於什麼的呢?在一個區域網中,每台機器都有一個主機名,用於主機與主機之間的便於區分,就可以為每台機器設置主機名,以便於以容易記憶的方法來相互訪問。比如我們在區域網中可以為根據每台機器的功用來為其命名。主機名相關的配置文件:/etc/hosts;
2. Linux主機名配置文件;
主機名的配置文件大多是/etc/hosts ;hosts - The static table lookup for Linux hostname(主機名查詢靜態表);由於 Linux發行版本眾多,與主機名相關的配置文件有時也有所不同。現在我們說說常見版本的主機名配置文件;
2.1 Linux主機名置文件 /etc/hosts解說;
Fedora/Redhat 或以Fedora/Redhat為基礎打包的發行版,主機名配置文件是 /etc/hosts Debian或以Debian為基礎打包的發行版,主機名配置文件是 /etc/Linux hostname 和/etc/hosts Slackware的主機名配置文件是 /etc/hosts 那我們來讀讀 /etc/hosts的內容,看這個文件是用來做什麼的。
hosts 配置文件是用來把主機名字映射到IP地址的方法,這種方法比較簡單。但這種映射只是本地機的映射,也就是說每台機器都是獨立的,所有的計算機都不能相互通過Linux hostname來訪問。註:在debian 中還有一個/etc/Linux hostname的文件,這個文件就是直接把本地主機名寫進去就行了,但要和 /etc/hosts中的本地主機名保持一致。
第一部份:網路IP地址;第二部份:主機名.域名,注意主機名和域名之間有個半形的點,比如 localhost.localdomain第二部份:主機名(主機名別名) ,其實就是主機名;當然每行也可以是兩部份,就是主機IP地址和主機名;比如 192.168.1.195 debian
127.0.0.1 是回環地址,比如我們不想讓區域網的其它機器看到我們測試的網路程序,就可以用回環地址來測試。 為什麼需要定義域名呢?其實理解也簡單,比如我們有三台主機,每台做不同的事,一台做MAIL伺服器,一台做FTP伺服器,一台做SMB伺服器,所以我們就可以這樣來設計Linux hostname;
③ 怎麼查linux的hostname
redhat6為例 顯示來主機名源#hostname 顯示主機名#hostname linux01 主機名臨時設定為linux01 設置主機名,更改下面的文件[root@master mnt]# vim /etc/sysconfig/networkHOSTNAME=linux01 主機名設定為linux01, 永久有效
④ 如何在Linux shell中獲取本機主機名
1、查看主機名查看當前系統主機名,輸入hostname命令查看。
⑤ 如何修改Linux的hostname
1、登錄Linux後切換到根用戶,然後在提示符下輸入hostname命令,可獲得當前主機名localhost.localdomain。
⑥ linux本機的hostname是什麼意思
Linux操作系統的hostname是一個kernel變數,可以通過hostname命令來查看本機的hostname。也可以直接cat /proc/sys/kernel/hostname查看。
#hostname
#cat /proc/sys/kernel/hostname
上面兩種輸出結果相同。
一、修改運行時Linux系統的hostname,即臨時修改,不需要重啟系統
hostname命令可以設置系統的hostname
#hostname newname
newname即要設置的新的hostname,運行後立即生效,但是在系統重啟後會丟失所做的修改,如果要永久更改系統的hostname,就要修改相關的設置文件。
二、永久更改Linux的hostname
man hostname里有這么一句話,」The hostname is usually set once at system startup in /etc/rc.d/rc.inet1 or /etc/init.d/boot (normally by reading the contents of a file which contains thehost name, e.g. /etc/hostname).」 RedHat里沒有這個文件,而是由/etc/rc.d/rc.sysinit這個腳本負責設置系統的hostname,它讀取 /etc/sysconfig/network這個文本文件,RedHat的hostname就是在這個文件里設置。
所以,如果要永久修改RedHat的hostname,就修改/etc/sysconfig/network文件,將裡面的HOSTNAME這一行修改成HOSTNAME=NEWNAME,其中NEWNAME就是你要設置的hostname。
Debian發行版的hostname的配置文件是/etc/hostname。
修該配置文件後,重啟系統就會讀取配置文件設置新的hostname。
⑦ 在linux系統下面怎麼查hostname和hostid
Linux下用hostid命令查找到的值與Solaris用hostid命令查找到的不是一個概念
Linux下用hostid命令查找到的值是回取hostname對應的ip地址答。然後把ip地址轉換成hex,然後將位置2143位置顛倒後的結果
這個對應記錄在/etc/hosts文件里,比如我的hostname:ITMS-server對應的ip就是127.0.0.1.那我的hostid就是007f0100
.
而Linux下與Solaris用hostid命令查找到的hostid 為同一概念的值應按下表獲取
因此IMTS-server上的hostid應該為D485646979EE
請用這個申請license