since2012/04/23

     
 
申请合法的主机名
本文已不再维护,更新文章请参考此处
最近更新日期:2003/08/26
呵呵!在您读完了网络基础,设定好了防火墙,解决了认识埠口的问题,并且架设了个人简易的防火墙之后,总算是准备要开始来给他进入 Server 的架设了!服务器架设的步骤里面,很重要的一点是『您的主机名必须要在 Internet 上面可以被查询』才好!由网络基础我们知道网络上的设备(主机或其他网络媒体)仅认识 IP ,但人类对于 IP 记忆力又不佳,所以才会以主机名来取代 IP。不过,您的主机名要能够被查询到才有用啊!这个时候,一个『合法』的主机名就很重要了!那要合法的主机,就得要让 DNS 系统能够找的到您的主机啊!不过,如果我们的主机是使用拨接得到的不固定 IP 呢?又该如何申请 DNS 主机名?那就得要使用动态 DNS 的系统啰!在这个章节中,我们主要在介绍 Client 端的设定,而不是在设定 DNS 主机喔! ^_^

大标题的图示为何需要主机名:
    说到这个『为什么需要主机名』的问题,呵呵!其实还真的是为了人类那容纳不下太多内存的脑袋啊!因为人们对于网络基础的 IP 记忆力实在是不好,所以才会选择以人类容易记忆的『Hostname』来作为记忆某部主机的地址。不过,因为网络仅认识 IP 而已,而人类仅想要记忆主机名而已,所以啰,人们就得想一个办法『将主机名与 IP 对应在一起』才行啊!如果您想要架设一个在 Internet 上面提供服务的网站时,那么一个容易记忆与闪亮的主机名是必须的喔!否则大家要连上您的网站都得要记忆 IP ,那不烦死了~而且,如果您的 IP 又是类似拨接的不固定的 IP 时,那还更伤脑筋呢!所以,在这个章节里面,我们会针对如何申请一个合法的主机名来做说明,至于您如果想要进行领域名( DNS )主机的架设,那就请参考后续章节的 DNS 主机设定吧!
     

    主机名的由来
     
    在早期,因为连上网络的计算机数量不多,不过因为 IP 很难记忆,所以在网络上的人们就想出一个简单的办法来进行主机名与 IP 的对应,那就是『在每部计算机的 /etc/hosts 里面设定好主机名与 IP 的对应表』,那么未来人们就可以直接藉由主机名来连接上某些网络上的主机啰!然而因为科技的发达,连上 Internet 的人们越来越多,使用 /etc/hosts 的方法已经搞不定了(只要一部计算机上线,全部的 Internet 上面的所有计算机都要重新改写 /etc/hosts!不太好吧! ) ,这个时候领域名系统 ( Domain Name System, DNS ) 就适时的出现了!
     
    DNS 利用类似树状目录的型态,将主机名的管理分配在不同层级的 DNS 主机当中,经由分层管理,所以每一部主机的记忆的信息就不会很多,而且异动上面也相当的容易修改!那么这个 DNS 的功能您知道了吗?对啦!就是『将计算机主机的名称转译成 IP 』就是了!当然啰,他的额外功能还很多,关于 DNS 的详细的解析部分我们将在后续的 DNS 主机架设 章节当中在持续的加强内容,总之,他的最大功能就是『让有意义的,人类较容易记忆的主机名(英文字母),转译成为计算机所熟悉的 IP 地址!』举个例子来说好了,奇摩雅虎的网站的 IP 是 202.1.237.21 ,所以您可以在您的浏览器上面输入『 http://202.1.237.21 』来连上奇摩雅虎!不过,我想没有几个人能够将这个 IP 背的起来的吧?!反之,我们却都知道奇摩雅虎的网址为 tw.yahoo.com ,那么您只要输入『 http://tw.yahoo.com 』就可以连上 Internet 啦!很容易记忆吧!不过,计算机怎么知道 tw.yahoo.com 就是 202.1.237.21 呢?底下我们以我们的主机 aerosol.ev.ncku.edu.tw 来说明 DNS 的搜寻原理吧!
     

    关于 DNS 的查询流程
     
    刚刚说过 DNS 是以类似『树状目录』的型态来进行名称的管理的!所以每一部 DNS 主机都『仅管理下一层 DNS 主机的名称转译』而已,至于下层的下层,则『授权』给下层的 DNS 主机来管理啦!这样说好像很绕口,好吧!我们就以下图来说一说原理啰:
     

    图一、DNS 的查询示意图
     
    首先,当您在网址列输入 http://aerosol.ev.ncku.edu.tw 时,您的计算机就会依据 /etc/resolv.conf 所提供的 DNS 的 IP 去进行联机查询,好了,用最常见的 Hinet 的 168.95.1.1 这个 DNS 主机好了,这个时候, hinet 的这部主机会这样工作:
     
    1. 先查看本身有没有纪录:因为 hinet 并没有纪录到学术网络上面的信息,所以自然也就没有办法直接提供给 client 端关于 aerosol.ev.ncku.edu.tw 这部机器的 IP 了,好了,这个时候 168.95.1.1 就会向 DNS 的 root 『.』 那部主机查询,而 『.』 会告诉 Hinet 到 .tw 这部机器去查询;
    2. 向最顶层查询:由于 168.95.1.1 没有纪录我们主机的 IP ,这个时候他就会向『台湾地区最顶层的 DNS 』亦即 .tw 这部主机来查询数据了!而.tw 这部机器管理的只有 .com.tw, .edu.tw ... 等等的那一行的几部主机的 IP 而已(见图一),所以他也不晓得 aerosol 那部主机的 IP ,但是他却可以告诉 168.95.1.1 说『嘿!您可以到 .edu.tw 那部机器去查询!我这里有 .edu.tw 的 IP 呦!』;
    3. 向第二层查询:168.95.1.1 接着又到 .edu.tw 去查询,而该部机器管理的又仅有 .ncku.edu.tw, .nsysu.edu.tw, .... 那几部主机(见图一),所以这个时候 .edu.tw 又告诉 168.95.1.1 说:『您要去 .ncku.edu.tw 那里查询,我有他的 IP !』;
    4. 向下层持续查询:好了,一步一步下来, .ncku.edu.tw 可以查到 .ev.ncku.edu.tw 的 IP ,而最后我们 aerosol.ev.ncku.edu.tw 就可在 .ev.ncku.edu.tw 当中查询到啦!
    5. 记录暂存内存:查到了 IP 之后, 168.95.1.1 会先记录一份对应 IP 的信息在自己的暂存内存当中,以方便下一次同一个主机名的要求之查询!然后再将结果回报给 client 端!
     
    就是这样的分层负责,所以当您的主机名要修改时,您只要向您的上层 DNS 要求修改,那么全世界就都可以找到您修改过后的主机名对应的 IP 了!很简单维护吧!机动性也很高吧!好啦!那么我们需要架设 DNS 了吗?!哈哈!当然不是,为什么呢?这个就牵涉到『授权』的问题了!
     

    重点在合法授权:
     
    很多朋友都认为『我要架站,因为主机要有名字,所以一定需要架设 DNS ?』是这样吗?当然不是!这是错误的观念,怎么说呢?从上面的图示当中,您应该不难发现,当我要搜寻 aerosol.ev.ncku.edu.tw 时,就需要由 .ev.ncku.edu.tw 这部机器上面查到,而 .ev.ncku.edu.tw 则需要在 .ncku.edu.tw 上面查到!好了,那么 .ncku.edu.tw 怎么知道 .ev.ncku.edu.tw 的 IP 呢?这是因为『 .ncku.edu.tw 已经授权给 ev.ncku.edu.tw 这部机器,当有人要查询 .ev.ncku.edu.tw 时, .ncku.edu.tw 将把查询的任务直接转给 .ev.ncku.edu.tw 去管理了!』所以啰,如果您要架设 DNS ,而且是可以连上 Internet 上面的 DNS 时,您就必须要透过『上层 DNS 主机的授权』才行!
     
    那么我要怎么架站呢?很简单阿!刚刚不是说过吗? DNS 系统最大的功能就是『主机名转译成 IP 』这个动作,那么您只要向任何一个合法的 DNS 主机申请一个『主机名, hostname 』给您的 Linux 主机,让大家都可以藉由该 DNS 主机来查询到您的 Linux 之 IP ,就可以使用该主机名来架站啦!就是这么简单!那网址列的名称有没有什么意义呢?其实是有的,网址列的最后几个字母代表的意义如下:
     
    名称
    代表意义
    com
    公司、行号、企业
    org
    组织、机构
    edu
    教育单位
    gov
    政府单位
    net
    网络、通讯
    mil
    军事单位
     
    所以啰,如果您只是想要『一个合法的主机名』,那么根本就不需要架设 DNS 主机,只要去申请一个合法的名称即可喔!那么该如何申请呢?又,如果我的 IP 不是固定的,又该如何使用呢!?
     

    申请静态还是动态 DNS 主机名
     
    由上面的说明当中,我们可以很清楚的知道 DNS 系统最大的功能就是在主机名对应 IP 的转译上面。当然啦,预设的 DNS 转译是用在『固定 IP 对应主机名』的方法上面的!夭寿喔!我们的小站很多都是以非固定 IP (很多人也称为浮动式 IP 、动态 IP 等等的名称) 来上网的,更有甚者, Hinet 的 ADSL 拨接都是 24 小时强制断线一次的,所以我们都得需要重新拨接上网,而每次拨接成功后取得的 IP 可不见得相同啊,如此一来 IP 不是一直在变吗?!那么我不就需要一直跟我上层 DNS 主机的管理员申请『变更 IP 』吗?!会不会太麻烦了点?
     
    是很麻烦啊!所以现在为了解决这个问题,很多 ISP 提供了所谓的 动态 DNS 主机服务 的功能,他是这样做的:
     
    1. Client 端(就是您啦)每次开机或者是重新拨接,并取得一个新的 IP 之后,会向 DNS Server 端提出要求,希望 Server 端变更主机名与 IP 的对应 ( 这个步骤在每个主要的 ISP 都有提供适当的 program 来提供给 client 使用 );
    2. Server 端接受 Client 端的要求之后,会先去查询 Client 提供的账号密码是否正确,正确之后就会立即修改 Server 本身对于您的主机名的设定值。
     
    所以啰,每次我们取得了新的 IP 之后,我们的主机名对应的 IP 也会跟着在 DNS 系统上面更新,如此一来,只要别人知道您的主机名,不论您的 IP 为何,他一定可以连上您的主机 ( 因为 IP 跟着您的主机而变! ) 这对于我们这种使用动态 IP 的人是很有帮助的! ( 阿!真是造福我们这些穷苦人家的孩子呀!)
     
    就因为如此,所以:
     
    • 如果您的主机具有固定 IP 时,请选择预设的固定 IP 对应主机名,并且只要在 DNS 主机上面设定过一次之后,就不需要进行其他的设定,您的主机名就已经可以被查询到了;
    • 如果您的主机 IP 是非固定的,那么就得使用动态 DNS 系统所提供的领域名服务器系统,才可以随时更新您的主机名对应的 IP 喔!
     
    不过,还是需要注意的,目前的主机名申请很多是『需要钱的』!如果您需要比较稳定的主机名对应 IP 的服务,那么花点钱来注册还是必须的,不过,如果是实验性质的网站,那么也是可以申请免费的动态 DNS 系统喔!

