转载地址:https://www.zimrilink.com/share/dsm_aliddns_server.html

通过阿里云API(php)搭建出DDNS动态域名解析服务器;
不同的是本文的方法不需要独立IP服务器作为DDNS服务器,而是使用了群晖[Web Station] 套件 和PHP7环境 直接作为服务端,群晖的计划任务执行作为客户端;

从而达到 动态IP下 单群晖或者其他设备拥有高性能DDNS!

特别提醒:使用动态域名搭建服务 请自觉遵守互联网安全法和相关法律法规

 

原理:

  • 群晖既作为服务端 也 作为客户端
  • 服务端通过群晖web Station来运行 获取IP方式为访问度娘获取
  • 客户端访问触发服务端AliDDNS API(php) 把从度娘获取的IP的解析到域名A记录上
 

一、启用Web Station套件

所需环境按需选择 本文只需要 Web Station套件 和 PHP 7 环境

 

二、PHP7设置


开启 curl 和 openSSL扩展 

 

三、部署AliDDNS API(php)

按照下文 把AliDDNS API(php)项目下载 部署在群晖指定的Web目录上即可

通过阿里云API(php)搭建秒级DDNS动态域名解析

DDNS(Dynamic Domain Name Server)是动态域名服务的缩写,它作为将域名和IP地址相互映...

https://www.zimrilink.com/share/aliddns.html

部署按需 如通过Web Station套件设置了虚拟主机 外网无法达 则可不需要用到安全配置中的密码访问

 

四、修改文件

第三步骤部署了DDNS服务端 并修改好相应的 AccessKeyId&AccessKeySecret 
可能你已经测试过 发现解析出来的IP地址是局域网地址

以下解决该问题:
在alicloud-php-dns-updater-master 目录建一个 ip_baidu.php 的php文件
内容如下:

<?php
header("Content-Type: text/html;charset=utf-8");
$baiduipurl = 'http://www.baidu.com/s?baidu&wd=ip';
$ipinfo=file_get_contents($baiduipurl);
preg_match('|<span class="c-gap-right">本机IP:&nbsp;(.*?)<\/span>|i',$ipinfo,$ipm);
// echo $ipm[1]; //测试时可把echo前“//”去掉 访问看是否输出公网IP地址
?>

如输出正常 则继续修改 index.php文件
include_once 'alicloud-php-updaterecord/V20150109/AlicloudUpdateRecord.php'; 下添加一行

include_once 'ip_baidu.php';   //引入建立的ip_baidu.php文件

newIp = $_SERVER['REMOTE_ADDR']; 修改为

$newIp = $ipm[1];

保存!

 

五、设置计划任务

计划任务里直接服务器本地地址 curl -u http://127.0.0.1/alicloud-php-dns-updater-master/index.php 即可

群晖配置作为阿里云API(php) DDNS动态域名客户端

通过阿里云API(php)搭建出DDNS动态域名解析服务器之后 群晖作为客户端做以下设置即可DDNS动态域名无论对...

https://www.zimrilink.com/website/dsm_aliddns.html

动态IP下群晖搭建DDNS 集服务端客户端一体;
搭配阿里云公共DNS 达到秒级解析!

方法很多,仅供参考; 实践众多,仅为性能!

动态IP下群晖搭建DDNS服务的更多相关文章

  1. 香港多IP站群服务器-搭建多IP代理服务器、游戏加速服务器

    耀磊花楹qq82521463香港WK自营机房多IP服务器租用,多IP站群服务器,多IP多C段 站群服务器租用 耀磊数据拥有3万个自由香港IP以及独立AS号,是APNIC核心成员,机房通过BGP融合 多 ...

  2. windows 下使用vargant 搭建虚拟机服务

    使用vagrant 下载 vagrant[https://www.vagrantup.com/downloads.html] 下载管理工具VirtualBox[https://www.virtualb ...

  3. 群晖搭建webssh

    拷贝工程到系统根,然后需要赋予权限 sudo chmod 777 -R WebSSH2/ git clone https://github.com/zhaocundang/WebSSH2.git de ...

  4. Ningx集群环境搭建

    Ningx集群环境搭建 Nginx是什么? Nginx ("engine x") 是⼀个⾼性能的 HTTP 和 反向代理 服务器,也是⼀个 IMAP/ POP3/SMTP 代理服务 ...

  5. 群晖DS218+做maven私服(nexus3)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. 群晖DS218+部署mysql

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. 群晖DS218+部署kafka

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. RHEL&nbsp;6&nbsp;搭建ftp服务&nbsp;xinetd,telnet

    1.挂载光盘 设置vmware中光驱选项,载入rhel6光盘镜像 6 搭建ftp服务 xinetd,telnet" /> 2.安装rpm包 输入"#cd /media/&qu ...

  9. 微服务管理平台nacos虚拟ip负载均衡集群模式搭建

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

随机推荐

  1. html5,audio音乐播放器

    最终,做了自己原来一直想要实现的事儿.得出的结果是,有些事儿一旦開始做了,那么它就并非非常难. 如今的我,正听着自己的播放器放出的<光辉岁月>写这篇周六清晨的博文.写的不是非常好.但也请各 ...

  2. 【LeetCode】Validate Binary Search Tree ——合法二叉树

    [题目] Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defin ...

  3. Apache上部署Django

    0. 部署环境 Ubuntu 14.04 on AliYun Apache 2.4.7 Python 3 [2.7升级3请看http://www.cnblogs.com/manhua/p/423504 ...

  4. 关于layui-layer独立组件--弹出层

    官方下载文档链接:http://layer.layui.com/ =================================================================== ...

  5. json解析:[1]gson解析json

    客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象.但是用jsonObject和jsonArray解析相对麻烦.利用Gson和阿里的fas ...

  6. 深入解析Windows窗体创建和消息分发

    Windows GUI採用基于事件驱动的编程模型,其实差点儿全部的界面库都是这样做的.在纯粹的Window32 SDK编程时代.人们还能够搞懂整个Windows窗口创建和消息的流通过程.可是在如今各种 ...

  7. java类库中的设计模式

    原帖:http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns 提问:我正在学习GoF的<设计模式&g ...

  8. 38: 立方根getCubeRoot

    题目描述:计算一个数字的立方根,不使用库函数 •接口说明 原型:public static double getCubeRoot(double input) 输入:double 待求解参数 返回值:d ...

  9. containsKey使用方法

    作用是判断Map中是否有所需要的键值,下面是具体的代码: public static void main(String[] args) { Map<String, String> map ...

  10. Java 调用OPENOFFIC 转换文档类型

    public static void office2PDF(String sourceFile, String destFile) { try { File inputFile = new File( ...