Linux实现动态域名绑定

        在说一大堆东西之前先把我的环境说一下,我是使用华数宽带,TP-Link路由器PPPoE联网的,在我家里有两台机器,一台笔记本电脑和一台没有显示器作为服务器的二手主机,在TP-Link里面已经做了端口映射,将所有的端口都映射到二手主机的内网IP,所以所有的外网访问都会重定向到我的二手主机。好了,下面开始说正题。

        现在,遇到一个问题,就是我的外网IP是动态的,IP地址每天变动好几次,想要发挥二手主机的作用实在太难了。后来跟朋友讨论之后,想到了一个动态域名绑定的方法,通过花生壳的动态域名绑定,就可以不需要管IP地址的变动直接访问域名即可,就算想要使用SSH,也只要使用cmd,然后ping一下域名就知道动态的IP是什么了。

        我大学的时候也有使用过花生壳,还有一个闲置的域名www.ibudian.com,于是去花生壳网站下载了一个Windows客户端,登录了帐号之后我的www.ibudian.com就直接运行了,因为之前在域名服务商那里都设置过a记录了。

        虽然可以访问www.ibudian.com,但是还是遇到了一个问题,我Windows的笔记本电脑不可能一直都开启的,当我的笔记本关机了之后,IP地址变化了,我的二手主机就无法被访问了。所以现在必须将动态域名解析的客户端放在Linux里面才行,后来我发现花生壳不仅仅有Windows的客户端,Linux的客户端也有!

        大家可以到http://www.oray.com/peanuthull/download_linux.php下载最新的花生壳Linux客户端。

下面介绍如何安装花生壳Linux客户端(以CentOS 5.5为例):

安装必要的开发包

[root@localhost ~]# yum install gcc gcc-c++ autoconf automake

这些开发包一般都有了的,如果没有就安装上面的语句安装下。

将phddns-x.x.x.xxxxx.tar.gz(x.x.x.xxxxx是版本号)放到某一个目录

用FTP上传工具将你刚刚下载的最新版花生壳Linux客户端软件phddns-x.x.x.xxxxx.tar.gz放到/usr/local/src/ 目录下,你也可以选择其他的。

解压所有文件

[root@localhost ~]# tar zxvf phddns-x.x.x.xxxxx.tar.gz

进入目录并编译安装

[root@localhost ~]# cd phddns-x.x.x.xxxxx

[root@localhost phddns-x.x.x.xxxxx]# aclocal

[root@localhost phddns-x.x.x.xxxxx]# autoconf

[root@localhost phddns-x.x.x.xxxxx]# automake

[root@localhost phddns-x.x.x.xxxxx]# ./configure

[root@localhost phddns-x.x.x.xxxxx]# make

[root@localhost phddns-x.x.x.xxxxx]# cd src

[root@localhost src]# ls -l phddns

-rwxr-xr-x 1 root root 80968 Aug 2 11:18 phddns

执行编译好的程序并配置(默认使用/etc/phlinux.conf,如果不存在这个文件则自动进入交互配置)

说明:这部分的配置你需要有花生壳的账户,你去它的网站申请一个帐号,它还会给你一个二级域名,像我就得到了一个wangzhiangtony.xicp.net这样的域名,你也可以自己去购买一个付费的域名,在域名服务商那里设置一下a记录和DNS服务器(设置成花生壳的),然后就可以开始下面的命令了。

[root@localhost src]# ./phddns

输入服务器地址,如无特殊情况可使用默认值

Enter server address(press ENTER use phlinux3.oray.net):(敲回车就行了)

输入您的Oray帐号名称

Enter your Oray account:

对应的Oray帐号密码

Password:

选择帮定的网卡,如无特殊,默认即可

Network interface(s):

[eth0] = [IP:192.168.0.162]

[lo] = [IP:127.0.0.1]

Choose one(default eth0):(敲回车就行了)

选择日志保存到哪个文件

Log to use(default /var/log/phddns.log):(敲回车就行了)

保存配置文件,选择yes则直接保存到/etc/phlinux.conf,输入other可以指定文件

Save to configuration file (/etc/phlinux.conf)?(yes/no/other):

接下来程序将已交互模式开始运行

192.168.0.162

NIC bind success

defOnStatusChanged okConnecting

defOnStatusChanged okRedirecting

defOnStatusChanged okConnecting

defOnStatusChanged okDomainListed

defOnDomainRegistered wangzhiangtony.xicp.net

defOnDomainRegistered ibudian.com

defOnDomainRegistered www.ibudian.com

defOnStatusChanged okDomainsRegistered, UserType: 0

看到上面这些就表示登录成功,这个时候可以按ctrl+c先退出程序

将phddns拷贝到你希望的位置

[root@localhost src]# cp phddns /usr/bin/

以后台模式启动花生壳并检查运行情况

[root@localhost ~]# /usr/bin/phddns -c /etc/phlinux.conf -d

192.168.0.162

NIC bind success

phddns started as daemon!

[root@localhost ~]# tail /var/log/phddns.log

Sun Sep  9 22:26:51 2012| ExecuteUpdate 250 Register successfully

Sun Sep  9 22:26:51 2012| 250 6622575 134817752

Sun Sep  9 22:26:51 2012| ExecuteUpdate nChatID:6622575, nStartID:134817752

Sun Sep  9 22:26:52 2012| userinfo: 。。。

Sun Sep  9 22:26:52 2012| SEND QUIT COMMAND…Sun Sep  9 22:26:52 2012| OK.

Sun Sep  9 22:26:52 2012| 221 Good bye

Sun Sep  9 22:26:52 2012| ExecuteUpdate OK, BeginKeepAlive!

退出花生壳

查看进程ID

[root@localhost ~]# ps -A | grep phddns

12107 ?        00:00:00 phddns

让后台进程退出

[root@localhost ~]# kill -9 12107

将花生壳加到系统启动时运行

[root@localhost ~]# vim /etc/rc.local

在文件的末尾加上一行:/usr/bin/phddns -c /etc/phlinux.conf –d

你可以重新启动一下主机试试,然后在外网访问你的域名,应该就可以看到你的Web服务器的内容了。

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/877.html

《Linux实现动态域名绑定》有10个想法

发表评论