dhcp-to-dns
Get list of DHCP static reservations from pfSense and create corresponding DNS records in pi-hole.
Prerequisites
You must install and configure the API for pfSense (see https://github.com/jaredhendrickson13/pfsense-api).
Caveats
I couldn't find a documented pi-hole API for creating local DNS records, so this script relies on logging in via the pi-hole web interface using a cleartext password. I don't like it, but "it is what it is".
Configuration
Copy config.js.example
to config.js
and set the options below. Read any mention of "pi-hole" as "pi-hole web interface" and "pfsense" as "pfsense web interface".
pihole_address
- The DNS or IP address of pi-hole
pihole_protocol
- The protocol (HTTP or HTTPS) used to access pi-hole
pihole_port
- The TCP port pi-hole is listening on
pihole_password
- Cleartext password you use to log in to pi-hole
pfsense_address
- The DNS or IP address of pfSense
pfsense_protocol
- The procotol (HTTP or HTTPS) used to access pfSense
pfsense_port
- The TCP port pfSense is listening on
pfsense_client_id
- The client ID for the pfSense API
pfsense_client_token
- The client token for the pfSense API
domain
- The top-level domain to append to DNS records. For example .lan
will create records such as example.lan
or myserver.lan
See more at [ github.com ]