关于Bind 9.18.18中ddns-confgen生成密钥的存储位置咨询
别担心,这绝对不是愚蠢的问题——ddns-confgen的输出逻辑确实容易让人懵圈!
当你运行ddns-confgen -k host.example.com时,这个工具不会自动在本地生成密钥文件,它会把密钥的完整配置内容直接输出到你的终端窗口里。你需要手动把这些内容保存成一个文件,也就是命令提示里提到的<keyfile>。
具体来说,命令输出里会包含一段类似这样的密钥定义:
key "host.example.com" {
algorithm hmac-sha256;
secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==";
};
你只需要把这段内容复制下来,保存到一个合适的位置(比如/etc/bind/ddns-key-host.example.com.conf),然后给文件设置合理的权限(比如chmod 640 /etc/bind/ddns-key-host.example.com.conf,保证bind服务用户能读取它)。
完成后,你就可以用这个文件来执行nsupdate了:nsupdate -k /etc/bind/ddns-key-host.example.com.conf
额外提个小技巧:如果不想手动复制粘贴,你可以直接用重定向命令让ddns-confgen把内容写入文件,一步到位:ddns-confgen -k host.example.com > /etc/bind/ddns-key-host.example.com.conf
备注:内容来源于stack exchange,提问作者TommyPeanuts

