自建动态域名服务器,自建简单又实用的动态域名管理系统

简单又实用的动态域名管理系统, 自建动态域名管理系统

使用 bind9 + php + mysql , 创建个人的动态域名系统。

Use bind9 + php + mysql , create a personal ddns server, update by an URL. Only support "A","AAAA","TXT" recorder.

项目地址 https://github.com/osnosn/personal-ddns/ 首先,需要一个有管理权的域名。

其次,需要一个有固定IP的服务器。在域名商系统中增加一个二级域名,和对应的IP。IP指向你的服务器。 比如你拥有的域名是 "mydomain.net" 设二级域名 dns.mydomain.net

你可以用类似 abc.ddns.mydoman.net , xxx.ddns.mydoman.net 作为你的动态域名。

比如你的服务器IP是"1.1.1.1"

在域名商的解析系统中增加这两条记录。 ddns.mydomain.net A 1.1.1.1 ddns.mydomain.net NS ddns.mydomain.net.我用的是centos7

װ bind-chroot-9.4.4

yum install bind-chroot bind-utils

bind老是出漏洞,装个chroot版感觉安全点。

修改配置文件 /etc/named.conf options { listen-on port 53 { 127.0.0.1; any; }; listen-on-v6 port 53 { ::1; any; }; allow-query { localhost; any; }; recursion no; /* 关闭了所有的axfr,如要allow-recursion生效,必须为yes */ allow-recursion { localhost; }; allow-transfer { localhost; }; };

以上条目,原来有的保留。不相同的就修改。原来没有的就添加。

修改/etc/named.rfc1912.zones , 在最后加上: zone "ddns.mydomain.net" IN { type master; file "dynamic/named.ddns.mydomain.net"; allow-update { localhost; }; };

创建文件 /var/named/dynamic/named.ddns.mydomain.net 要求 named 对 dynamic/ 目录有写权限

nsupdate 时会生成 named.ddns.mydomain.net.jnl

named.service stop 时会改写 named.ddns.mydomain.net 文件

如果 /var/named/dynamic目录不存在,就先启动一下 service named-chroot start $TTL 600 ; 10 minutes @ IN SOA ddns.mydomain.net. email.invalid. ( 1096 ; serial 86400 ; refresh (1 day) 3600 ; retry (1 hour) 604800 ; expire (1 week) 10800 ; minimum (3 hours) ) @ NS ddns.mydomain.net.

service named-chroot stop;

service named-chroot start;

systemctl enable named-chroot;

检查防火墙开放了 udp/53 的访问。大致步骤是, 把 ddns/ 目录中的东西放到你的网站中。

在MySQL中创建数据库,创建一张表,

修改配置文件 pdo_new.php, config.php

创建一条 crontab 定时任务。2分钟执行一次。

测试一下,就能用了。如果是 A 记录 或 AAAA 记录 自动获取客户端IP(根据来源IP. A需通过ipv4,AAAA需通过ipv6访问)

强制指定IP(无所谓ipv4,ipv6网络)

wget http://www.mydomain.net/ddns/ddns.php?key=xxxxxxxxx&domain=dddd&ip=1.1.1.1

wget http://www.mydomain.net/ddns/ddns.php?key=xxxxxxxxx&domain=dddd&ip=FC00:0:130F::9C0:876A:130B

建议每10-15分钟访问一次更新链接。超过60分钟未更新,对应域名重置为"127.0.0.1" 或 "::1" 比如动态域名为 abc.ddns.mydomain.net 其中 domain=dddd 可以写为: domain=abc

domain=abc.ddns.mydomain.net其中 xxxxxxxxx 是创建动态域名时,生成的对应key。

如果是 TXT 记录 强制指定TXT内容

wget http://www.mydomain.net/ddns/ddns.php?key=xxxxxxxxx&domain=dddd&ip=20181015abcdefg

write at 2019-02-24.

— end —

原文链接:https://blog.csdn.net/weixin_35275162/article/details/119265172?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168449620216800197011530%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168449620216800197011530&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-12-119265172-null-null.blog_rank_default&utm_term=NAS%E3%80%81%E7%BE%A4%E6%99%96%E3%80%81%E9%98%BF%E9%87%8C%E4%BA%91%E3%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E3%80%81ipv6%E3%80%81ddns%E3%80%81%E8%BD%BB%E9%87%8F%E7%BA%A7%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E9%93%81%E5%A8%81%E9%A9%AC%E3%80%81%E5%A8%81%E8%81%94%E9%80%9A%E3%80%81DSM%E3%80%81DSM6.0%E3%80%81%E7%BE%A4%E6%99%96nas%E3%80%81%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85%E3%80%81%E9%BB%91%E7%BE%A4%E6%99%96%E3%80%81docker%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81%E5%9F%9F%E5%90%8D%E6%B3%A8%E5%86%8C%E3%80%81%E5%AE%9D%E5%A1%94%E3%80%81%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E3%80%81nginx%E3%80%81frp%E3%80%81%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享