過年回老家辦了帶寬,你們都知道家用帶寬是沒有固定ip的通常使用花生殼之類的動態解析域名; 可是花生殼如今很差用,我使用阿里雲api動態解析的方案。python
環境: 老家服務器(Linux主機) vps國外服務器 阿里雲帳號(含萬網域名)nginx
Linux命令返回地址django
curl ipinfo.io
json
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 -e * */6 * * * curl -s attacker.club/getip # 天天6點請求一次vps記錄,用於手動追蹤
指定ddns域名bash
ddns.attacker.club # a記錄到任意地址上(後面經過阿里sdk自動更新地址);其餘域名可cname到ddns主機這條記錄
天翼網關 (默認不行) 默認路由模式映射不生效;我本身也是一波三折,根據網友的方法將光貓改爲橋接
模式,要回了pppoe撥號密碼,在單獨買的無線路由器上撥號;然而雖然成功撥號上網,獲取的倒是10.XX段私網地址;聯繫10000電信最終獲取到外網ip服務器
tail /usr/local/nginx/logs/attacker.log|grep getip|tail -1 # vps查看nginx日誌
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
權限accesskeysssh
圖1curl
圖2
圖3
dig一下查看解析是否成功
dig ddns.attacker.club @223.5.5.5 | grep IN
crontab -e #天天定時更新任務
0 */7 * * * cd /opt/aliyun_ddns && python3 DDNS.py
新增域名使用cname
測試