在读完了网络基础并且架设了个人简易的防火墙之后,总算是准备要开始来给他进入 Server 的架设了!服务器架设的步骤里面,很重要的一点是『你的主机名必须要在 Internet 上面可以被查询』才好!这是因为人类对于 IP 记忆力不佳,所以才会以主机名来取代 IP。不过, 你的主机名要能够被查询到才有用啊!这个时候,一个『合法』的主机名就很重要了!那要合法的主机,就得要让 DNS 系统能够找的到你的主机啊!不过,如果我们的主机是使用拨接得到的不固定 IP 呢?又该如何申请 DNS 主机名?那就得要使用动态 DNS 的系统啰!在这个章节中,我们主要在介绍 Client 端的设定,而不是在设定 DNS 服务器喔! ^_^ |
如果你已经将第二章的网络基础看完的话,应该会知道其实我们的 TCP/IP 环境只要有 IP 与正确的路由即可联机了。那么你申请主机名要干嘛?因为『没办法啊!人脑太不中用了!』举例来说,你可以背出来我们常上去查数据的 www.google.com 的 IP 吗?报告!鸟哥没办法背出来~
因为 IP 是那么难背的东西,而且,如果你的 IP 又是类似拨接的不固定的 IP 时,那还更伤脑筋呢! 因此我们才会习惯以熟悉的英文字符串来做为主机名,然后让『这个主机名与 IP 达成对应』,那直接记忆主机名就行了,反正 IP 的查询就交给计算机主机来做即可!在这样的想法下,我们当然就需要有主机名啦!
Tips: 在这个章节当中,我们将会介绍如何申请一个合法的主机名。目前 Internet 上面使用的主机名都是透过所谓的 DNS 系统,而你想要取得一个 DNS 的主机名,就必须要『注册』,所谓的『注册』就是要钱去申请啦! 当然也有免费提供主机名的服务啦!在这个章节当中鸟哥不会介绍如何架设一部 DNS 服务器, 而是介绍如何利用注册或免费申请的方式来达成主机名的取得。 |
因为 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 系统当中呢?『授权』是重点!那什么是授权呢?
很多朋友都认为:『因为我想要架站,所以主机需要有个主机名,因此我就得要架设 DNS 服务器?』是这样吗?当然不是啰!DNS 是个很庞大的架构,而且是串连在全球的网络当中,除非你经由『注册』的手续来让 DNS 系统承认你主机名存在的合法性,否则你架设的 DNS 只能说是一个『地下练习的测试站』而已啦!并没有用途的。
那我要如何加入 DNS 系统呢?很简单啦!首先你必须要选择一个注册单位, 并且检查出你想要注册的主机名是否存在?主机名是有意义的,并不是你可以随便注册的喔! 举例来说,在台湾常见的个人网站注册主机名为: *.idv.tw ,而公司行号则可能注册为 *.com.tw 了!这个得要特别留意。至于台湾地区的注册单位很多,你可以选择例如 Hinet 或 Seednet 之类的 ISP 来注册。当然,你也可以选择免费的 no-ip.org 来注册的。
如果想要了解啥是『合法授权』的话,得要从 DNS 主机名的查询方式来谈起,由于 DNS 查询的方式都是由上层的 ISP 提供解析授权给下游的注册者,因此,下游的注册者只要设定妥当后, 全世界的主机就会知道你设定的数据了。详细的查询流程我们留到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 服务器章节再来谈。
由上面的说明当中,我们可以很清楚的知道 DNS 系统最大的功能就是在主机名对应 IP 的转译上面。当然啦,预设的 DNS 转译是用在『固定 IP 对应主机名』的方法上面的!就像上面的图 10.1-1 所示一般。在这个情况底下,你在 DNS 架构下申请完主机名后, 如果你的 IP 不会更动,那就永远不用去烦恼主机名的相关问题啰,这也是所谓的静态 DNS 主机名功能。
但是...夭寿喔!我们的很多小网站都是以非固定 IP 来上网的,更有甚者,某些 ADSL 拨接模式甚至会定时强制断线,也就是说, 在一段时间后,我们都得需要重新拨接上网,而每次拨接成功后取得的 IP 可不见得相同啊,如此一来 IP 不是一直在变吗? 那么我不就需要一直跟我上层 DNS 主机的管理员申请『变更 IP 』吗?会不会太麻烦了点?
是很麻烦啊!所以现在为了解决这个问题,很多 ISP 提供了所谓的动态 DNS 服务的功能,他是这样做的:
所以啰,每次我们取得了新的 IP 之后,我们的主机名对应的 IP 也会跟着在 DNS 系统上面更新, 如此一来,只要别人知道你的主机名,不论你的 IP 为何,他一定可以连上你的主机 (因为 IP 跟着你的主机而变!) 这对于我们这种使用动态 IP 的人是很有帮助的! (阿!真是造福我们这些穷苦人家的孩子呀!) 整个程序就有点像底下的图示,WWW 服务器与 DNS 服务器之间就有关连性啦。
不过,还是需要注意的是,目前的主机名申请很多是『需要钱的』!如果你需要比较稳定的主机名对应 IP 的服务,那么花点钱来注册还是必须的。不过,如果是实验性质的网站,那么也是可以申请免费的动态 DNS 服务喔!
根据前面的说法,如果你只想要有合法的主机名的话,那么依据你的 IP 是否固定而有: (1)静态 DNS 主机名与 (2)动态 DNS 主机名两种注册方式。底下鸟哥列出自己有注册经验的网站提供大家参考:
静态 DNS 的申请方式其实都差不多,都是需要:
我们以台湾蛮常见的 Hinet 这个 ISP 提供的『个人网域: .idv.tw』注册方式来说明:
在台湾,各家的领域名注册流程都差不多,不过,金额是有点差异的,当然,服务也就有不同啊!鸟哥的 vbird.org 领域名则是在 http://www.godaddy.com 注册的喔!如果你不想要使用 .idv.tw 来注册的话,那么国外的 ISP 提供的 DNS 也可以考虑看看说!
如果你跟鸟哥一样使用 ADSL 拨接的方式来上网,这表示你的 IP 应该是不固定的!果真如此的话, 那想要用这样的网络环境来架站就比较麻烦一点!因为上面利用 Hinet 注册的方式通常是给固定 IP 使用的, 你应该不会想要天天上去更新你的 IP 吧?此时这个 no-ip.com 所提供的免费动态 IP 对应主机名的服务就很重要啦!我们先来申请一个主机名来玩玩吧! ^_^
# 1. 编译与安装: [root@www ~]# wget \ > http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz [root@www ~]# cd /usr/local/src [root@www src]# tar -zxvf /root/noip-duc-linux.tar.gz [root@www src]# cd noip-* # 注意一下,这个目录里面有个文件名为 README.FIRST 的档案,务必察看一下内容! [root@www noip]# make [root@www noip]# make install # 这样会将主程序安装在 /usr/local/bin/noip2 而主参数档放在 # /usr/local/etc/no-ip2.conf 当中!然后你必须要开始回答一些问题: Please select the Internet interface from this list. By typing the number associated with it. 0 eth0 1 eth1 0 <==因为鸟哥的主机对外使用 eth0 接口 Please enter the login/email string for no-ip.com [email protected] Please enter the password for user '[email protected]' *** # 上面这两个是你刚刚注册时所填写的 email 与密码喔! Only one host [vbirdtsai.no-ip.org] is registered to this account. It will be used. Please enter an update interval:[30] Do you wish to run something at successful update?[N] (y/N) n mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf # 重点在此!刚刚你做的配置文件被放到上面这个档案中了! |
# 2. noip2 的程序使用: [root@www ~]# /usr/local/bin/noip2 # 不要怀疑!这样输入后,你在 no-ip 上面注册的主机名, # 就开始可以自动的产生对应了!就这么简单! [root@www ~]# noip2 [-CS] 选项与参数: -C :重新设定参数,亦即设定刚刚我们上面输入粗体字的咚咚! 如果你有两个以上的 no-ip 主机名时,就一定需要使用 noip2 -C 来重新设定参数档案! -S :将目前的 noip2 的状况显示出来! [root@www ~]# noip2 -S 1 noip2 process active. Process 2496, started as /usr/local/src/noip-2.1.9-1/noip2, (version 2.1.9) Using configuration from /usr/local/etc/no-ip2.conf Last IP Address set 140.116.44.180 Account [email protected] configured for: host vbirdtsai.no-ip.org Updating every 30 minutes via /dev/eth0 with NAT enabled. |
# 3. 设定开机启动: [root@www ~]# vim /etc/rc.d/rc.local # 加入底下这一行: /usr/local/bin/noip2 |