routeros-scripts/doc/dhcp-to-dns.md
2023-06-11 22:45:29 +02:00

3 KiB
Raw Blame History

Create DNS records for DHCP leases

⬅️ Go back to main README

Info: This script can not be used on its own but requires the base installation. See main README for details.

Description

This script adds (and updates & removes) dns records based on dhcp server leases. An A record based on mac address is created for all bound lease, additionally a CNAME record is created from host name if available.

Requirements and installation

Just install the script:

$ScriptInstallUpdate dhcp-to-dns;

Then run it from dhcp server as lease script. You may want to use lease-script.

A scheduler cares about cleanup:

/system/scheduler/add interval=15m name=dhcp-to-dns on-event="/system/script/run dhcp-to-dns;" start-time=startup;

Configuration

On first run a disabled static dns record acting as marker (with comment "--- dhcp-to-dns above ---") is added. Move this entry to define where new entries are to be added.

The configuration goes to dhcp server's network definition. The domain is used to form the dns name:

/ip/dhcp-server/network/add address=10.0.0.0/24 domain=example.com;

A bound lease for mac address 00:11:22:33:44:55 with ip address 10.0.0.50 would result in an A record 00-11-22-33-44-55.example.com pointing to the given ip address.

Additional options can be given from comment, to add an extra level in dns name or define a different domain.

/ip/dhcp-server/network/add address=10.0.0.0/24 domain=example.com comment="domain=another-domain.com, name-extra=dhcp";

This example would result in name 00-11-22-33-44-55.dhcp.another-domain.com for the same lease.

If no domain is found in dhcp server's network definition a fallback from global-config-overlay is used. This is the parameter:

  • Domain: the domain used for dns records

Info: Copy relevant configuration from global-config (the one without -overlay) to your local global-config-overlay and modify it to your specific needs.

Host name from DHCP lease comment

Overwriting the host name from dhcp lease comment is supported, just add something like hostname=new-hostname in comment, and separate it by comma from other information if required:

/ip/dhcp-server/lease/add address=10.0.0.50 comment="my device, hostname=new-hostname" mac-address=00:11:22:33:44:55 server=dhcp;

Note this information can be configured in wireless access list with dhcp-lease-comment, though it comes with a delay then due to script execution order. Decrease the scheduler interval to reduce the effect.

See also


⬅️ Go back to main README
⬆️ Go back to top