在/jffs/目录下新建个dynv6.sh的脚本文件
/jffs/dynv6.sh文件内容如下:

#!/bin/sh
host1="yourname.dynv6.net"
token1="69q17AgVn97afdsafd9eHB8LzeMnyXy"
ipv4s=`ip addr show ppp0 | awk -F "[ /]+" '/inet /{print $3}'`
ipv6s=`ip addr show ppp0 | awk -F "[ /]+" '/inet6 /{print $3}'|awk 'NR==1'`

ipv6ns=`nslookup yourname.dynv6.net 8.8.8.8|awk -F "[ /]+" '/Address /{print $3}'|awk 'NR==2'`

if [ $ipv6s != $ipv6ns ];then
wget -nv --no-cache "http://dynv6.com/api/update?hostname=$host1&token=$token1&ipv4=$ipv4s&ipv6=$ipv6s" -O dynv6.log
else
echo "no update">/jffs/dynv6.log
fi

然后chmod +x /jffs/dynv6.sh
把这个脚本加到定时任务里面去
急性子5分钟执行一次,不着急的1个小时执行一次。

我的路由器是k2p梅林系统,在初始化脚本/jffs/scripts/init-start里加入

cru a dynv6 "*/5 * * * * /jffs/dynv6.sh"

1.CentOS7下bind套件的安装
安装bind套件

yum install bind-* -y

为了系统更安全的考虑,建议使用named-chroot来运行bind,不要使用named

systemctl enable named-chroot
systemctl start named-chroot

2.安装facileManager套件
fmDNS是facileManager套件的一部分,目前最新的是3.5.7版本

wget https://github.com/WillyXJ/facileManager/archive/v3.5.7-complete.zip

解压后,将client目录和server目录拷贝到你要安装的地方,例如:/home/fmdns/
fmDNS仅支持Apache,使用Nginx的话,可以用Nginx做反向代理。
fmDNS要求php的版本要大于5.5,目前最新的php版本是7.4.11,因此,笔者建议安装最新版本的php7.4.11
在CentOS7下的安装命令如下:

yum install epel-release -y
rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install --enablerepo=remi php74 php74-php php74-php-fpm php74-php-gd php74-php-mysqlnd php74-php-posix -y
systemctl enable php74-php-fpm

更改php-fpm的启动账号,默认是apahce,改为nginx

vi /etc/opt/remi/php74/php-fpm.d/www.conf

更改php session目录的属主

chown -R root.nginx * /var/opt/remi/php74/lib/php/

然后启动php

systemctl start php74-php-fpm

mysql(mariadb)、httpd和nginx的安装配置不再赘述
在浏览器里输入网址,按照提示步骤即可完成server端的安装
客户端的安装比较简单了

php74 /home/fmdns/client/facileManager/fmDNS/client.php install

建议安装为cron方式,crontab -e可以看到添加的定时任务,每5分钟执行一次cron任务

注意事项:
client.php安装的时候会自动检测https和http,如果发现有https端口打开,会优先使用https,如果开启了https,而又不使用https方式来安装,在cron任务里自动生成zone文件就会失败。
除非本机不开启443端口,否则,强烈建议采用https方式,目前有很多免费的ssl证书可以申请,TrustAsia可以申请免费1年的ssl证书,let'sEncrypt可以申请免费3个月的ssl证书。

关键部分
server端的配置
client安装完后,会将本机自动加入到服务器的server列表里,但是,默认的配置缺少很多配置项,直接启动named-chroot服务可能会报错,以下我提供我的fm_dns_config和fm_dns_keys表的sql文件供大家参考,该sql文件包括表结构和数据,可以直接导入。需要注意的是,导入后,key的内容要改成你自己的。
fmdns-dns-tables-202006010.rar
剩余的配置内容,可以根据自己的情况来改。

安装结束

备份:
mysqldump --all-databases --default-character-set=gbk -u root -ppassword --opt > mysql-db-date.sql
还原:
mysql --default-character-set=gbk -u root -p < mysql-db-date.sql

bz2解压tar -jxf 压缩tar -cjf