O-2-3 赚钱宝增加DDNS功能-阿里云开发者社区

开发者社区> 安全> 正文

O-2-3 赚钱宝增加DDNS功能

简介:

以下内容转载自百度经验。


DDNS可以绑定动态IP到指定的域名。这对于需要远程访问,而又不想申请静态IP的家庭用户是非常实用的功能。本文就以赚钱宝(以下简称盒子)为平台,花生壳(以下统称为oray)为DDNS供应商,详细解释了如何在盒子上增加DDNS功能,同时又不影响盒子的挖矿功能。


基本思路:

1)安装cron定时服务。

2)编写DDNS代码,实现IP检测和更新。

3)使用定时服务重复执行DDNS代码。


前期准备

1.首先你需要有个 oray 账户,同时添加一个免费 oray 域名。

2.你的盒子需要有root权限的账户


准备cron服务

1.运行终端软件(SecureCRT,putty等)通过telnet或者ssh的方法登陆到赚钱宝。

登陆root权限的账号。


2.cron服务就是普通所讲的定时服务。很多玩家以为盒子没有cron服务,其实盒子时有预装的。我们先要准备运行cron服务所需要的相关目录。分别运行以下命令:

mkdir /etc/cron/crontabs -p

ln -sf /etc/cron /var/spool/cron

mkdir /etc/cron.hourly -p


3.运行vi命令来编辑cron自启动文件

vi /etc/init.d/S90cron

 

按下字母“i",进入编辑模式,输入图中代码代码。千万小心哦,代码中不能有任何错误,包括大小写都不可以改变。代码输入完后,按下“esc”键,进入命令模式。听到电脑叮叮响后,键入“:wq”3个字符后回车。


4.运行chmod命令,给予自启动文件足够的运行权限

chmod 777 /etc/init.d/S90cron


5.现在,运行命令crontab来编辑定时器设置文件

crontab -u root -e

按下字母“i",进入编辑模式,输入图中代码代码。千万小心哦,代码中不能有任何错误,包括大小写都不可以改变。

 

真正有用的是图中有黄色下划线的那行,意思就是在每个整点时来运行cron.hourly目录下的oray.sh文件。第一和第二行是注释行,只是简单解释了定时社会行的格式。

wKioL1djhl-zaGCfAACHf5U6KQI905.jpg-wh_50

代码输入完后,按下“esc”键,进入命令模式。听到电脑叮叮响后,键入“:wq”3个字符后回车。

至此,定时服务已经准备完毕。


编写DDNS代码

1.运行 vi 命令来编辑oray.sh代码文件

vi /etc/cron.hourly/oray.sh

 

按下字母“i",进入编辑模式,输入图中代码代码。由于百度经验不允许正文中出现URL地址,不幸的是我的代码中就有URL地址。所以只能把代码以贴图的方式展现出来,只好麻烦各位看官自己慢慢码字了。千万小心哦,代码中不能有任何错误,包括大小写都不可以改变。

 

从第2到第4行,你需要分别写入你的花生壳用户名、密码和域名。

代码输入完后,按下“esc”键,进入命令模式。听到电脑叮叮响后,键入“:wq”3个字符后回车。

 

这个代码基本上在做2件事情:

1)调用 oray 的 checkip 来检测你当前的动态IP。

2)判断和上次检测到的是否相同,如果不同就调用花生壳的IP更新代码。

wKiom1djhWiCIenKAADRzOBWTYk590.jpg

wKiom1djhWizG1-PAAD1kGyPuIU451.jpg

2.运行 chmod 命令以赋予代码执行权限

chmod 777 /etc/cron.hourly/oray.sh


3.重启盒子后,定时服务就会自己运行了。cron 定时服务会在每个小时的整点来运行我们的代码 oray.sh。

 

代码会在 /tmp 目录下生成2个临时文件。

last_ip.txt:记录着上次更新的IP地址。

curr_ip.txt:记录着本次检测到的IP地址。

 

你一旦过了整点,就可去 /tmp 目录下查看是否有 curr_ip.txt 和 last_ip.txt 文件了。如果出现了这2个文件,那么恭喜你了,你已经成功地把盒子变成了花生宝了(我自己起的名字,oray 不是出了个花生棒么)。


绑定多个域名

1.你只要增加以下斜体字的命令行,当然,你还需正确格式化 URL1 这个变量。这里我就不多解释了,都是些很基本的编程概念。

 

if [ -f /tmp/last_ip.txt ]; then

    old_ip=`cat /tmp/last_ip.txt | awk '{ print $2}'`

     if [ "${old_ip}" == "${IP}" ]; then

         exit

     fi

fi

wget -O /tmp/last_ip.txt -q ${URL}

wget -O /tmp/last_ip.txt -q ${URL1}


2.第2个较简单方法,你可以复制 oray.sh 到 oray1.sh。然后编辑 oray1.sh。当然,在定时服务的设置文件中还需要增加一行:

0 * * * * sh /etc/cron.hourly/oray1.sh


用这种方法,我们的花生宝可以照顾很多个动态域名呢。

本文转自Heartnight();博客51CTO博客,原文链接http://blog.51cto.com/181647568/1790263如需转载请自行联系原作者


tangjiashiertui

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章