大标题的图示注册一个合法的主机名:
    静态 DNS 主机注册:
    好了!既然知道了 DNS 的用途,那么自然我们就需要来申请 DNS 啦!不然怎么架设网站呢?目前的静态 IP 对应主机名的注册网站有底下几个!当然还不止啦!我们仅提出几个出来分享就是了!
       
    动态 DNS 主机注册:
    那么有没有免费的 DNS 系统呀!呵呵!当然有啰!我们要感谢造福我们这些穷苦人家的孩子的大好人~~您可以在底下找到相关的信息:
       

    静态 DNS 的申请
     
    静态 DNS 的申请方式其实都差不多,都是需要:
     
    1. 先查询所想要注册的网域是否存在;
    2. 进入 ISP 去申请注册您所想要的主机名;
    3. 缴费,并等待主机名被启用。
     
    我们以台湾蛮常见的 Hinet 这个 ISP 提供的『个人网域, .idv.tw』注册方式来说明:
     
    1. 进入主画面:

    2. 直接连结到底下的网页去:http://nweb.hinet.net/,并在 whois 的画面当中(右上角)选择您想要注册的主机名吧!

       
    3. 逐步进行注册:

    4. 如果确认您的主机名没有被注册掉,那么您就可以开始注册了!同样的在上面的网站连结当中,选择『个人域名』就可以开始申请了!请依序一步一步办理!这里不再说明了,反正都是中文,看的懂得啦! ^_^

      事实上,所有的注册过程当中,最麻烦的要算是缴费了~您必须要等到缴费并且经过身份确认之后,才能够进行底下的其他步骤啊!所以.....立刻去缴费用吧!
       
    5. 填写主机名对应的 IP:

    6. 缴费完毕之后,我们就可以开始进行主机名的填写了!按下上面图示『DNS 指定/异动』的项目,并填入您的主机名与密码,然后就会出现如下的画面了:

      特别的给他留意,因为我们没有要架设 DNS 主机(因为没有必要啊!难度太高了!),所以当然最上方要选择『主机』的项目,然后您可以填入三部主机名喔!当然,这三部主机名可以通通指向同一个 IP ,也可以不同!随您的便吶!而,需要注意到的是,您的主机名应该是『othername.yourhost.idv.tw』后面的 yourhost.idv.tw 是不变的,前面的 othername 则可以自由选取呢!例如我上面的设定,后面均是 vbird.idv.tw ,而前面的名称就可以让我自由选择啦!
       
    7. 等待 DNS 启用:

    8. 设定成功到可以使用,其实需要一定的时间的,以我为例,第一次申请之后,大约过了 20 小时该设定才正确的启动呢!请以请耐心等候啊!不要太着急啰! ^_^
       
    各家的领域名注册流程都差不多,不过,金额是有点差异的,当然,服务也就有不同啊!我的 vbird.org 领域名则是在 http://www.godaddy.com/ 注册的喔!如果您不想要使用 .idv.tw 来注册的话,那么国外的 ISP 提供的 DNS 也可以考虑看看说!
     

    动态 DNS -- http://www.adsldns.org
     
    如果您想要使用免费的 DNS 系统,而且您的 IP 又是非固定的,那么在台湾地区的 www.adsldns.org 倒是真的挺适合您的!您可以在 http://www.adsldns.org/member.php 申请注册,里面都是中文,所以我就不捉图了,您可以自行填写完成的啦!填写完成之后,按下注册,就可以申请到您的主机名了!不过,重点在后面,在您取得了账号与密码之后,接下来需要设定『到底要使用动态 DNS 还是静态 DNS 系统』的选项,所以,请您登入到首页: http://www.adsldns.org/service.php,在左上方填写您的注册时填入的 email 以及密码,就可以进入到如下画面:
     

     
    因为我们想要进行的是动态 DNS 的设定,所以在填写了 IP 之后,还需要选择第 2 项的服务功能才行喔!千万记得吶!好了,那么要如何让系统自动的在取得新的 IP 之后立即更新主机名呢?!在这里我写了一个针对 www.adsldns.org 的侦测 scripts 来使用,您应该先要了解一下我是如何设计这个 script 的,当您的 Linux 取得了新的 IP 之后,我这个 script 会依据您的设定而有三个工作项目,分别是:
     
    • 仅 e-mail 给管理员:

    • 适用的环境:没有申请 www.adsldns.org 的主机名;
      功能:不会更新 DNS ,仅会将新的 IP e-mail 给系统管理员。
      原理:利用简单的 IP 分析,如果新的 IP 分析出来的结果是没有联机的,那么系统将先启动 Internet 联机,如果旧的 IP 与新的 IP 不一样,那么就将新的 IP 寄给系统管理员!
       
    • E-mail 之外,还会更新 DNS 组态:

    • 适用环境:申请 www.adsldns.org 主机名者;
      功能:除了新的 IP 将 e-mail 给系统管理员之外,亦将会分析 DNS 主机的 IP 。
      原理:利用 IP 分析,若发现断线,则自动加以联机,而联机之后的 IP 除了 e-mail 给系统管理原之外,亦将与 Internet 上面的主机名 IP 比对,若不相同,则直接予以更新 DNS 的 IP !
       
    • 在 IP 分享器后端的 Linux 来更新 DNS 的 IP :

    • 适用环境:在 IP 分享器的后端的 Linux 主机,可用来判断 IP 分享器的 IP
      功能:除了判断 IP 分享器的 IP ,并将 IP mail 给系统管理原之外,亦将更新 DNS 的 IP ;
      原理:利用 www.adsldns.org 可以判断自己的 IP 的原理,用来将该 IP 整个的更新!
     
    上述的功能我将他全部都写在同一个 script 里面了,您必须要选择您所需要的环境,而这个 script 将可同时适用 ADSL 与 Cable 的浮动式 IP 的状态!一般来说,都是选择 job 2 的啦!底下就是我这个 script 的内容,参考看看:
     
    #!/bin/bash
    #
    # History and lastlog
    #======================================================================
    # Date          Who     What
    #======================================================================
    # 2002/08/05    VBird   Use the older scripts to modify and adding some
    #                       modules to fit everyone's needed.
    # 2002/11/14    VBird   delet the integer type declare!
    # 2003/08/26    VBird   加入 iptables.rule 的支援!
    #                       重新改写成 function 的模式!
    #######################################################################
    #====================== INPUT SESSION =================================
    # 1. 请输入您在 http://www.adsldns.org 申请到的账号密码与主机名
      password="your.password"
      email="your.email"
      hostname="your.host.name"

    # 2. method 部份请输入您连接上 Internet 的方法, 有 adsl 与 cable 两种
    #    nicif  部份请输入连接 ADSL modem 的网络卡装置代号
    #    outif  部份请输入对外的界面卡
      method="adsl"         # 这里请输入 "cable" or "adsl"
      nicif="eth1"          # 如果您使用 cable ,那么这里请输入对外的适配卡
      outif="ppp0"          # 如果您使用 cable ,那么这里请输入对外的适配卡

    # 3. 这里请输入您要系统帮您寄信出去的 E-Mail
      emailto="root@localhost"

    # 4. 您放置此程序的目录
      basedir="/usr/local/pingcard"
      basefile="$basedir/oldcardIP"

    # 5. What jobs is your needed?
    #       1. e-mail and re-dial up
    #       2. e-mail, re-dial up, and update DNS
    #       3. IP share ==> e-mail and update DNS
    #       请选择您需要的服务
      jobs="2"

    #######################################################################
    # 底下为程序代码,除非您知道 Shell script ,否则底下不要修改!
    #====================== DETECT FILES SESSION ==========================
    # 1. Detect the lynx package.
      PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
      export PATH
      if [ "$jobs" == "2" ] || [ "$jobs" == "3" ]; then
            which lynx > /dev/null 2>&1
            if [ "$?" != "0" ]; then
                    echo "The nessecery package ==> lynx do not install!"
                    echo "Please install this package before running this."
                    exit 1
            fi
      fi

    # 2. Detect the old IP file
      welcome='Welcome to use this program to update your IP to
      www.adsldns.org.  This message is only show you at the first time.
      If you have any problem about this program, and/or you have any
      good ideas for develop this program, please contact with me.
      http://linux.vbird.org'
      if [ ! -f $basefile ]; then
            echo $welcome | mail -s "Welcome using ping_net_card.sh" \
            $emailto
            /bin/touch $basefile
      fi

    #######################################################################
    #====================== Functions  =====================
    # 底下这个函数在取得新旧的 IP 啦!
    oldip () {
            oldip=`cat $basefile`
    }
    getip () {
            ifconfig "$outif" > /dev/null 2>&1
            if [ "$?" == "0" ]; then
                    newip=`ifconfig "$outif" | grep 'inet' | \
                          awk '{print $2}' | sed -e "s/addr\://"`
            else
                    newip=""
            fi
    }

    # 底下这个函数在检验新旧 IP 是否相同!?
    checkip () {
            if [ "$method" == "adsl" ]; then
                    adsl-stop  > /dev/null 2>&1
                    sleep 3s
                    adsl-start > /dev/null 2>&1
            fi
            if [ "$method" == "cable" ]; then
                    ifdown $nicif > /dev/null 2>&1
                    sleep 3s
                    ifup $nicif   > /dev/null 2>&1
            fi
            sleep 3s
    }

    # 这个函数在将 IP 地址寄给您
    mailtoyou () {
            echo $newip | \
            mail -s "The new IP in your $hostname" $emailto
            echo "$newip" > $basefile
    }

    # 这个函数在更新 DNS 系统
    updateforyou () {
            HOST="http://www.adsldns.org:8080/clientupdate.php?\
    email=$email&passwd=$password&hostname=$hostname&debug=1&\
    forceip=$newip"
            lynx -dump $HOST > /dev/null 2>&1
    }

    # 这个函数在更新防火墙机制
    iptablesrule () {
            [ -f /usr/local/virus/iptables/iptables.rule ] && \
            sh /usr/local/virus/iptables/iptables.rule
    }

    # 这个函数取得您的 DNS 主机名与 IP 是否相同!
    getdnsip () {
            dnsip=`host $hostname | awk '{print $4}'`
    }

    #
    #====================== ONLY EMAIL SESSION jobs 1 =====================
      if [ "$jobs" == "1" ]; then
          # 1. Get the older IP and newer IP
            oldip
            getip
            while [ "$newip" == "" ]
            do
                    checkip
                    getip
            done

          # 2. compare with older IP and newer IP. And e-mail to you
            if [ "$newip" != "$oldip" ]; then
                    mailtoyou       # just mail to you
            fi
            exit 0
      fi

    #====================== EMAIL and UPDATE SESSION job 2 ================
      if [ "$jobs" == "2" ]; then
          # 1. Get the older IP and newer IP
            oldip
            getip
            while [ "$newip" == "" ]
            do
                    checkip
                    getip
            done

          # 2. compare with older IP and newer IP. And e-mail to you
            if [ "$newip" != "$oldip" ]; then
                    mailtoyou       # just mail to you
                    updateforyou    # just update for you
                    sleep 3s
                    iptablesrule    # just reflush iptables rule
            fi

          # 3. check if the DNS name == newip
            getdnsip
            if [ "$newip" != "$dnsip" ]; then
                    updateforyou    # just update for you
                    sleep 3
                    iptablesrule    # just reflush iptables rule
            fi
            exit 0
      fi

    #====================== SHARE IP MECHANIME job 3 ======================
      if [ "$jobs" == "3" ]; then
          # 1. Get the older IP and newer IP
            oldip
            newip=`lynx -dump "http://www.adsldns.org/login.php?email=$email&passwd=$password"| grep 您好|cut -d":" -f2|sed 's/ .*$//g'`

          # 2. compare with older IP and newer IP. And e-mail to you
            if [ "$newip" != "$oldip" ]; then
                    mailtoyou       # just mail to you
                    updateforyou    # just update for you
                    sleep 3s
                    iptablesrule    # just reflush iptables rule
            fi

          # 3. check if the DNS name == newip
            getdnsip
            if [ "$newip" != "$dnsip" ]; then
                    updateforyou    # just update for you
                    sleep 3
                    iptablesrule    # just reflush iptables rule
            fi
            exit 0
      fi

     
    上面的 script 您可以在 http://linux.vbird.org/download/index.php#ping_net_card 下载,至于安装的方法就相当的简单啦!您只要下载该 script ,然后将他移动到适当的目录之下,修改一下上面显示粗体字的地方,然后再修改您的 /etc/crontab !嘿嘿!那就成功啰!
     
    1. 下载 script 并移动到适当的目录:
    [root@test root]# wget http://linux.vbird.org/download/vbird/ping_net_card.sh
    [root@test root]# mkdir -p /usr/local/pingcard
    [root@test root]# cp ping_net_card.sh /usr/local/pingcard
    [root@test root]# chmod 744 /usr/local/pingcard/ping_net_card.sh
    [root@test root]# vi /usr/local/pingcard/ping_net_card.sh
    # 这个时候进入 vi 的画面,请依照您的需求来修改 INPUT 的部分!
     
    2. 修改 crontab 
    [root@test root]# vi /etc/crontab
    # ....新增加一行:
    */3 * * * * root /usr/local/pingcard/ping_net_card.sh
     
    嘿嘿!这样一来,如果您的主机不正常的断电之后,在三分钟之内就会自动的拨接,此外,还会自动的上网去更新您的 DNS 主机名!还会 e-mail 到您的信箱去!告诉您最新的 IP 是什么!哈哈!简不简单呀!? ( 注:因为我没有 cable modem ,所以在 cable 的部分我是经由网友回报而做成的 script !此外,我也没有 IP 分享器!所以第三个 jobs=3 还没有测试过!无论如何, jobs=1 是完全没有问题的!此外,针对朋友们常常发生的 lynx 没有安装的问题,这是我也先将他写了一个小小的检查档案,可以告诉朋友们!嘿!您的 lynx 安装了没?! )
     

    动态 DNS -- http://www.no-ip.com
     
    除了 www.adsldns.org 之外,我们还有其他的选择,那就是 no-ip 这家公司所提供的免费动态 DNS 系统啦!申请的方法如下:
     
    1. 登入主网页:

    2. 在如下的图示当中,因为我们要注册一个新的网域,所以就给他选择如下的『Sign-up-Free!』那一项:

       
    3. 填写主要的识别数据:

    4. 因为 no-ip 会发给您一份密码,所以在出现的如下画面中,您必须要填写『一个可以收到邮件的合法 Email 』,以及您的身份确认数据,这很重要,因为后续的数据都是使用您注册时的这个咚咚吶!然后再按下最底下的『SIGN UP NOW』即可!

      按下 SIGN UP NOW 而且出现如下画面,就是已经注册成功啦!

      这个时候,请立刻以刚刚注册用的 email 来收信,应该就会收到来自 no-ip 公司的密码确认信,请记取上面的密码,我们准备要来登入了!
       
    5. 登入 no-ip :

    6. 用我们刚刚注册时的 Email 以及 密码 来登入 no-ip 了!

      正确的登入之后会在画面左手边出现如下的图样:

       
    7. 注册使用新的 HOSTNAME 去:

    8. 好了,同样的来设定一下我们所需要的主机名吧!在上面的图示当中,请按下『Add』来新增我们的主机名:

      注意一下,您只要填入 Hostname, Host Type, IP Address 即可!至于那个 MX Record 等到未来谈到 Mail Server 时,您再来选填吧!填完了三个信息之后,直接给他按下『Create Host』即可!这样就可以新增一个主机名了!如果您还想要了解其他功能的话,可以在步骤三的地方按下『Manage』就能够删除、编辑您的 no-ip 主机名咯! ^_^
       
    OK!既然我们又是需要使用动态 DNS 的系统,所以自然又是需要其他的程序的辅助啰!在这里, no-ip 提供了我们一个很良好的程序来更新我们的 domain 呢!真棒!您可以这样做:
     
    0. 下载文件:
    [root@test root]# wget http://www.no-ip.com/client/linux/noip-2.0.12.tar.gz
    # 或者到鸟哥的网站下载
    [root@test root]# wget http://linux.vbird.org/download/linux_server/noip-2.0.12.tar.gz
     
    1. 解压缩并且编译及安装
    [root@test root]# cd /usr/local/src
    [root@test src]# tar -zxvf /root/noip-2.0.12.tar.gz
    [root@test src]# cd noip-2.0.12
    # 注意一下,这个目录里面有个文件名为 README.FIRST 的档案,请务必察看一下内容!
    [root@test noip-2.0.12]# make && make install
    # 这样会将主程序安装在 /usr/local/bin/noip2 而主参数档放在
    # /usr/local/etc/no-ip2.conf 当中!
     
    Auto configuration for Linux client of no-ip.com.
     
    Multiple network devices have been detected.
     
    Please select the Internet interface from this list.
     
    By typing the number associated with it.
    0       eth0
    1       ppp0
      <==这里请输入您是使用那一个接口连接到 Internet 的?
    Please enter the login/email string for no-ip.com  kiki@yahoo.com.tw
    Please enter the password for user 'kiki@yahoo.com.tw'  ************
     
    Only one host [kiki.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
     
    New configuration file '/tmp/no-ip2.conf' created.
     
    mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf
     
    [root@test noip-2.0.12]# /usr/local/bin/noip2
    # 这样就可以让您的 noip2 自动的更新您的数据啰! ^_^
     
    3. noip2 的语法简介
    [root@test root]# noip2 [-CS]
    参数说明:
    -C :重新设定参数,亦即设定刚刚我们上面输入粗体字的咚咚!
       如果您有两个以上的 no-ip 主机名时,就一定需要使用 noip2 -C 来重新设定参数档案!
    -S :将目前的 noip2 的状况显示出来!
    如果不加任何参数,就是将 noip2 直接常驻在内存里面啰!(变成 daemon 啰!)
    范例:
    [root@test root]# noip2 -S
    Process 32632, started as /usr/local/src/noip-2.0.12/noip2
    Using configuration from /usr/local/etc/no-ip2.conf
    Last IP Address set 140.116.142.213
    Account kiki@yahoo.com.tw
    configured for:
            host  kiki.no-ip.org
    Address check every 1 minute, directly connected via /dev/ppp0.
    # 瞧!上面显示的就是您注册时的一些相关讯息喔!
     
    4. 设定开机时启动 noip2
    [root@test root]# vi /etc/rc.d/rc.local
    # 加入底下这一行:
    /usr/local/bin/noip2
     
    如此一来,呵呵!一开机就会启动 noip2 ,而且还能够重新设定参数 ( noip2 -C ) 也可以观察 noip2 的工作状态!真的是很方便的啦! ^_^

大标题的图示参考数据

大标题的图示课后练习
  • 请简易说明 /etc/hosts 的用途;
  • 请说明『合法授权』的主机名需要做什么?
  • 什么是动态 DNS 系统?(仅说明 client 端)
  • 如果您使用 adsl 拨接来上网设定服务器,那么该申请哪一类型的主机名?为什么?

  • 前往参考解答
申请合法的主机名

2002/08/05:第一次完成日期!
2003/08/26:修改篇名、增加一 no-ip 的设定方式
 
     
http://linux.vbird.org is designed by VBird during 2001-2011. ksu.edu 

本网页主要以Firefox配合解析度 1024x768 作为设计依据     鸟哥自由软件整合应用研究室