好几年没写博客,最近拔草第一台NAS,群晖DS418play。折腾过程中苦于家用电信宽带没有固定IP,群晖自带的ddns功能经常不起作用(想想出门在外突然需要重要文件但是莫名连不上的尴尬。。),群晖自家的QuickConnect又经常抽风,速度又慢,另外有人说用花生壳来做穿透,然而贵的一批,自己动手才是我等程序猿风范,遂准备自己实现一个稳定的ddns功能。下面就来安利详细实现步骤。
准备工作
1.群晖DSM准备
首先在群晖套件中心安装git套件(下文需用到),有朋友可能要问为什么要在套件中心安装git,因为群晖定制linux系统不允许自己装命令和源,比如yum等。
2. 在控制面板开启SSH功能
2. 域名准备
去申请一个域名,最好是在dnspod申请,免去其他供应商注册后需要修改dns的操作。假设你已经有一个域名了,现在我们登陆dnspod后台进行设置,进入域名解析控制台追加一条二级域名解析,比如我叫nas,记录值随意,可为你的公网IP,保存即可。
然后我们打开
点
点击创建API TOKEN,会生成一个API_ID和一个API_TOKEN,用于提交新IP到域名,保存下来,在下面会用到。
3. 坑
最好在路由器上看IP是否是100.xxx开头,如果是则是城域网,并非广域网,需要打电信10000号开通公网IP,一般当天可以搞定。本人当时折腾了两天最后发现自己的IP是内网IP,蓝瘦香菇。
操作步骤
准备完毕后现在开始实现ddns服务,首先你需要使用putty或xshell登陆群晖服务器,账号密码为你登陆群晖DSM的账号密码(管理员),登陆你的nas
现在需要去github clone一个开源ddns脚本,感谢开源!!输入如下命令(linux粘贴命令为shift+insert)
-
1 git clone https://github.com/kkkgo/dnspod-ddns-with-bashshell.gi
2 cd dnspod-ddns-with-bashshell
进入ddns脚本目录后我们使用dnspod_ddns.sh即可
vim dnspod_ddns.sh
我们可以看到shell顶部有几项配置,改成自己的配置
API_ID=你在dnspod申请到的ID
API_Token=你在dnspod申请到的TOKEN
domain=你的域名,注意不带www(例如personalnas.com)
host=你的二级域名(例如nas)
然后保存退出即可(输入:wq回车)注意有分号,至此可输入如下命令测试ddns配置是否成功,如果显示类似以下结果则表示OK。
接下来我们需要为这个脚本设置定时任务,使用如下命令:
sudo vi /etc/crontab
这里会弹出让你输入密码,输入即可(linux下输入命令没有显示,敲完回车)
打开定时任务设置后,将光标移到末尾敲字母i进入编辑模式,再敲回车到下一行追加内容
*/5 * * * * root /var/services/homes/你的home目录/dnspod-ddns-with-bashshell/dnspod_ddns.sh &> /dev/null
如果不清楚脚本路径可使用pwd命令查看,以上路径对应到你的shell路径。以上命令含义每隔5分钟执行一次检查最新公网IP是否与域名解析出的IP一致,若不一致则刷新域名指向的IP,实现ddns功能。下一步继续:wq保存退出
继续敲如下命令使定时任务生效
sudo synoservice -restart crond
至此ddns搭建完毕,另外光有这些配置是不够的,还需要在路由器上做一次端口转发,毕竟联网的路由器而不是nas,端口转发就是将公网IP端口的请求转化为内网IP端口,使之访问到我们局域网内的nas设备。例如将我的路由器进行以下设置开启端口转发(DSM系统端口为5000,设置为5000即可)。
至此ddns搭建完毕,!移动端PC端登陆可使用你的域名作为地址登陆了,例如nas.personalnas.com:5000可连接到DSM桌面,在移动端可使用nas.personalnas.com(无需端口)作为地址进行登陆。例如我已经登陆的地址
最后测试,本人使用的电信100M下行,30M上行,在公司下载文件稳定2.8M/S左右,尝试用自带的DSvideo串流10G左右电影,稳定不卡。
附1:可能有些小伙伴实现DDNS后NAS外网登录不了Synology Drive Client,在DSM控制面板增加如下端口即可。
附2:有时候家里公网IP发生变化,而出门在外使用时不一定能感知到,可能是windows系统存在DNS缓存导致,刷新DNS可以解决此问题。点“开始”或按下win+R输入cmd回车,输入如下命令清理DNS缓存,再次尝试连接nas将获取到域名对应的最新公网IP。
ipconfig /flushdns
原文链接:http://www.360doc.com/content/20/0511/11/19287179_911531868.shtml