用AliDDNS脚本实现动态域名

    • 条件
    • 安装
      • 1.首先yum安装要用到的软件
      • 2.下载脚本至/usr/sbin/文件夹
      • 3.根据提示依次填写内容就OK了。
      • 4.回头去阿里云找自己的账户
      • 5.下一步是设置cron
    • 完活

条件

  • 只能用于linux系列主机,我用的centos。
  • 主机在哪里都行,但要能上网并有外网地址
  • 域名要在阿里云,也就是以前的万网。
  • 因为阿里云的权限太丰富,所以使用子账户,精准授权会比较安全,后面会说到。

安装

1.首先yum安装要用到的软件

[root@VM_0_16_centos ~]# yum install -y wget curl cronie

2.下载脚本至/usr/sbin/文件夹

将名字命名为“aliddns.sh”是一个小坑,因为脚本中经常念叨自己的名字,使用AliDDNSv3.sh才行,这里不改了。

[root@VM_0_16_centos ~]# wget -O  /usr/sbin/aliddns.sh  https://bitbucket.org/ilemonrain/aliddns/downloads/AliDDNSv3-Build20181113-PreviewBuild.sh

加个运行权限。

[root@VM_0_16_centos ~]# chmod +x /usr/sbin/aliddns.sh
[root@VM_0_16_centos ~]# /usr/sbin/aliddns.sh

3.根据提示依次填写内容就OK了。

 作者: iLemonrain .com>
 Telegram: @ilemonrain
 Telegram频道: @ilemonrain_channel


  主菜单 >

===== AliDDNS 模块 =====
 1. 配置并运行 AliDDNSv3
 2. 仅配置 AliDDNSv3
 3. 仅运行 AliDDNSv3
 4. AliDDNSv3 模块设置

===== ServerChan 模块 =====
 5. 配置 ServerChan

=====全局设置=====
 6. 清理配置文件及重置环境
 7. 安装/卸载/恢复出厂设置
 8. 关于 AliDDNSv3
 9. 求捐赠 OwO
 0. 退出

 请输入你的选择[0-9]:

选择1.

AliDDNSv3 配置向导 (1/6) - 阿里云AccessKey ID
==================================================

阿里云AccessKey ID/AccessKey Secret是阿里云DDNS在工作过程中的重要参数(以下简称为AKID/AKSC或AK/SK).
AliDDNS的很多组件和功能和组件都将依赖于AK/SK. 填写到配置中的AK/SK正确与否, 将直接决定到AliDDNSv3能否正确运行.

如果你不知道你的AK/SK的话, 请前往这里获取你的AK/SK:
https://usercenter.console.aliyun.com/#/manage/ak

<注意> 阿里云的AK/SK, 是阿里云识别用户身份的唯一途径. 请不要将你的AK/SK透露给任何人, 阿里云的工作人员不会主动要求你提供AK/SK,
任何伪造官方人员要求你提供AK/SK的行为, 请不要轻易相信! 如果不幸泄露, 请立即前往阿里云官网删除泄露的AK/SK, 来阻止阿里云账号被他人控制的风险!

你得到的阿里云的AccessKey ID, 应该是以LT 开头的, 由大小写字母和数字组成的16位字符串.
建议通过复制粘贴的方式, 将这些内容输入其中:

请输入你的阿里云AccessKey ID:

4.回头去阿里云找自己的账户

https://ram.console.aliyun.com/users
用AliDDNS脚本实现动态域名_第1张图片已经有账户了,只要添加权限。
用AliDDNS脚本实现动态域名_第2张图片点击进入这个子用户名。
用AliDDNS脚本实现动态域名_第3张图片再创建阿里云AccessKey ID,也可以在创建子账户时同时创建。
用AliDDNS脚本实现动态域名_第4张图片现在回到主机上 ,继续设置脚本。忽略AccessKey 长度提醒,输入AccessKey Secret。
下一步输入域名,注意是二级域名,不是子域名。

AliDDNSv3 配置向导 (3/6) - 域名
==================================================

域名由两部分组成: 域名(Domain)和子域名(SubDomain).

例如 www.google.com , 在这里面, google.com 即为域名, www 为子域名.
例如 aaa.bbb.ccc.example.com, 在这里面, example.com 即为域名, aaa.bbb.ccc 为子域名.

在这一步中, 你需要填写你的域名. 在填写之前, 请确保你的域名解析已经迁移到阿里云云解析下:
一般情况下, 如果你域名所使用的域名服务器为 hichina*.aliyun.com, 或者为 vip*.aliyun.com,
即为域名解析已经迁移到阿里云云解析旗下. 如果你是刚刚发起的域名服务器更换请求, 请耐心等待24-72小时
后, 待解析完全生效后再使用AliDDNSv3工具.

请输入你的域名: 666.com

然后才是子域名(三级及以上)。

AliDDNSv3 配置向导 (4/6) - 子域名
==================================================

