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

相關文章
相關標籤/搜索