树莓派Raspberry Pi编译安装noip实现动态域名并设置自动运行

本页另有英语版本。

 
8月中有段时间花生壳突然连接不上了,聪头用了noip替代,在此与大家分享一下经验。
noip是一个动态DNS服务提供商,与国内的花生壳是同样的产品,可以让用户在不知道自己设备的公网IP的情况下,使用noip提供的动态域名访问自己的设备。
我们应该先在noip官网中免费注册一个账号,并申请一个免费的动态域名。
 

编译安装noip2

 
我们按下面的步骤,在Rpi上编译安装noip的DUC(Dynamic Update Client)客户端:
 

cd /usr/local/src/
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xf noip-duc-linux.tar.gz
cd noip-2.1.9-1/
make install

 
随后程序会与用户交互来进行设置:
 

Please enter the login/email string for no-ip.com:
# (输入noip.com用户账号的邮箱地址)

Please enter the password for user:
# (输入用户密码)

Please enter an update interval: [30]
# (刷新频率,客户端检查外网IP的间隔,免费用户默认为30分钟)
(Increments in minutes that you want no-ip client to check if your router’s external dynamic IP address has changed and updates it accordingly.)

Do you wish to run something at successful update? [N] (y/N)
# (输入N后回车)

 
这时程序会将编译好的noip2程序复制到/usr/local/bin/,还会生成一个配置文件no-ip2.conf储存到/usr/local/etc/,这个文件记录了用户的账号和密码,不过朋友可以打开这个文件看到这些信息都是密文,不用担心。
 

设置自动运行noip

 
noip客户端并不会在开机后自动启动,我们需要设置让其随着系统开机后自动运行,在终端中输入:

nano /etc/init.d/noip2

然后输入以下内容:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          noip2
# 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 noip2.
### END INIT INFO
case $1 in
    start)
		/usr/local/bin/noip2 -c /usr/local/etc/no-ip2.conf -d
		;;
    stop)
		killall noip2
		;;
*)
echo "Usage: $0 (start|stop)"
;;
esac

 
自动启动脚本编好后,先确保执行权限,另外还需要更新一下:

sudo chmod 755 /etc/init.d/noip2
sudo update-rc.d noip2 defaults

 
如果更改了noip.com上的密码,可以用这条命令重新配置客户端:

/usr/local/bin/noip2 -C

 
参考文章:
How to Install the Linux Dynamic Update Client on Ubuntu
 

发表评论

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

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

分类目录
树莓派小伙伴