使用DigitalOcean作为后端的DNS记录管理器,用于在DHCP挂钩中分配DNS记录。
do-dns-manager的Python项目详细描述
使用DigitalOcean作为后端的DNS记录管理器,具有自己的身份验证。 最适合当你只需要改变dns的东西,但你不想要的时候 可以访问其他api,例如,可以花钱的api。
我发现这对于在dhcp租约挂钩中分配dns记录特别有用。 对于dnsmasq用户,示例钩子包含为dnsmasq-hook。
安装
pip install do-dns-manager
配置
在包含用户名和密码对行的地方创建htpasswd.txt 以:分隔,例如:
spam:password ham:hunter2
我们将调用此文件$HTPASSWD。
按如下方式运行DNS管理器:
DIGITAL_OCEAN_API_KEY='(api key)' do-dns-manager --domain=example.com --keyfile=$HTPASSWD --port=8888 --address=127.0.0.1
更改(api key)、example.com、$HTPASSWD、8888和127.0.0.1 以适应你的情况。
我们将使用curl示例:
# Add A record for spam.example.com curl -u 'spam:password' http://127.0.0.1:8888 -d @- <<EOF {"op": "add", "address": "127.0.0.1", "domain": "spam"} EOF # Add AAAA record for spam.example.com curl -u 'spam:password' http://127.0.0.1:8888 -d @- <<EOF {"op": "add", "address": "::1", "domain": "spam"} EOF # Remove A record for spam.example.com curl -u 'spam:password' http://127.0.0.1:8888 -d @- <<EOF {"op": "del", "address": "127.0.0.1", "domain": "spam"} EOF # Remove AAAA record for spam.example.com # Using "address": "::1" instead of "type": "AAAA" also works curl -u 'spam:password' http://127.0.0.1:8888 -d @- <<EOF {"op": "del", "type": "AAAA", "domain": "spam"} EOF