异想之旅:本人原创博客完全手敲,绝对非搬运,全网不可能有重复;本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告。本人所有文章仅在CSDN、掘金和个人博客(一定是异想之旅域名)发布,除此之外全部是盗文!


先说需求:我在家里有一台服务器,但是没有静态IP。之前使用的是花生壳免费的服务,但是后来收费了,就想到自己实现一个。

参考资料:

  • API获取自己的公网IP地址 API查询IP信息_异想之旅的博客-CSDN博客_获取公网ip的api
  • 阿里云 OpenAPI 开发者门户

大体的实现思路:

  1. 获取当前的服务器IP
  2. 检测是否与阿里云的记录相等
  3. 进行更改或一段时间后进行下一次检测

当然,还要加上缓存等东西

保证DNS上有一个这个主机的A解析,然后改好开头四个变量,挂到服务器就好了(获取AccessToken:RAM 访问控制)

主机 = "yxzlownserveraddress"
域名 = "yxzl.top"
AccessKey = "AccessKey"
SecretKey = "SecretKey"import json
import requests
import time
from aliyunsdkcore.client import AcsClient
from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import DescribeDomainRecordsRequest
from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequestclient = AcsClient(AccessKey, SecretKey)  # 初始化记录ID = 旧的IP = ""
page_number = 1while True:request = DescribeDomainRecordsRequest()request.set_accept_format("json")request.set_DomainName(域名)request.set_PageNumber(page_number)request.set_PageSize(100)response = client.do_action_with_exception(request)text = str(response, encoding="utf-8")print(json.loads(text))for i in json.loads(text)["DomainRecords"]["Record"]:if i["RR"] == 主机:记录ID = i["RecordId"]旧的IP = i["Value"]breakif 记录ID:breakpage_number += 1while True:try:新的IP = requests.get("http://ip.3322.net/").textif 新的IP != 旧的IP:# 更改记录try:request = UpdateDomainRecordRequest()request.set_accept_format("json")request.set_RecordId(记录ID)request.set_RR(主机)request.set_Type("A")request.set_Value(新的IP)response = client.do_action_with_exception(request)print("%s\tIP发生了变化(%s -> %s),已进行更新。" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), 旧的IP, 新的IP))except:print("%s\tIP发生了变化(%s -> %s),但更新失败。" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), 旧的IP, 新的IP))else:print("%s\tIP相同(%s),未进行更改。" %(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), 新的IP))旧的IP = 新的IPexcept Exception as e:print("%s\t发生错误:%s" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), e))# raise epasstime.sleep(90)

