过年回老家办了带宽,你们都知道家用带宽是没有固定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
测试