Proxmox SDN setup not updating phpIPAM and PowerDNS

Feb 8, 2025
9
0
1
Texas
I have searched and search, to no avail. Connectivity works from Proxmox 8.x and 9.x hosts to both phpIPAM and PowerDNS. I have tested the connectivity via curl from each host in the cluster. Subnet exists in phpIPAM, zone exists in PowerDNS, and reverse zone exists in PowerDNS. All zones in PowerDNS are set to Primary. Here are some configuration bits:

zones.cfg:
Code:
vlan: jtx1
    bridge vmbr0
    dns powerdns
    dnszone example.com
    ipam phpipam
    reversedns powerdns

vnets.cfg:
Code:
vnet: vlan220
    zone jtx1
    tag 220

subnets.cfg:
Code:
subnet: jtx1-10.253.220.0-24
    vnet vlan220
    dnszoneprefix jtx
    gateway 10.253.220.1

dns.cfg:
Code:
powerdns: powerdns
    key <REDACTED>
    url http://pdns-master.jtx.example.com:8081/api/v1/servers/localhost
    ttl 300

ipams.cfg:
Code:
pve: pve

phpipam: phpipam
    section 1
    token <REDACTED>
    url https://ipam.jtx.example.com/api/pve/

curl tests for PowerDNS API connectivity:
Code:
# curl -v -H 'X-API-Key: <REDACTED>' http://pdns-master.jtx.example.com:8081/api/v1/servers/localhost/zones/jtx.example.com
* Host pdns-master.jtx.example.com:8081 was resolved.
* IPv6: (none)
* IPv4: 10.253.220.5
*   Trying 10.253.220.5:8081...
* Connected to pdns-master.jtx.example.com (10.253.220.5) port 8081
* using HTTP/1.x
> GET /api/v1/servers/localhost/zones/jtx.example.com HTTP/1.1
> Host: pdns-master.jtx.example.com:8081
> User-Agent: curl/8.14.1
> Accept: */*
> X-API-Key: <REDACTED>
>
* Request completely sent off
< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< Connection: close
< Content-Length: 9234
< Content-Security-Policy: default-src 'self'; style-src 'self' 'unsafe-inline'
< Content-Type: application/json
< X-Content-Type-Options: nosniff
< X-Frame-Options: deny
< X-Permitted-Cross-Domain-Policies: none
< X-Xss-Protection: 1; mode=block
<

curl test for phpIPAM API connectivity:
Code:
# curl https://ipam.jtx.example.com/api/pve/subnets/7 --header "token: <REDACTED>" -i
HTTP/1.1 200 OK
Date: Fri, 28 Nov 2025 00:35:37 GMT
Server: Apache/2.4.62 (Debian)
Set-Cookie: phpipam=gc9rlfirsj4mdipptmdsecado1; expires=Sat, 29 Nov 2025 00:35:37 +0000; Max-Age=86400; path=/; SameSite=Lax; Secure; HttpOnly;
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Content-Length: 1105
Content-Type: application/json; charset=utf-8

{"code":200,"success":true,"data":{"id":7,"subnet":"10.253.220.0","mask":"24","sectionId":1,"description":"JTX-220-SERVER","linked_subnet":null,"firewallAddressObject":null,"vrfId":null,"masterSubnetId":0,"allowRequests":1,"vlanId":3,"showName":0,"device":1,"permissions":"{\"3\":\"1\",\"2\":\"2\"}","pingSubnet":1,"discoverSubnet":1,"resolveDNS":1,"DNSrecursive":1,"DNSrecords":1,"nameserverId":2,"scanAgent":2,"customer_id":1,"isFolder":0,"isFull":0,"isPool":0,"tag":2,"threshold":0,"location":1,"editDate":"2025-11-21 11:51:43","lastScan":null,"lastDiscovery":null,"nameservers":{"id":2,"name":"JTX Local NS","namesrv1":"10.253.220.5;10.253.220.13","description":"JTX Local NS","permissions":"1","editDate":"2025-11-26 23:31:46"},"gatewayId":12,"gateway":{"ip_addr":"10.253.220.1","id":12},"calculation":{"Type":"IPv4","IP address":"\/","Network":"10.253.220.0","Broadcast":"10.253.220.255","Subnet bitmask":"24","Subnet netmask":"255.255.255.0","Subnet wildcard":"0.0.0.255","Min host IP":"10.253.220.1","Max host IP":"10.253.220.254","Number of hosts":"254","Subnet Class":"private A"}},"time":0.003}

I don't see any errors in the Proxmox logs, nor do I see any calls in the PowerDNS API webserver logs or the phpIPAM access/error logs except from my curl tests. I have been beating my head on my desk for a minute now trying to figure out what is wrong or not configured properly. Any help would be greatly appreciated!
 
Last edited: