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

过年回老家办了带宽,你们都知道家用带宽是没有固定ip的通常使用花生壳之类的动态解析域名; 可是花生壳如今很差用,我使用阿里云api动态解析的方案。python

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

获取公网ip

Linux命令返回地址django

curl ipinfo.iojson

nginx返回ip地址(vpsapi

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域名bash

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 #天天定时任务app

#!/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

权限accesskeysssh

图1curl

图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

测试


参考 http://www.javashuo.com/article/p-fjidyrjb-ge.html

相关文章
相关标签/搜索