域名由两部分组成: 域名(Domain)和子域名(SubDomain).

例如 www.google.com , 在这里面, google.com 即为域名, www 为子域名.
例如 aaa.bbb.ccc.example.com, 在这里面, example.com 即为域名, aaa.bbb.ccc 为子域名.

<注意> 如果你需要直接解析域名 (比如 example.com), 请在子域名中输入@ !

在这一步中, 你需要填写你的子域名. 在填写之前, 请确保你的域名解析已经迁移到阿里云云解析下:
一般情况下, 如果你域名所使用的域名服务器为 hichina*.aliyun.com, 或者为 vip*.aliyun.com,
即为域名解析已经迁移到阿里云云解析旗下. 如果你是刚刚发起的域名服务器更换请求, 请耐心等待24-72小时
后, 待解析完全生效后再使用AliDDNSv3工具.

请输入你的子域名: tx

[Info] 检测到已存在的解析记录:
[Info] 完整域名: tx.666.com
[Info] 解析记录: [A] 131.232.555.666 (TTL=600)
[Info] 域名状态: ENABLE

确定要使用此域名作为DDNS域名么? (y/N)

Y 确定。
选择检测模式,这个作用是测试你的外网地址有没有变化,核心功能。

同样的AliDDNS工作模式并不是适合所有的环境.

<注意> 这是一个测试版的功能, 如果你不愿意调整此参数, 请直接按下回车键跳过配置.

目前提供三种AliDDNS工作模式:
模式一: 使用阿里云云解析API, 通过调用API来获取当前域名的解析记录 (默认工作模式).
模式二: 使用腾讯云HttpDNS, 通过HttpDNS获取域名解析记录 (AliDDNS 2.0工作模式).
模式三: 使用传统域名解析, 通过nslookup命令获取域名解析记录 (AliDDNS 1.0工作模式)

模式会在遇到错误时,自动按照 1->2->3 的顺序自动切换到备用模式。
根据自己的环境, 选择一个最合适的工作模式, 会提高AliDDNS的工作效率, 降低错误率/误报率.

请选择工作模式 (1-3):

根据个人喜好,我选择3.

AliDDNSv3 配置向导 - 正在完成配置向导
==================================================

即将完成配置向导, 请确认你输入的参数是否正确

DDNS域名: tx.666.com
设定TTL值: 600
工作模式: 3

AccessKey ID: LTAI4*****************JyNqEw
AccessKey Secret: QP1M*********************WyOG

请确认以上信息是否正确, 如确认正确, 请输入Y以结束配置向导并写入配置文件.
如有误, 请输入N以重新开始配置流程.

所有参数是否正确 ? (y/N)

最后确认。

AliDDNSv3 - 正在进行DDNS工作
==================================================

正在进行DDNS工作, 请稍后...

[Info] 正在读取配置文件 ...
[Info] 正在检查配置文件完整性 ...
[Info] 正在获取本机IP地址 ...
[Info] 本机IP地址: 132.232.555.555
[Info] 已启用工作模式3: 传统域名解析
[Info] 设置使用的DNS服务器: 223.5.5.555
[Info] 正在获取 tx.666.com 的解析记录 ...
[Info] tx.666.com -> 131.232.555.666
[Info] 本机IP (132.232.555.555) 与 tx.666.com的IP (131.232.555.666) 不同
[Info] 正在启动解析记录修改工作 ...
[Info] 正在获取 tx.666.com 的 RecordId ...
[Info] [云解析API] 正在初始化请求...
[Info] [云解析API] 正在发送请求...
[Info] [云解析API] 请求发送成功 !
[Info] tx.666.com -> RecordId: 19763010542794752
[Info] 正在修改 tx.666.com 的解析记录 ...
[Info] [云解析API] 正在初始化请求...
[Info] [云解析API] 正在发送请求...
[Info] [云解析API] 请求发送成功 !
[Success] 解析记录(tx -> [A]132.232.555.555, RecordID:19763010542794752) 修改成功 !
[Info] tx.666.com 解析记录修改成功 !
[Info] 正在验证修改结果 ...
[Info] [云解析API] 正在初始化请求...
[Info] [云解析API] 正在发送请求...
[Info] [云解析API] 请求发送成功 !
[Info] 验证结果和现在的解析记录一致 !
[Success] DDNS域名记录更新成功 !

正常工作的样子令人喜悦。

5.下一步是设置cron

先检查一下现有任务。

[root@VM_0_16_centos ~]# crontab -l
*/1 * * * * /usr/xxxxx.sh > /dev/null 2>&1 &
0 0 * * * /usr/xxxxx.sh > /dev/null 2>&1 &

*/10 * * * * nohup bash /usr/sbin/AliDDNSv3.sh run >/dev/null 2>&1

这里发现第三行已经有了Aliddnsv3.sh,氮素不是我设置的,也许配置时自动生成的,去检查一下。

完活

你可能感兴趣的:(用AliDDNS脚本实现动态域名)