动态IP下群晖搭建DDNS服务

转载地址: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套件

动态IP下群晖搭建DDNS服务

动态IP下群晖搭建DDNS服务

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

 

二、PHP7设置

动态IP下群晖搭建DDNS服务
开启 curl 和 openSSL扩展 
动态IP下群晖搭建DDNS服务
动态IP下群晖搭建DDNS服务

 

三、部署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 达到秒级解析!

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

上一篇:mybatis源码探究(-)MapperProxyFactory&MapperProxy


下一篇:python+阿里云实现动态域名解析(DDNS)