写在前面。谢谢 WordPress 主人 John 提供的空间,让我写下这个笔记。
———————
我在家的宽带上自建了台服务器。可是宽带拨号上网,IP不固定。想在网上找个免费的动态域名,注册极为麻烦,还要绑手机。放弃了。
想到自己有个域名,也有个VPS主机 (固定IP)。不如自己搞个动态域名用把。
———————-
自己的域名,比如 “testtest.info”,VPS主机的IP,”比如 1.2.3.4″。
去域名解析控制台,添加一条二级域名的NS记录,指向自己的VPS主机。
因为NS记录不能直接写IP。所以实际要添加两条记录。
比如:
dd.testtest.info. ns mydns.testtest.info
mydns.testtest.info. A 1.2.3.4
这样就可以用三级域名做自己的动态域名了。
比如:www.dd.testtest.info
lala.dd.testtest.info
———————
VPS主机,我装的是CentOS7。系统安装好之后。
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; };
};
# 以上条目,原来有的保留。不相同的就修改。原来没有的就添加。
添加一个zone,在 /etc/named.rfc1912.zones 文件最后,添加:
zone “dd.testtest.info” IN {
type master;
file “dynamic/named.dd.testtest.info”;
allow-update { localhost; };
};
// 要求 named 对 dynamic/ 目录有写权限
// nsupdate 时会生成 named.dd.testtest.info.jnl
// named.service stop 时会改写 named.dd.testtest.info 文件
创建zone的初始解析文件, /var/named/dynamic/named.dd.testtest.info
如果 /var/named/dynamic目录不存在,就先启动一下 service named-chroot start
$TTL 600
@ IN SOA mydns.testtest.info. email.invalid (1234 86400 3600 604800 10800)
@ NS mydns.testtest.info.
@ A 1.2.3.4
service named-chroot stop;
service named-chroot start;
systemctl enable named-chroot;
#检查防火墙开放了 udp/53 的访问。
iptables -A INPUT -p udp –dport 53 -j ACCEPT #一般查询用
iptables -A INPUT -p tcp –dport 53 -j ACCEPT # axfr 用
———————-
下载: my-ddns-by-osn-20180824.tar.gz
解压,按照里头的 readme.php 的说明文件配置。就可以用了。
大致步骤是,
* 在MySQL中创建数据库,创建一张表,
* 修改配置文件 mysqli_new_db.php, config.php
* 创建一条 crontab 定时任务。2分钟执行一次。
* 测试一下,就能用了。
————————————
使用方法(两种方法):
1.自动获取客户端IP,定时访问 http://testtest.info/ddns/ddns.php?key=xxxxxxxxx&domain=lala
2.强制指定IP,定时访问 http://testtest.info/ddns/ddns.php?key=xxxxxxxxx&domain=lala&ip=5.6.7.8
建议每10-15分钟访问一次更新链接。超过60分钟未更新,对应域名重置为127.0.0.1
——– osn 写于 20180824 —–
——— 完 ———–