Linux hostname主機名配置及修改
這篇文章為大家介紹linux hostname主機名配置檔案/etc/hosts,包括主機名的用途、配置檔案的操作方法及修改主機名的步驟等,有需要的朋友,可以參考下
1. 什麼是Linux主機名
無論在區域網還是INTERNET上,每臺主機都有一個IP地址,是為了區分此臺主機和彼臺主機,也就是說IP地址就是主機的門牌號。但IP地址不方便記憶,所以又有了域名。域名只是在公網(Internet)中存在(以實驗為目的的區域網域網實驗性除外),每個域名都對應一個IP地址,但一個IP 地址可有對應多個域名。域名類似www.example.com這樣的;
主機名是用於什麼的呢?在一個區域網中,每臺機器都有一個主機名,用於主機與主機之間的便於區分,就可以為每臺機器設定主機名,以便於以容易記憶的方法來相互訪問。比如我們在區域網中可以為根據每臺機器的功用來為其命名。主機名相關的配置檔案:/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
hosts 配置檔案是用來把主機名字對映到IP地址的方法,這種方法比較簡單。但這種對映只是本地機的對映,也就是說每臺機器都是獨立的,所有的計算機都不能相互通過Linux hostname來訪問。注:在debian 中還有一個/etc/Linux hostname的檔案,這個檔案就是直接把本地主機名寫進去就行了,但要和 /etc/hosts中的本地主機名保持一致。
/etc/hosts 的內容一般有如下類似內容:
IP地址 | 主機名.域名 | 主機名(主機名別名) |
---|---|---|
127.0.0.1 | localhost.localdomain | localhost |
::1 | localhost6.localdomain6 | localhost6 |
注:一般情況下hosts的內容關於主機名(Linux hostname)的定義,每行為一個主機,每行由三部份組成,每個部份由空格隔開。其中#號開頭的行做說明,不被系統解釋。
127.0.0.1 是迴環地址,比如我們不想讓區域網的其它機器看到我們測試的網路程式,就可以用迴環地址來測試。 為什麼需要定義域名呢?其實理解也簡單,比如我們有三臺主機,每臺做不同的事,一臺做MAIL伺服器,一臺做FTP伺服器,一臺做SMB伺服器,所以我們就可以這樣來設計Linux hostname;
IP地址 | 主機名.域名 | 別名 |
---|---|---|
127.0.0.1 | localhost.localdomain | localhost |
192.168.1.2 | ftp.localdomain | ftp |
192.168.1.3 | mail.localdomain | |
192.168.1.4 | smb.localdomin | smb |
把這上面這個配置檔案的內容分別寫入每臺機器的/etc/hosts內容中,這樣這三臺區域網的機器就可以通過Linux hostname來訪問了。
2.2 主機名(Linux hostname)和域名(Domain)的區別
主機名就機器本身的名字,域名是用來解析到IP的。但值得一說的是在區域網中,主機名也是可以解析到IP上的;比如我們前面所說舉的例子;
2.3 區域網的機器,不能通過主機名互訪的原因
有的可能會說,我的Linux hostname彼此不能互訪,其實這也問題也簡單,我們前面已經提到了一個簡單的解決辦法。就是要讓區域網中的所有主機都有一個通用的,並且包含所有主機的/etc/hosts檔案;
另一個是做解決辦法是做區域網DNS伺服器,如果您的主機特別少,就用前面所說的簡單方法就行;如何做DNS伺服器,我將在以後的文件中專題介紹;不過我值得一提的是做任何伺服器都是以效率優先的原則為基礎。
比如在區域網中兩臺機器,還有必要做DNS伺服器嗎?
3. 主機名修改
3.1 檢視主機名
以根使用者登入,或者登入後切換到根使用者,然後在提示符下輸入hostname
命令,可以看出當前系統的主機名為localhost.localdomain。
3.2 更改/etc/sysconfig/network
在提示符下輸入vi /etc/sysconfig/network
,然後將HOSTNAME後面的值改為想要設定的主機名。
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
3.3 更改/etc/hosts
在提示符下輸入vi /etc/hosts
,然後將localhost.localdomain改為想要設定的主機名。
3.4 重啟
在提示符下輸入reboot
命令,重新啟動伺服器。