主机名称是很重要的,尤其是动态的 DNS 主机名称,本文还有谈论动态的 DNS 之侦测技巧,以及相关的文档!
如果你已经将第二章的网络基础看完的话,应该会知道其实我们的 TCP/IP 环境只要有 IP 与正确的路由即可连接了。那么你申请主机名称要干嘛?因为『没办法啊!人脑太不中用了!』举例来说,你可以背出来我们常上去查数据的 www.google.com 的 IP 吗?报告!鸟哥没办法背出来~
因为 IP 是那么难背的东西,而且,如果你的 IP 又是类似拨接的不固定的 IP 时,那还更伤脑筋呢! 因此我们才会习惯以熟悉的英文本串来做为主机名称,然后让『这个主机名称与 IP 达成对应』,那直接记忆主机名称就行了,反正 IP 的查找就交给电脑主机来做即可!在这样的想法下,我们当然就需要有主机名称啦!
因为 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 kiki@gmail.com Please enter the password for user 'kiki@gmail.com' *** # 上面这两个是你刚刚注册时所填写的 email 与密码喔! Only one host [vbirdtsai.no-ip.org] is registered to this account. It will be used. 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 kiki@gmail.com 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 |