ddns 动态解析 – 阿里云api自动解析家用服务器动态ip

过年回老家办了带宽,大家都知道家用带宽是没有固定ip的一般使用花生壳之类的动态解析域名; 但是花生壳现在不好用,我使用阿里云api动态解析的方案。

环境: 老家服务器(Linux主机) vps国外服务器 阿里云账号(含万网域名)

获取公网ip

Linux命令返回地址

curl ipinfo.io

nginx返回ip地址(vps

server { server_name attacker.club blog.attacker.club www.attacker.club; root /www/django/blog; location /getip { default_type application/json; return 200 '{"date":"$time_local","ip":"$remote_addr","type":"nginx json"}'; } } # http://attacker.club/getip 

crontab 计划任务(家里主机)

crontab -e * */6 * * * curl -s attacker.club/getip # 每天6点请求一次vps记录,用于手动追踪 

域名解析

指定ddns域名

ddns.attacker.club # a记录到任意地址上(后面通过阿里sdk自动更新地址);其他域名可cname到ddns主机这条记录 

端口映射相关

天翼网关 (默认不行) 默认路由模式映射不生效;我自己也是一波三折,根据网友的方法将光猫改成桥接模式,要回了pppoe拨号密码,在单独买的无线路由器上拨号;然而虽然成功拨号上网,获取的却是10.XX段私网地址;联系10000电信最终获取到外网ip

  • 设置TPlink拨号上网
  • 设置端口映射
tail /usr/local/nginx/logs/attacker.log|grep getip|tail -1 # vps查看nginx日志 

ssh反向隧道映射(另类方式)

ssh -p55555 root@attacker.club -qngfNTR 666:127.0.0.1:22 # 家庭主机发起隧道 (建议用密钥免密码+计划任务) ssh -p666 root@127.0.0.1 # vps主机ssh本地666端口 连接到家中主机 

ssh.sh #每天定时任务

#!/bin/bash ps aux|grep -v awk |awk '/ngfNTR/ {print $2}'|xargs kill -9 ssh -p55555 root@attacker.club -qngfNTR 666:127.0.0.1:22 

阿里云 sdk

权限accesskeys

图1

图2

图3

python调用 API

dig一下查看解析是否成功

dig ddns.attacker.club @223.5.5.5 | grep IN 

crontab -e #每天定时更新任务

0 */7 * * * cd /opt/aliyun_ddns && python3 DDNS.py 

新增域名使用cname

测试


参考 https://blog.csdn.net/mgsky1/article/details/80466840

原文链接:https://blog.csdn.net/weixin_34301307/article/details/91935857

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享