转载地址: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. Python获取免费的可用代理

    Python获取免费的可用代理 在使用爬虫多次爬取同一站点时,常常会被站点的ip反爬虫机制给禁掉,这时就能够通过使用代理来解决.眼下网上有非常多提供最新免费代理列表的站点.这些列表里非常多的代理主机是 ...

  2. C++里面定时器的使用

    说白了就是三个函数的使用: SetTimer(20, 20, 0); //第一个20表示此定时器的标识符,第二个20表示你要定的时间,第三个不用管,设0即可. void CLMS511_interfa ...

  3. C# DateTime和String(转)

    http://www.cnblogs.com/Pickuper/articles/2058880.html C#语言之“string格式的日期时间字符串转为DateTime类型”的方法 方法一:Con ...

  4. 代理server的概要知识

    技术支持请留言:http://www.lcpower.cn 一.什么是代理server? 代理server英文全称是Proxy Server.其功能就是代理网络用户去取得网络信息.形象的说:它是网络信 ...

  5. CentOS开启FTP及配置用户

    vsftpd作为FTP服务器,在Linux系统中是非常常用的.下面我们介绍如何在centos系统上安装vsftp. 什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  6. android 自己定义组件随着手指自己主动画圆

    首先自己定义一个View子类: package com.example.androidtest0.myView; import android.content.Context; import andr ...

  7. ZooKeeper 系列(一)—— ZooKeeper核心概念详解

    一.Zookeeper简介 二.Zookeeper设计目标 三.核心概念         3.1 集群角色         3.2 会话         3.3 数据节点         3.4 节点 ...

  8. 《UNIX环境高级编程》读书笔记 —— 文件 I/O

    打开或创建一个文件 #include <fcntl.h> int open(const char *pathname, int oflag, .../*mode_t mode*/);    ...

  9. sqlite3常用操作命令 和mysql的区别及优缺点

    SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念. sqlite3 testdb.db .databases 命令查看数据库列表 create table tbl(name char(1 ...

  10. Mysql 索引增加与删除

    [1]索引 索引,通俗理解,即目录. 之前说过,计算机是对现实世界的模拟.目录应用在数据库领域,即所谓的索引. 目录的作用显而易见,所以建立索引可以大大提高检索的速度. 但是,会降低更新表的速度,如对 ...