Skip to main content

DNS

Tips#

Primary nameserver: ns.wener.meHostmaster E-mail address: hostmaster.i.wener.meSerial #: 1Refresh: 10800Retry: 3600Expire: 604800   1 weeksDefault TTL: 3600

服务#

coredns#

coredns -conf Corefile -dns.port 1053
dig -p 1053 @localhost AAAA www.example.org +noall +answer
nslookup -type=A twitter.com 1.0.0.1nslookup -type=A twitter.com 114.114.114.114

dnsupdate#

# 更新 NS 记录的函数ns_update_record(){  nsupdate -y $TSIG_NAME:$TSIG_SECRET <<!  update delete $1 $3  update add $1 $2 $3 $4  send  !}# ns_update_record test.wener.me 600 A 192.168.1.1

dig#

# 所有 IPdig +short amazon.com# 所有 NSdig NS +short amazon.com# 请求过程dig amazone.com +trace# 通过 IP 请求域名dig +short -x 8.8.8.8# 顶级域名的 NSdig +short NS me.# 指定请求的 nsdig google.com @8.8.8.8# 获取超时时间dig google.com +noall +answer# 判断是否所有 NS 都同步了域名, 主要通过 SOA 序号判断dig google.com +nssearch# 看域名在 DNS 上是否存在dig SOA google.nl @ns1.dns.nl.

FAQ#

公共 DSN#

将日志记录到文件#

修改配置,调整 syslog 输出

# 使用 LOCAL0 作为日志输出logging-facility=0

重定向 syslog 输出

# 修改 syslog.conflocal0  /var/log/pdns.log

DDNS#

修改 pdns.conf 启用 dnsupdate

# 启用dnsupdate=yes# 默认是 0.0.0.0/0, 置空则禁止所有allow-dnsupdate-from=
# 生成 TSIGpu generate-tsig-key home-test hmac-md5# 为该 ZONE 设置允许修改pu set-meta i.wener.me ALLOW-DNSUPDATE-FROM 0.0.0.0/0# 使用 nsupdate 更新记录nsupdate <<!server 127.0.0.1 5300zone i.wener.meupdate delete dev.i.wener.me. Aupdate add dev.i.wener.me. 3600 A 127.0.0.4key home-wener jI8oJLnLIVOEc6QR7fCUylRnpiD3DL4yXgvBQoaAodM=send!
# 生成另外一个 tsigpu generate-tsig-key home-test2 hmac-md5# 修改为只允许指定的 tsig 修改pu set-meta i.wener.me TSIG-ALLOW-DNSUPDATE home-test2

优化#

# 以下的值均为默认值
# SO_REUSEPORTreuseport=no# 启动监听的线程数, 一般建议 3-4receiver-threads=1# 每个接收线程对应的后端线程数distributor-threads=3# 包缓存的时间, 将包缓存后不需要请求后端来从新组装一个完整的数据包# 设置为 60 一般不会有问题# 也可以将该值设置为几个小时, 需要清除缓存的时候通过 pdns_control purge 来清除cache-ttl=20# 缓存查询和结果的时间query-cache-ttl=20# 缓存查询但不缓存结果的时间negquery-cache-ttl=60