动态IP下群晖搭建DDNS服务

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

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

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

原理:

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

一、启用Web Station套件

web1.png

web3.png

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

二、PHP7设置

php7.png
开启 curl 和 openSSL扩展
php8.png
php9.png

三、部署AliDDNS API(php)

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

部署按需 如通过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 即可

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

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

免责声明,本文内容仅用于技术交流;使用者请遵循互联网安全法和相关法律法规,因此造成的任何后果和损失与本站无关



本站应网安备相关要求规定全站关闭留言板,如您需要留言欢迎到本站镜像站进行留言
点击前往vas.ink



最后修改:2018 年 06 月 06 日 09 : 05 AM
如果觉得我的文章对你有用,请随意赞赏

此处评论已关闭