搭建服务器 运用阿里云DNS自己实现DDNS相关推荐

  1. arm搭建云手机教程_教你从0开始部署阿里云服务器,阿里云服务器搭建网站教程...

    教你从0开始部署阿里云服务器,阿里云服务器部署网站的办法,阿里云搭建项目的办法,阿里云服务器搭建网站教程 1.购买 登录官网点击下面链接: 企业上云甄选​partner.aliyun.com 查看云服 ...

  2. 星聚宝—云服务器快速搭建网站(阿里云服务器举例)

    零:买域名 何为域名?blog.csdn.net就是CSDN网站的域名,建网站得先有个域名吧,后续去申请注册个,这里主要讲述搭建. 一:云服务器厂商选哪家最靠谱? 按照规模,性能来说,阿里云>腾 ...

  3. 云服务器修改dns服务器为阿里云公共dns服务器

    为什么要切换使用阿里云的公共dns服务器呢? 为什么修改云服务器的DNS呢,这样是为了更好的提升网站解析能力,从而提升网站打开的速度.我用的就是阿里云默认的公共DNS服务器(223.5.5.5.223 ...

  4. 阿里云DNS服务器免费版和付费版列表

    阿里云域名解析DNS服务器地址包括免费版和付费版,免费版DNS服务器如dns1.hichina.com,付费版DNS服务器如vip1.alidns.com,云吞铺子分享阿里云DNS服务器地址大全: 阿 ...

  5. 域名解析配置 以及 修改DNS服务器(腾讯云域名注册商、阿里云DNS服务器)

    很早以前是在腾讯云租的服务器同时也在腾讯云上注册了两个域名,后来我将服务器换成了阿里云的,如果想要域名所解析的IP地址变成阿里云服务器的IP地址,就要去腾讯云官网修改DNS服务器,不能用腾讯云的DNS ...

  6. Python+阿里云DNS 搭建DDNS动态域名解析

    家用的动态公网IP在断电以及一段时间后会变化,现在家宽公网IP开网盘以及代理管得越来越严格,已经有检测到被封的案例 上海检测web封停 这让我这种挂种子的PT党(迫真)感到害怕 以前我把国外的免费域名 ...

  7. 使用阿里云DNS实现自己的DDNS服务

    最近家里牵了宽带(之前家里没网,因为穷,作为一名嵌入式程序员,这是得有多惨),换了一个华为AX3Pro路由器,开启桥接模式,发现家中的PC和手机均有IPv6的地址,而且用IPv6Test测试,属于公网 ...

  8. 使用 Certbot 自动申请并续订阿里云 DNS 免费泛域名证书

    使用 Certbot 自动申请并续订阿里云 DNS 免费泛域名证书 首先安装 Python 3 yum install -y python39 创建并激活虚拟环境 mkdir -p /mnt/cert ...

  9. 云服务器(阿里云)的简单应用

    云服务器(阿里云)的简单应用 cp 1.web服务器安装(安装lnmp) *ps:本文使用服务器为阿里云轻量级服务器 由于安全问题相关操作的服务器端口需在控制台打开 * 1 Linux+Apache+ ...

最新文章

  1. 在线测试所有浏览器的兼容性
  2. mysql某个表被行锁了_MySQL中的锁(表锁、行锁)
  3. Material Master_物料类型后台配置
  4. 234C. Weather
  5. 假如不穿宇航服,人在各大星球能活多久?
  6. SylixOS网络性能测试
  7. 【深度优先搜索】LeetCode77:组合
  8. 电脑常见故障排除手册(黑屏、死机、重启、蓝屏)
  9. MyBatis官方文档——SQL语句构建及日志部分
  10. vac虚拟声卡我linux,下载_Virtual Audio Cable(虚拟声卡) V4.65 完美免费版_6z6z下载站
  11. 从openssl rsa pem文件中提取公私钥数据实现
  12. Escape HDU - 3533
  13. 深度学习目标检测模型的评价标准-AP与mAP
  14. PyCharm下载和安装教程
  15. 洛谷P1463 [POI2001][HAOI2007]反素数
  16. AlertManager实现企业微信报警(十三)
  17. excel表格末尾添加一行_Excel表格制作在添加数据之后可以自动更新的汇总表
  18. 交换机和路由器技术-13-三层交换
  19. 感芯科技MC3172移植U8g2图形库
  20. 【3D打印机】3D打印小妙招之“缩短等待打印时间” :在打印开始时同时加热喷嘴和热床。

热门文章

  1. 如何掌控自己的时间和生活
  2. 程序员不得不学的操作系统知识(一)
  3. php图床_PHP EasyImage 简单图床源码
  4. python爬取豆瓣影评理论依据_我用Python爬取了豆瓣的影评
  5. Win10新加内存条后可用内存没增加解决方案
  6. 主动降噪在服务器中的应用,AirPods Pro主动降噪功能有多大用处?主动降噪耳机适用范围详解!...
  7. 自学虚幻引擎图文笔记:颜色混合、法线强度调整及选择、归一化、点积、常量偏差比例、规范化等节点
  8. 宽依赖和窄依赖_【Spark】SparkCore解析(一):宽依赖和窄依赖
  9. Linux与Android安全差异
  10. 关于音视频的一些知识(demux、filter等)