10.1 为何需要主机名

如果你已经将第二章的网络基础看完的话,应该会知道其实我们的 TCP/IP 环境只要有 IP 与正确的路由即可联机了。那么你申请主机名要干嘛?因为『没办法啊!人脑太不中用了!』举例来说,你可以背出来我们常上去查数据的 www.google.com 的 IP 吗?报告!鸟哥没办法背出来~

因为 IP 是那么难背的东西,而且,如果你的 IP 又是类似拨接的不固定的 IP 时,那还更伤脑筋呢! 因此我们才会习惯以熟悉的英文字符串来做为主机名,然后让『这个主机名与 IP 达成对应』,那直接记忆主机名就行了,反正 IP 的查询就交给计算机主机来做即可!在这样的想法下,我们当然就需要有主机名啦!

Tips: 在这个章节当中,我们将会介绍如何申请一个合法的主机名。目前 Internet 上面使用的主机名都是透过所谓的 DNS 系统,而你想要取得一个 DNS 的主机名,就必须要『注册』,所谓的『注册』就是要钱去申请啦! 当然也有免费提供主机名的服务啦!在这个章节当中鸟哥不会介绍如何架设一部 DNS 服务器, 而是介绍如何利用注册或免费申请的方式来达成主机名的取得。

13.1. 10.1 为何需要主机名  - 图1


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 服务器架设当中再持续的加强内容,总之, 它的最大功能就是『让有意义的,人类较容易记忆的主机名(英文字母) ,转译成为计算机所熟悉的 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 服务器章节再来谈, 底下仅是介绍一个简单的查询示意图。

13.1. 10.1 为何需要主机名  - 图2图 10.1-1、 DNS 查询示意图

举昆山信息传播系的 WWW 服务器的主机名注册方式来说好了,我们系上得要先跟昆山计中 (相当于我们的 ISP) 注册取得 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 服务器篇 有重复,在这个章节当中鸟哥主要在介绍动态 IP 架站的一个简单主机名申请方式啦! ^_^

13.1. 10.1 为何需要主机名  - 图3


10.1.3 申请静态还是动态 DNS 主机名

由上面的说明当中,我们可以很清楚的知道 DNS 系统最大的功能就是在主机名对应 IP 的转译上面。当然啦,预设的 DNS 转译是用在『固定 IP 对应主机名』的方法上面的!就像上面的图 10.1-1 所示一般。在这个情况底下,你在 DNS 架构下申请完主机名后, 如果你的 IP 不会更动,那就永远不用去烦恼主机名的相关问题啰,这也是所谓的静态 DNS 主机名功能。

但是…夭寿喔!我们的很多小网站都是以非固定 IP 来上网的,更有甚者,某些 ADSL 拨接模式甚至会定时强制断线,也就是说, 在一段时间后,我们都得需要重新拨接上网,而每次拨接成功后取得的 IP 可不见得相同啊,如此一来 IP 不是一直在变吗? 那么我不就需要一直跟我上层 DNS 主机的管理员申请『变更 IP 』吗?会不会太麻烦了点?

是很麻烦啊!所以现在为了解决这个问题,很多 ISP 提供了所谓的动态 DNS 服务的功能,他是这样做的:

  • Client 端(就是你啦)每次开机或者是重新拨接,并取得一个新的 IP 之后,会主动向 DNS Server 端提出要求,希望 Server 端变更主机名与 IP 的对应 (这个步骤在每个主要的 ISP 都有提供适当的程序来提供给 client 使用);

  • Server 端接受 Client 端的要求之后,会先去查询 Client 提供的账号密码是否正确, 若正确就会立即修改 Server 本身对于你的主机名的设定值。

所以啰,每次我们取得了新的 IP 之后,我们的主机名对应的 IP 也会跟着在 DNS 系统上面更新, 如此一来,只要别人知道你的主机名,不论你的 IP 为何,他一定可以连上你的主机 (因为 IP 跟着你的主机而变!) 这对于我们这种使用动态 IP 的人是很有帮助的! (阿!真是造福我们这些穷苦人家的孩子呀!) 整个程序就有点像底下的图示,WWW 服务器与 DNS 服务器之间就有关连性啦。

13.1. 10.1 为何需要主机名  - 图4图 10.1-2、动态 DNS 服务—客户端向服务器端发送更新要求

不过,还是需要注意的是,目前的主机名申请很多是『需要钱的』!如果你需要比较稳定的主机名对应 IP 的服务,那么花点钱来注册还是必须的。不过,如果是实验性质的网站,那么也是可以申请免费的动态 DNS 服务喔!


原文: https://wizardforcel.gitbooks.io/vbird-linux-server-3e/content/67.html