CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟

教你Windows下动态DNS申请

ZDNet 软件频道    更新时间:2007-08-24作者:bitscn.com    来源:bitscn.com

本文关键词:   服务器  IP  DNS  

  什么是 DNS ?

  如果你常常在台湾上网络的话,应该都知道奇摩站的网址为 www.kimo.com.tw 吧!所以你在浏览器的网址列上打入 http://www.kimo.com.tw 就可以连上 奇摩站了!好啦,那我们知道其实 Internet 上面用来认识你的计算机的门牌都是使用 IP 来进行的,例如 奇摩站 的 IP 其实是 202.1.237.21,所以如果你在网址列打上 http://202.1.237.21 同样也可以连上 奇摩站 的!虽然使用 IP 即可连上主机,但是由于 IP 是一堆数字的集合,很难记忆,所以才会有 DNS 这种网址列的出现,这样一来,只要你记得 kimo 就大概可以知道他的网址列,而不用死记一堆 IP 数字了!

  举个简单的例子,你知道教育的英文吧(education),另外我们也知道 WWW 为一般的网页主机开头,所以如果你要登入台湾的教育部首页,直接在网址列打上 www.edu.tw 就可以啦,那你就不用去记 IP 了!所以,简单的来说,DNS只是要帮我们记忆一些名称以对应相对的 IP 的一个系统。

  那网址列的名称有没有什么意义呢?其实是有的,网址列的最后几个字母代表的意义如下:

   

  我对 DNS 的了解也不是很深,大概有的只是一些概念而已,如果你想要对 DNS 有更深一层的了解,建议到 study-area 来看看!

  去申请免费的动态 DNS 系统

  好了,既然知道了 DNS 系统了,那什么叫 动态DNS 呢?这是由于近年来拨接网络的盛行,而拨接网络所分给你的 IP 并非固定的,例如以 seednet 为例,你每次重新开机而 seednet 给你的 IP 大致上是分布在 211.74.XXX.XXX 这一个 IP !所以你每次拨接上网的 IP 是随机分配的!

  那就会产生一个问题,如果你架设了一个网站,但是你的 IP 却一直变来变去,那客户端如何跟你联机呢?这时就有所谓的动态 DNS 出现了,他的运作原理是这样:你每次开机的时候,写一个小程序去向这个动态DNS主机 要求更改你的 IP ,这个主机会将你申请的名称与 IP 重新作一个调整,因此,只要别人知道你的主机名称,不论你的 IP 为何,他一定可以连上你的主机(因为 IP 跟着你的主机而变!)这对于我们这种使用动态 IP 的人是很有帮助的!

  目前就我所知,台湾地区有一个试验性的免费动态 IP 系统,由于是试验性的,所以他并不保证完全可以让你的DNS永远没有问题!不过,如果你有心去架设一个网站的话,可以去申请需要付费的动态DNS系统!那应该会比较好一些!至于申请的方式,你可以到底下的网址去看看,这里就不多作介绍了!

  免费动态 DNS :

  台湾地区免费动态DNS系统

  付费动态 DNS 系统:

  荻恩斯科技

  当然还有很多的动态DNS系统,你可以多多比较了!不过,目前我所申请的是免费的 DNS 系统,你可以上去看看啰。

  侦测小技巧

  申请了 动态DNS系统 当然是希望在每次重新联机的时候可以自动将你的 IP 送上主机去更改了,这时你就需要用到 crontab 这种例行性检查的服务了!

  crontab:

  在 Linux 系统当中,由于有些服务是必须在某些时刻开启的,因此就有 crontab 服务的产生, crontab 可以让你在固定的时候执行某些动作!关于系统的 crontab 你可以到 /etc/crontab 这个档案去看看, RedHat 6.1 预设的 crontab 有点像这样:

   

  上面的说明是这样的:

  MAILTO:如果底下执行的动作发生了一些讯息,这些讯息应该传给谁?由于 root 没有办法在其它的机器上登入以取得邮件,因此这一行我都会改成我的 ID帐号!

  另外,在 run-parts 部分,(注意: # 后面接的是批注,并不会被执行)共有五个数字(如果没有数字的话,必须以 * 来代替),这五个数字的意义是:

   

  例如 01 * * * * root run-parts /etc/cron.hourly 表示每个小时的 1 分钟执行 /etc/cron.hourly 这个目录中的所有执行文件,而 42 4 1 * * root run-parts /etc/cron.monthly 则表示每个月的一号的4点42分执行 /etc/cron.montly 这个目录下的所有执行文件,然后我通常会在run-parts 当中加入如上表中黄色显示的那一行,那一行表示:在每隔三分钟之后执行 /etc/cron.min 这个目录下的所有执行文件!因此,我必须在 /etc 中先建立一个名为 cron.min 的目录: mkdir /etc/cron.min,然后将我所需要的例行性执行文件写在这个目录中!

  一个范例:

  以下是我写的一个小程序,你可以看看:

   

   

   

   

  上面这个批次档你可以在这里下载,并请注意,上面黄色的字的地方是你需要修改的东西,ETH0IP为你的内部网络的通讯闸的 IP ,其它的项目则是你在 www.adsldns.org 申请的时候所附上的信息!请填写这些东西就可以了,然后将这个档案放置到你刚刚建立的 /etc/cron.min 这个目录中,然后修改他的属性成为: chmod 744 /etc/cron.min/ping_net_card.sh,如此一来,则每三分钟系统会去侦测你的网络是否存在,若不存在则会重新激活你的拨接程序,并且在拨接之后将会直接更新你在 www.adsldns.org 的 DNS 啰!

[an error occurred while processing this directive]