• 那是云首页
  • 快捷导航
  • 更多
    设为首页收藏本站
  • |
花生壳

群晖PYTHON3脚本使用阿里云DDNS达到外网访问目标

群晖 Synology  / 教程分享  / 只看大图  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2020-6-29 23:54

跳转到指定楼层
本帖最后由 fangzhen2005 于 2020-6-30 00:08 编辑

来自灵魂的拷问
1,为什么要选择阿里云DDNS?
     之前使用华硕AC66的路由器,华硕自带DDNS,xxx.asuscomm.com挺好用的,但是后来我更新了这个路由的固件,导致路由器不稳定。决定更换路由。前段时间,小米的路由搞活动,AX3600,509元,就买了一个,但是这个路由的DDNS只支持花生壳,3322这些。每年费用100多元,而且是二级域名。后来看有兄弟发过使用阿里云域名达到DDNS目的。所以也想尝试下。总结下来好处是:
    a、一级域名,
    b、没有流量限制,
    c、后台控制可以设置多个域名,
    d、有sdk可以根据需要二次开发。
2、为什么使用PYTHON3脚本
     编写方便一点,下载的shell脚本不太会,PYTHON更容易上手些,而且插件也比较多。

使用阿里云域名会有哪些问题
1、也是要花钱的,不过你可以买个便宜点的域名,我买了一个cn的域名,5年是199元。


2、TTL时间,免费的是10分钟,这个问题会影响,如果因为路由器重启或者不稳定导致更新了IP,最长时间可能要多于10分钟,才能正常通过域名访问服务器。如果是个别人使用,这个倒是不太影响,但如果用于一部分工作,多人联合使用,有时候还是会让人很不爽。


具体步骤
    1、申请域名
      这个不是我本文的重点,而且晚上很多,我这里不再赘述,直接在百度上搜索“阿里云域名申请”就有百度的教程。 注册号域名之后,我们需要拿到AccessKey中的AccessKey ID  和 AccessKey Secret, 如下图,在阿里云控制台鼠标放到右上角头像位置,弹出界面中点击AccessKey管理,在里面继续创建AccessKey。这个两个在下面步骤需要用到。
    批注 2020-06-29 233204.png
     2、编写脚本
     这个我已经编写好了,大家可以拿去使用,也已经调试过了,使用方法下面告知
      aliyunDdns.zip (2.16 KB, 下载次数: 52)

     3、配置脚本

     a、首先是群晖需要安装python3,套件搜索如下,

          批注 2020-06-29 230743.png      

    b、上传脚本

       我是用的是WinSCP,连接ssh下载,前提是群晖控制面板中打开SSH开关。
       存放路径我是在volume1/@aliyunDdns创建了隐藏文件夹,log是存放在volume1下的log目录,如果有需要可以自行修改下,这个需要提前创建好log文件夹


    c、使用putty安装阿里云的SDK

       这里需要注意一下,看下自己的python3是否有安装pip,输入pip -version,如果提示找不到这个命令,则使用以下命令安装一下
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py   # 下载安装脚本$ sudo python3 get-pip.py    # 运行安装脚本
        安装完后,使用
pip3 install aliyun-python-sdk-corepip3 install aliyun-python-sdk-alidns       安装阿里云的SDK。这里如果有小伙伴安装完以后仍然无法使用pip3命令,可能是pip3路径没有添加到path。使用命令
vim /etc/profile
export PATH=/usr/local/bin(pip安装路径)PATH重启后生效


    d、安装完以后,需要调试脚本

    使用ssh,执行命令
    python3 /volume1/@aliyunDdns/aliyunDdns.py -i <AccessKey id> -k <AccessKey secret> -d <domain> -s <sub domain>
    AccessKey id 和AccessKey secret是上面阿里云获取的
    domain是你申请的域名,比如baidu.cn
    sub domain是前缀,比如@,表示baidu.cn直接指向你的ip,如果是nas,表示nas.baidu.cn指向你的ip
    自己替换时,不需要输入尖括号<>,加尖括号只是为了阅读方便

    批注 2020-06-29 234429.png

    执行完以后,如上图,在阿里云域名解析的后台可以看到,如果没有添加,会添加,如果已经添加了,会更新成你执行机器所在的ip地址



    e、设置执行任务

    如果一切调试好了,则把这个条命令复制到群晖的任务当中,
    批注 2020-06-29 234733.png
    这里主要注意下首次运行时间和运行频率,还有最后运行时间。之前最后运行时间设置在00:55分,只循环了一个小时就没有在循环了。如果在这个时间之后IP变化了,就不会更新ip了。另外运行频率我设置了5分钟,不过我觉得最好是1分钟。这个我觉得短一点会比较好,这样及时能把ip更新到阿里云上去。

    写在最后

    这个方法有很多人写过教程也有shell的更新脚本,但是python这个是我自己写的,为什么要用python自己重新写一次,一个是熟悉更新流程,另外一个是shell脚本没有添加log。python添加了自动滚动的log,比较合理一些,插件比较多后续需要扩展也方便一点。




那是云论坛 - 国内知名的NAS交流平台
http://www.nasyun.com
分享淘帖
回复 印象

使用道具

成为第一个回帖的人

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图