那是云 | 智能生活 , 上那是云

标题: 最简单最稳定的DDNS图文教程,黑白群通用 [打印本页]

作者: 柳羽衣    时间: 2017-3-4 11:01
标题: 最简单最稳定的DDNS图文教程,黑白群通用
本帖最后由 柳羽衣 于 2017-3-4 11:06 编辑

刚DIY了4盘黑裙,想开外网,结果发现电信竟然不给外网IP,果断投诉走起,告知家里监控需要外网IP,15分钟就给我开通了,所以才有了今天的教程,再次赞一下电信的服务,昨晚9点半才打的电话,9点45分就给我弄好了,废话不多说进入今天的正题。

首先你得具备以下几个条件:

1.拥有外网IP,如果没有就找运营商吧,搞不定的话你可以出门右转花生壳内网穿透了。
2.拥有自己的域名,由于本教程使用的是DNSPOD的动态解析服务,你需要有自己的域名
3.DNSPOD账号,并将域名的DNS改为DNSPOD提供的,DNSPOD稳定速度快,我很多网站都长期使用他们的解析服务,最重要的是免费

首先我们先注册一个域名,随便一家注册商都行,本人在西部数码注册的,如果你们需要注册也可以找我,有折扣哦
然后注册DNSPOD的账号,传送门:https://www.dnspod.cn/ ,然后在控制台添加你的域名

在DNSPOD添加域名

在DNSPOD添加域名



接着,去注册商那里修改dns为dnspod提供的免费线路

  1. f1g1ns1.dnspod.net
  2. f1g1ns2.dnspod.net
复制代码


修改域名DNS

修改域名DNS


下一步,为你的域名添加一条解析的记录


添加记录

添加记录



我们使用A记录,解析到你现有的外网IP,这个不重要,因为后续我们将使用脚本修改IP,记录添加完成后,我们需要获取这条记录的IP,最简单的办法是使用chrome或任何带有开发工具的浏览器,审查这条记录前面的复选框,复选框的value就是这条记录的ID

QQ截图20170304103822.png



获取记录ID的方法还有一种,不过需要使用到API接口,所以我们需要先创建API Token,以便我们使用API接口在DNSPOD的控制台>用户中心>安全设置下添加一条API Toke

API

API



你会得到一个ID及密钥,请保存好它,如果不幸忘记了也没关系,可以再次创建新的。

如果你还没有得到记录的ID,可以打开:https://c.runoob.com/compile/6,在左边的输入框输入以下代码,请修改对应的数值

  1. # -*- coding: UTF-8 -*-
  2. import urllib2,urllib
  3. data={'login_token':'你的ApiToken数字ID,你的ApiToken数字密钥','format':'xml','domain':'你的域名'}
  4. content_stream = urllib2.urlopen("https://dnsapi.cn/Record.List", data=urllib.urlencode(data))
  5. content = content_stream.read()
  6. print content
复制代码

在右边的输入框会返回一个XML,在记录对应的ITEM中寻找ID的值,这就是记录的ID,到这里我们的准备工作就已经完成,你应该要有以下几个东西

1.记录的ID
2.ApiToken的数字ID及密钥

现在我们进入群晖的控制面板,打开计划任务,新增一条计划任务,选择用户自定义脚本


1.png


2.png


在计划中将计划的时间设置为每天运行,运行时间为00:00  每隔15分钟运行一次(后面会解释时间设置),结束时间为23:45

3.png


4.png


在任务设置中输入以下脚本


  1. curl -X POST https://dnsapi.cn/Record.Ddns -d 'login_token=ApiToken数字ID,ApiToken密钥&format=json&domain=你的域名&record_id=记录的ID&record_line=默认&sub_domain=域名的前缀
复制代码

然后保存即可,每隔15分钟系统会自动连接DNSPOD修改外网IP来实现动态解析,要注意的是由于DNSPOD的API在无变化请求超过5次/小时后,将会锁定记录1小时无法修改,为了避免这种情况,建议计划的时间不要低于15分钟每次,由于IP的变动一般只在重新拨号的情况下发生,所以频率其实可以设置1小时甚至更长或者使用其他API来检测外网IP的变化,有变化再提交修改申请,由于IP的变化并不频繁并且会进一步消耗系统资源,并不建议使用此方法。


附上你可以有以下方法监测脚本的执行情况,使用email通知或者脚本输出监控,跟据输出的结果来判断脚本是否运行成功 请注意由于解析的修改并不是实时生效的,修改完之后可能会有3-5分钟的会无法访问,当然我不认为会有那么凑巧你会在IP修改完刚好访问。



6.png


教程结束,如有不明白请跟帖,我会一一回复


作者: 柳羽衣    时间: 2017-3-4 11:07
一楼待编辑,我是不可能将沙发让给别人的
作者: yhl0803    时间: 2017-3-4 21:39
谢谢,好的教程
作者: yin734854387    时间: 2017-5-1 15:41
学习了,感谢分享
作者: yangenwei    时间: 2017-8-23 17:55
注册了阿里云的域名,也能通过自定义脚本的方式解析吗?网上的教程都是要用winscp上传各种文件的
作者: naai17    时间: 2017-10-17 09:59
学习了。。。。好东西
作者: as6415    时间: 2017-11-22 17:43
学习了。。。。好东西
作者: 切撒    时间: 2018-1-31 10:22
邮件报错,,使用一天之后,ip变动就不可以用了,然后就用不了了。
报错消息如下:
任务: dnspod 开始时间: Wed, 31 Jan 2018 10:20:02 GMT 结束时间: Wed, 31 Jan 2018 10:20:02 GMT 当前状态: 1 标准输出/错误: sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file
作者: 切撒    时间: 2018-1-31 10:22
邮件报错,,使用一天之后,ip变动就不可以用了,然后就用不了了。
报错消息如下:
任务: dnspod 开始时间: Wed, 31 Jan 2018 10:20:02 GMT 结束时间: Wed, 31 Jan 2018 10:20:02 GMT 当前状态: 1 标准输出/错误: sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file
作者: 切撒    时间: 2018-1-31 10:22
邮件报错,,使用一天之后,ip变动就不可以用了,然后就用不了了。
报错消息如下:
任务: dnspod 开始时间: Wed, 31 Jan 2018 10:20:02 GMT 结束时间: Wed, 31 Jan 2018 10:20:02 GMT 当前状态: 1 标准输出/错误: sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file
作者: xeslam    时间: 2018-10-10 01:52
那个空间商是什么哈,到了这里就不懂了
作者: 大碗    时间: 2018-10-20 18:17
#很详细、很适合我这样的纯小白。申请了域名,设置了DNSPOD,还有一事请指点:按图设置后,NAS原有的SYNOLOGY DDNS设置是否要删除?谢谢!#
作者: zlfi    时间: 2019-1-19 21:34
您好,从https://c.runoob.com/compile/6后面这里就不知道怎么搞了。群晖计划任务那里的ID都不知道怎么填。请问您有时间指导一下小白吗?谢谢!
作者: 柳羽衣    时间: 2019-2-14 09:19
zlfi 发表于 2019-1-19 21:34
您好,从https://c.runoob.com/compile/6后面这里就不知道怎么搞了。群晖计划任务那里的ID都不知道怎么填。 ...

http://www.nasyun.com/thread-28979-1-1.html
请阅读这篇教程
作者: 天秤座    时间: 2019-3-18 17:32
正需要,支持楼主大人了!




欢迎光临 那是云 | 智能生活 , 上那是云 (http://www.nasyun.com/) Powered by Discuz! X3.2