树莓派Raspberry Pi安装花生壳实现动态域名并设置自动运行

聪头使用电信的ADSL,有公网IP,甚至在早几年管理不算严的时候,还开通了80端口。这样,使用花生壳,可以使用动态域名,轻松实现远程连接,也可以访问自己搭建的Web应用了。

花生壳是一个动态DNS,是oray.com的其中一款拳头产品。聪头在03年的时候就已经在他们网站注册,ID是个5位数,曾经致电他们客服,我报出自己ID号的时候,客服表示那是他在oray.com接到过最小的一个客户ID了。

在安装花生壳这前,我们首先必须准备以下条件:
-2. 先在oray.com免费注册,然后申请免费域名,激活花生壳服务。
-1. 为使外网能访问连接在路由上的RPi,需将端口(SSH是22)映射到RPi的内网地址。
0. 通电开机!

好了,正式开始吧!

1. 先下载花生壳并编译:(目前Linux最新的版本是2.0.6,但现在官网提供下载的都是不适合ARM平台安装的版本,这里先用着2.0.5)

wget http://download.oray.com/peanuthull/phddns-2.0.5.19225.tar.gz
tar zxvf  phddns-2.0.5.19225.tar.gz
cd phddns-2.0.5.19225
./configure
make

2. 检查是否编译成功:

cd src
ls -l phddns

如果成功,系统应返回这样的信息:
花生壳编译成功
(当时聪头用root登录后安装的,但不建议朋友用root身份安装,所以本文必要的地方都带sudo)

3. 编译好后进行账号配置,输入:

sudo ./phddns

然后交互方式进行配置:

Enter server address(press ENTER use phlinux3.oray.net):  #输入服务器地址,直接回车则使用默认值;
Enter your Oray account: #输入您的Oray帐号名称;
Password: #对应的Oray帐号密码;
Network interface(s):
eth0:192.168.141.18
lo:127.0.0.1
Choose one(default eth0): #选择绑定的网卡,建议首选eth0;
Log to use(default /var/log/phddns.log): #选择日志保存到哪个文件,敲回车选择默认项;
Save to configuration file (/etc/phlinux.conf)?(yes/no/other): #保存配置文件,选择yes则保存到/etc/phlinux.conf,输入other可以指定文件;

配置成功后,客户端与服务器端进行信息交互,看到类似如下的的信息的话,说明已完成登录:
花生壳客户端成功登录

4. 将phddns拷贝到你希望的位置,例如:

sudo cp phddns /usr/bin/

5. 以后台模式运行花生壳并通过日志检查运行情况,命令如下:

sudo /usr/bin/phddns -c /etc/phlinux.conf -d
sudo tail /var/log/phddns.log

6. 添加脚本到/etc/init.d,实现花生壳开机自动启动,先输入:

sudo nano /etc/init.d/phddns

然后写入:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          phddns
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop phddns.
### END INIT INFO
case $1 in
    start)
		/usr/bin/phddns -c /etc/phlinux.conf -d
        ;;
    stop)
		killall phddns
        ;;
*)
echo "Usage: $0 (start|stop)"
;;
esac

编好脚本后,需要确保脚本可执行,否则会遇到这样的错误提示:insserv: script phddns is not an executable regular file, skipped!
终端输入:

sudo chown root:root /etc/init.d/phddns && sudo chmod 755 /etc/init.d/phddns

然后添加到启动运行队列:

sudo update-rc.d phddns defaults

如果以后要取消自动启动,就用这个命令:

sudo update-rc.d -f phddns remove

以后要启动或停止就有专用的命令了:

sudo service phddns start #启动;
sudo service phddns stop #停止。其实上面不是也有“killall phddns”吗?哈哈

这样,无论Rpi开启了什么服务,只要我们能连上互联网,就能远程连接到自己的应用了!

2 Responses to 树莓派Raspberry Pi安装花生壳实现动态域名并设置自动运行

  • 楼主您好,请问上述的第二步:“-1. 为使外网能访问连接在路由上的RPi,需将端口(SSH是22)映射到RPi的内网地址。”具体步骤是如何实现的?

    • 其实这句话我说得不准确,应该是“……将一个端口映射到Rpi内网地址的端口(如SSH是22)”。要在路由上设置端口转发,有些路由叫“虚拟服务器”。记得路由上打开的端口不要用常用端口,用一些5位数的稳妥点。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.

分类目录
树莓派小伙伴