seteuid0's blog
Themed by Diary.
基于Aliyun自己实现DDNS

很多时候需要在外面访问家里的电脑资源(如PC、NAS等),但由于个人宽带一般都是拨号上网没有固定的IP,所以如何实现随时获取家里IP是一个刚需。 开始前还是补充点前提条件,

  • 你的网络必须有一个公网IP,否则DDNS也无法解决你从其他地方访问的需求。如果是使用路由器拨号的可以在路由器界面上看到请求的IP地址。一般电信、联通可以提供公网的IP(如果分配的是局域网地址可以打服务号申请调整哦~),其他可能就不行了。
  • 一般家里都会用一个路由器上多个设备同时上网,因此你需要掌握如果把一个机器的端口通过路由器暴露给公网,现在一般80端口都被封了,所以请选择其他端口测试。

其实实现随时获取网络IP有多种方式,例如可以自己写一个服务程序来获取请求者的IP地址,再在家里常开机器(如NAS或其他设备)上运行一个定时请求的客户端(如curl),这样你就可以通过这个服务做中转来随时获取家里的IP。 当然这个方案要求你有一个固定的IP来提供服务。这里主要介绍下基于aliyun sdk来实现自己的ddns。 花生壳等服务提供的就是DDNS功能,但要收费之类的, 如果你自己已经有一个域名,那为什么不自己动手来实现一个呢?说干就干。 简单搜索,发现网上有很多类似内容,以下简单记录下自己的实现方式。 首先, 登录(如果没有需要注册)aliyun管理控制台, 获取到AccessKey ID和AccessKey Secret ,这个可以理解成是程序通过sdk请求aliyun服务器的凭证。 方法参考[1] 然后,在你准备运行aliyun sdk接口的机器上安装aliyun的sdk``` pip install aliyunsdkcore pip install aliyun-python-sdk-alidns