1. 程式人生 > >Linux hostname主機名配置及修改

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 mail
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命令,重新啟動伺服器。