linux下powerdns使用mysql、lua时用geoip分地区解析
自行安装支持组件
安装好mysql:https://www.loshub.com/mysql/342.html
设置root密码为A987654321
/usr/local/mysql/bin/mysqladmin -u root password A987654321;
创建数据库和并导入数据,数据库名为powrdns,用户名为dns,密码为A123456789
mysql -uroot -pA987654321 <<EOF
create database powerdns;
CREATE USER 'dns'@'localhost' IDENTIFIED BY 'A123456789';
GRANT ALL PRIVILEGES ON powerdns.* TO 'dns'@'localhost';
FLUSH PRIVILEGES;
USE cdns;
quit
EOF
下载并安装powerdns:
wget https://downloads.powerdns.com/releases/pdns-4.8.3.tar.bz2
tar jxf pdns-4.8.3.tar.bz2
cd pdns-4.8.3
chmod +x ./configure
./configure --prefix=/usr/local/pdns --enable-lua-records --with-modules="bind gmysql geoip" --with-mysql=/usr/local/mysql --enable-verbose-logging --with-libcurl
make&&make install
导入mysql数据库
mysql -uroot -pA987654321 powerdns < modules/gmysqlbackenddb/schema.mysql.sql;
cd..&&rm -rf pdns-4.8.3.tar.bz2 pdns-4.8.3
groupadd pdns&&useradd -m -s /sbin/nologin -g pdns pdns
创建/usr/local/pdns/etc/pdns.conf文件,注意geoip文件,自行去下载
setuid=pdns
setgid=pdns
local-address=0.0.0.0, ::
local-port=53
tcp-control-port=5300
launch=gmysql,geoip
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-user=dns
gmysql-password=A123456789
gmysql-dbname=powerdns
write-pid=yes
zone-cache-refresh-interval=300
zone-metadata-cache-ttl=60
dnssec-key-cache-ttl=30
gmysql-dnssec=yes
daemon=yes
api=yes
api-key=api密码
webserver=yes
webserver-address=0.0.0.0
webserver-allow-from=0.0.0.0/0
webserver-port=8081
config-dir=/usr/local/pdns/etc
enable-lua-records=shared
geoip-database-files=/etc/geoip/GeoLite2-City.mmdb /etc/geoip/GeoLite2-City.mmdb /etc/geoip/GeoLite2-ASN.mmdb
给权/etc/geoip目录
chown pdns:pdns /etc/geoip -R
创建启动文件/lib/systemd/system/pdns.service
Description=powerDNS Service
After=mysql.service
[Service]
Type=forking
ExecStart=/usr/local/pdns/sbin/pdns_server --config-dir=/usr/local/pdns/etc
[Install]
WantedBy=multi-user.target
创建软连并加入系统启动
ln -s /lib/systemd/system/pdns.service /etc/systemd/system/multi-user.target.wants/pdns
systemctl daemon-reload&&systemctl start pdns&&systemctl enable pdns
先添加sqa和ns记录,注意是mysql命令符下
INSERT INTO `records` VALUES (1, 13, '域名', 'SOA', 'ns1地址 ns2地址 2023062819 7200 900 1209600 10800', 86400, NULL, 0, '', 1);
INSERT INTO `records` VALUES (2, 13, 'wyun.bid', 'NS', 'ns1地址', 86400, NULL, 0, '', 1);
INSERT INTO `records` VALUES (3, 13, 'wyun.bid', 'NS', 'ns2地址', 86400, NULL, 0, '', 1);
分区解析参考:
https://www.loshub.com/powerdns/237.html
最后面
分类:
powerdns
标签:
powerdnsLUA
版权申明
本文系作者 @天边的云 原创发布在Loshub站点。未经许可,禁止转载。
暂无评论数据