🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 10.1 为何需要主机名 如果你已经将[第二章的网络基础](http://linux.vbird.org/linux_server/0110network_basic.php)看完的话,应该会知道其实我们的 TCP/IP 环境只要有 IP 与正确的路由即可联机了。那么你申请主机名要干嘛?因为『没办法啊!人脑太不中用了!』举例来说,你可以背出来我们常上去查数据的 www.google.com 的 IP 吗?报告!鸟哥没办法背出来~ 因为 IP 是那么难背的东西,而且,如果你的 IP 又是类似拨接的不固定的 IP 时,那还更伤脑筋呢! 因此我们才会习惯以熟悉的英文字符串来做为主机名,然后让『这个主机名与 IP 达成对应』,那直接记忆主机名就行了,反正 IP 的查询就交给计算机主机来做即可!在这样的想法下,我们当然就需要有主机名啦! **Tips:** 在这个章节当中,我们将会介绍如何申请一个合法的主机名。目前 Internet 上面使用的主机名都是透过所谓的 DNS 系统,而你想要取得一个 DNS 的主机名,就必须要『注册』,所谓的『注册』就是要钱去申请啦! 当然也有免费提供主机名的服务啦!在这个章节当中鸟哥不会介绍如何架设一部 DNS 服务器, 而是介绍如何利用注册或免费申请的方式来达成主机名的取得。 ![](https://box.kancloud.cn/2016-05-13_5735736501917.gif) * * * ### 10.1.1 主机名的由来 因为 IP 是这么难记忆的东西,因此人们就使用『名字』来对应到主机的 IP,这就是主机名的由来。 好在早期连上网络的计算机数量不多,所以在网络上的人们就想出一个简单的办法来进行主机名与 IP 的对应,那就是『在每部计算机的 /etc/hosts 里面设定好主机名与 IP 的对应表』。那么人们就可以直接藉由主机名来连接上某些网络上的主机啰! 然而因为科技的发达,连上 Internet 的人们越来越多,使用 /etc/hosts 的方法已经搞不定了 (只要一部新计算机上线,全部 Internet 上面的所有计算机都要重新改写 /etc/hosts 才行!) ,这个时候领域名系统 ( Domain Name System, DNS ) 就适时的出现了! DNS 利用类似树状目录的型态,将主机名的管理分配在不同层级的 DNS 服务器当中,经由分层管理,所以每一部服务器记忆的信息就不会很多,而且异动上面也相当的容易修改! 这个 DNS 的功能你知道了吗?对啦!就是『将计算机主机的名称转译成 IP 』就是了!当然啰,他的额外功能还很多,关于 DNS 的详细的解析部分我们将在后续的 [第十九章 DNS 服务器架设](http://linux.vbird.org/linux_server/0350dns.php)当中再持续的加强内容,总之, 它的最大功能就是『让有意义的,人类较容易记忆的主机名(英文字母) ,转译成为计算机所熟悉的 IP 地址!』 透过上面的简单说明,你得要知道,如果你想要一个主机名,那你就得要透过 DNS 系统,而不是单纯的修改你的 /etc/hosts 而已。 那你如何加入一个主机名到 DNS 系统当中呢?『授权』是重点!那什么是授权呢? * * * ### 10.1.2 重点在合法授权 很多朋友都认为:『因为我想要架站,所以主机需要有个主机名,因此我就得要架设 DNS 服务器?』是这样吗?当然不是啰!DNS 是个很庞大的架构,而且是串连在全球的网络当中,除非你经由『注册』的手续来让 DNS 系统承认你主机名存在的合法性,否则你架设的 DNS 只能说是一个『地下练习的测试站』而已啦!并没有用途的。 那我要如何加入 DNS 系统呢?很简单啦!首先你必须要选择一个注册单位, 并且检查出你想要注册的主机名是否存在?主机名是有意义的,并不是你可以随便注册的喔! 举例来说,在台湾常见的个人网站注册主机名为: *.idv.tw ,而公司行号则可能注册为 *.com.tw 了!这个得要特别留意。至于台湾地区的注册单位很多,你可以选择例如 Hinet 或 Seednet 之类的 ISP 来注册。当然,你也可以选择免费的 no-ip.org 来注册的。 如果想要了解啥是『合法授权』的话,得要从 DNS 主机名的查询方式来谈起,由于 DNS 查询的方式都是由上层的 ISP 提供解析授权给下游的注册者,因此,下游的注册者只要设定妥当后, 全世界的主机就会知道你设定的数据了。详细的查询流程我们留到[DNS 服务器](http://linux.vbird.org/linux_server/0350dns.php)章节再来谈, 底下仅是介绍一个简单的查询示意图。 ![](https://box.kancloud.cn/2016-05-13_5735da54cd8fe.gif) 图 10.1-1、 DNS 查询示意图 举昆山信息传播系的 WWW 服务器的主机名注册方式来说好了,我们系上得要先跟昆山计中 (相当于我们的 ISP) 注册取得 [www.dic.ksu.edu.tw](http://www.dic.ksu.edu.tw/) 这个主机名与 IP 的对应, 这个对应信息是写在昆山计中的 DNS 服务器上,与资传系的 WWW 服务器无关喔!那你怎么知道那部 www.dic.ksu.edu.tw 在哪里?你会先向你的 DNS 要求查询,该 DNS 会去向全世界的 DNS 系统查询,该系统会主动的查询到 KSU dns 服务器, 然后你的 PC 就会知道 www.dic.ksu.edu.tw 的 IP 在哪,最后你就开始联机啰。 从这个流程当中,你可以发现我们的 www 服务器与 KUS dns 服务器没有绝对关系,两者是独立的,我们只要作好 DNS 的『注册』工作 (向计中申请注册) 即可,并不需要去维护 DNS 的信息。所以啰, 这里你只要知道:(1)主机名的设计是有意义的,不可以随便设定、 (2)主机名要生效,得要透过注册来取得合法授权。这样就好了,如果想要架设 DNS 与更了解 DNS 系统的话, 等到后续的 DNS 服务器章节再来谈。 **Tips:** 在这个章节当中,理论方面的讲解比较少,因为很多数据都与 [DNS 服务器篇](http://linux.vbird.org/linux_server/0350dns.php) 有重复,在这个章节当中鸟哥主要在介绍动态 IP 架站的一个简单主机名申请方式啦! ^_^ ![](https://box.kancloud.cn/2016-05-13_5735736501917.gif) * * * ### 10.1.3 申请静态还是动态 DNS 主机名 由上面的说明当中,我们可以很清楚的知道 DNS 系统最大的功能就是在主机名对应 IP 的转译上面。当然啦,预设的 DNS 转译是用在『固定 IP 对应主机名』的方法上面的!就像上面的[图 10.1-1](#fig10.1-1) 所示一般。在这个情况底下,你在 DNS 架构下申请完主机名后, 如果你的 IP 不会更动,那就永远不用去烦恼主机名的相关问题啰,这也是所谓的静态 DNS 主机名功能。 但是...夭寿喔!我们的很多小网站都是以非固定 IP 来上网的,更有甚者,某些 ADSL 拨接模式甚至会定时强制断线,也就是说, 在一段时间后,我们都得需要重新拨接上网,而每次拨接成功后取得的 IP 可不见得相同啊,如此一来 IP 不是一直在变吗? 那么我不就需要一直跟我上层 DNS 主机的管理员申请『变更 IP 』吗?会不会太麻烦了点? 是很麻烦啊!所以现在为了解决这个问题,很多 ISP 提供了所谓的动态 DNS 服务的功能,他是这样做的: 1. Client 端(就是你啦)每次开机或者是重新拨接,并取得一个新的 IP 之后,会主动向 DNS Server 端提出要求,希望 Server 端变更主机名与 IP 的对应 (这个步骤在每个主要的 ISP 都有提供适当的程序来提供给 client 使用); 2. Server 端接受 Client 端的要求之后,会先去查询 Client 提供的账号密码是否正确, 若正确就会立即修改 Server 本身对于你的主机名的设定值。 所以啰,每次我们取得了新的 IP 之后,我们的主机名对应的 IP 也会跟着在 DNS 系统上面更新, 如此一来,只要别人知道你的主机名,不论你的 IP 为何,他一定可以连上你的主机 (因为 IP 跟着你的主机而变!) 这对于我们这种使用动态 IP 的人是很有帮助的! (阿!真是造福我们这些穷苦人家的孩子呀!) 整个程序就有点像底下的图示,WWW 服务器与 DNS 服务器之间就有关连性啦。 ![](https://box.kancloud.cn/2016-05-13_5735da54e602f.gif) 图 10.1-2、动态 DNS 服务--客户端向服务器端发送更新要求 不过,还是需要注意的是,目前的主机名申请很多是『需要钱的』!如果你需要比较稳定的主机名对应 IP 的服务,那么花点钱来注册还是必须的。不过,如果是实验性质的网站,那么也是可以申请免费的动态 DNS 服务喔! * * *