You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerDNS API删除指定IP的A记录?

通过IP地址删除DNS A记录的方法

直接仅通过IP地址发起删除操作是无法实现的,因为DNS API的PATCH请求要求明确指定记录的name(域名)和type(记录类型),无法仅通过IP定位目标记录。不过可以通过两步操作达成需求:

  1. 先查询目标Zone中所有指向该IP的A记录,获取对应的域名
  2. 利用获取到的域名执行删除操作

步骤一:查询指向目标IP的A记录

通过curl发送GET请求获取Zone的全量记录,再过滤出目标IP对应的域名(这里假设你要删除的IP是192.168.1.100,需要提前安装jq工具解析JSON响应):

curl -H 'X-API-Key: secret' http://127.0.0.1:8081/api/v1/servers/localhost/zones/zonename | jq -r '.rrsets[] | select(.type == "A") | .records[] | select(.content == "192.168.1.100") | .name'

步骤二:删除查询到的A记录

将第一步得到的域名代入DELETE请求即可,比如查到的域名是test.fqdn.,使用你熟悉的命令:

curl -X PATCH --data '{"rrsets": [{"changetype": "DELETE", "type": "A", "name": "test.fqdn."}]}' -H 'X-API-Key: secret' http://127.0.0.1:8081/api/v1/servers/localhost/zones/zonename

如果有多个域名指向同一IP,可以批量构造请求体一次性删除:

curl -X PATCH --data '{"rrsets": [
  {"changetype": "DELETE", "type": "A", "name": "test1.fqdn."},
  {"changetype": "DELETE", "type": "A", "name": "test2.fqdn."}
]}' -H 'X-API-Key: secret' http://127.0.0.1:8081/api/v1/servers/localhost/zones/zonename

注:从你的API URL格式判断,这应该是PowerDNS的API,它不支持直接通过IP过滤查询,必须先获取全量记录再本地筛选。

内容的提问来源于stack exchange,提问作者MoRS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:18:15