淺談?dòng)?jì)算機(jī)主機(jī)名
主機(jī)名是人類用來指代特定計(jì)算機(jī)的標(biāo)簽。
計(jì)算機(jī)有網(wǎng)絡(luò)地址,但人類通常很難記住它們。主機(jī)名是幫助人類參考特定計(jì)算機(jī)的標(biāo)簽。例如,你可能不會(huì)導(dǎo)航到 192.168.1.4
,而是導(dǎo)航到 linuxlaptop
或 linuxlaptop.local
。
地址和名稱
所有聯(lián)網(wǎng)的計(jì)算機(jī)(也被稱為主機(jī))都需要一個(gè)地址:一個(gè)與之相關(guān)的唯一數(shù)字,以使數(shù)據(jù)報(bào)文能夠在它們之間進(jìn)行正確的數(shù)據(jù)通信。這就是所謂的互聯(lián)網(wǎng)協(xié)議(IP)地址。數(shù)字 54.204.39.132
是一個(gè)互聯(lián)網(wǎng)協(xié)議第四版(IPv4)地址。較新的 IPv6 地址要長(zhǎng)得多,像這樣:2001:0db6:3c4d:0017:0000:0000:2a2f:1a2b
。 哇!這將是很難記住的!
$ ip addr show
計(jì)算機(jī)也可以被賦予標(biāo)簽。被稱為主機(jī)名,這些是友好的名稱,便于參考。我可以把我的計(jì)算機(jī)的主機(jī)名設(shè)置為 copperhead
。只要這個(gè)名字在網(wǎng)絡(luò)上是唯一的,所有其他用戶和計(jì)算機(jī)都可以把 copperhead
作為地址,而不是 IP 地址。
$ hostname -s
你可以更新你的計(jì)算機(jī)的主機(jī)名。
閱讀 Seth Kenlon 的文章 如何在 Linux 上更改主機(jī)名,了解如何在 Linux 上這樣做。
完全限定域名
從技術(shù)上講,主機(jī)名包括一個(gè)域名。如果我的域名是 mycompany.com
,那么我的計(jì)算機(jī)的主機(jī)名是 copperhead.mycompany.com
,以句點(diǎn)分隔。這就形成了一個(gè)完全限定域名(FQDN)。這很重要,因?yàn)?IP 地址可以解析為 FQDN。
host.domain.topleveldomain
例如:www.example.com
是一個(gè)完全限定域名。
你的域名一般已經(jīng)確定了,所以你只負(fù)責(zé)提供主機(jī)部分。本文的重點(diǎn)是主機(jī)。
名稱解析
將 IP 地址轉(zhuǎn)換為相應(yīng)的主機(jī)名的過程被稱為名稱解析。這個(gè)過程首先發(fā)生在本地主機(jī)表中。Linux 使用文件 /etc/hosts
來存儲(chǔ)這個(gè)表。
cat /etc/hosts
還有一個(gè)分層的、去中心化的基于網(wǎng)絡(luò)的系統(tǒng)提供解析,稱為域名系統(tǒng)(DNS)。這時(shí) FQDN 變得非常重要。
$ dig www.opensource.com
名稱的樂趣
為我們的計(jì)算機(jī)起名字可能很有趣。如果你有很多,你可以使用一個(gè)主題。我曾經(jīng)為一家公司工作,該公司將所有的服務(wù)器都以蛇命名。
后來我工作的一家公司,我是一個(gè)數(shù)據(jù)中心經(jīng)理,使用啤酒品牌。當(dāng)我們收到一個(gè)新的服務(wù)器時(shí),這很令人興奮,因?yàn)槲視?huì)給開發(fā)團(tuán)隊(duì)發(fā)郵件征求建議。我們大約有 100 臺(tái)服務(wù)器。這些提供了一個(gè)有趣的清單,反映了公司的多樣性。我們有從庫爾斯和百威到阿姆斯特爾和淺粉象的一切。我們有虎牌啤酒、勝獅啤酒和札幌啤酒等等!
我們認(rèn)為這很酷!然后,想象一下,當(dāng)你試圖記住盧云堡是擁有最多內(nèi)存的虛擬化服務(wù)器,佩羅尼是 SQL 數(shù)據(jù)庫服務(wù)器,喜力是新的域控制器時(shí),會(huì)發(fā)生什么,特別是對(duì)于一個(gè)快速發(fā)展的公司的新員工。
慣例
當(dāng)然,主機(jī)名是所有者的選擇,所以請(qǐng)盡情發(fā)揮。然而,根據(jù)環(huán)境的不同,使用容易記憶的名字或基于命名慣例的名字可能更有意義,因?yàn)檫@些名字有利于描述主機(jī)。
有用的名字
如果你想放棄有趣的東西,并對(duì)你的系統(tǒng)進(jìn)行有益的命名,也許可以考慮它們的功能。數(shù)據(jù)庫服務(wù)器可以被命名為 database1
、database2
、database3
等等。Web 服務(wù)器可以命名為 webserver1
、webserver2
等等。
位置名稱
我在許多客戶那里使用了一種技術(shù),用一組字符的位置來命名服務(wù)器主機(jī),這些字符描述了該系統(tǒng)的一個(gè)方面,有助于識(shí)別。例如,如果我正在為內(nèi)政部(DOI)開發(fā)一個(gè)業(yè)務(wù)流程管理(BPM)系統(tǒng),我就會(huì)在命名規(guī)則中加入他們的縮寫詞。
此外,就像許多大型企業(yè)、金融機(jī)構(gòu)和政府一樣,他們可能有不同的數(shù)據(jù)中心,位于不同的地理位置,以達(dá)到性能或?yàn)?zāi)難恢復(fù)的目的。因此,比如說,位于北美大陸東海岸的數(shù)據(jù)中心被稱為 ED(East Data center),而位于西海岸的數(shù)據(jù)中心則是 WD(West Data center)。
所有這些信息將匯集到一個(gè)名稱中,如 doibpm1ed
或 doibpm1wd
。因此,雖然這些名字看起來不長(zhǎng),但在這個(gè)項(xiàng)目上工作的人可以很容易地識(shí)別它們的目的和位置,而且這個(gè)名字甚至可以對(duì)潛在的惡意者混淆它們的用途。換句話說,業(yè)主可以選擇只對(duì)內(nèi)部人員有意義的命名方式
互聯(lián)網(wǎng)標(biāo)準(zhǔn)
有幾個(gè)標(biāo)準(zhǔn)管理著主機(jī)名。你可以在互聯(lián)網(wǎng)工程任務(wù)組(IETF)維護(hù)的意見征求(RFC)中找到這些標(biāo)準(zhǔn)。由此,請(qǐng)遵守以下規(guī)定:
- 主機(jī)名的長(zhǎng)度應(yīng)該在 1 到 63 個(gè) ASCII 字符之間
- 一個(gè) FQDN 的最大長(zhǎng)度為 253 個(gè) ASCII 字符
- 不區(qū)分大小寫
- 允許的字符:
a
到z
,0
到9
,-
(連字符),和_
(下劃線)。
我希望這篇文章能幫助你澄清主機(jī)名。玩得開心,發(fā)揮創(chuàng)意。