ddns 动态解析

不羁的心 提交于 2020-01-07 06:43:59

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!