2020-03-27 20:44:56 +00:00
Create DNS records for DHCP leases
==================================
2024-03-06 13:30:18 +00:00
[![GitHub stars ](https://img.shields.io/github/stars/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=red )](https://github.com/eworm-de/routeros-scripts/stargazers)
[![GitHub forks ](https://img.shields.io/github/forks/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=green )](https://github.com/eworm-de/routeros-scripts/network)
[![GitHub watchers ](https://img.shields.io/github/watchers/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=blue )](https://github.com/eworm-de/routeros-scripts/watchers)
[![required RouterOS version ](https://img.shields.io/badge/RouterOS-7.12-yellow?style=flat )](https://mikrotik.com/download/changelogs/)
[![Telegram group @routeros_scripts ](https://img.shields.io/badge/Telegram-%40routeros__scripts-%2326A5E4?logo=telegram&style=flat )](https://t.me/routeros_scripts)
[![donate with PayPal ](https://img.shields.io/badge/Like_it%3F-Donate!-orange?logo=githubsponsors&logoColor=orange&style=flat )](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick& hosted_button_id=A4ZXBD6YS2W8J)
2023-01-10 13:45:27 +00:00
[⬅️ Go back to main README ](../README.md )
2020-03-27 20:44:56 +00:00
2022-02-12 12:05:56 +00:00
> ℹ ️ **Info**: This script can not be used on its own but requires the base
2022-02-11 22:34:39 +00:00
> installation. See [main README](../README.md) for details.
2021-05-03 13:07:50 +00:00
2020-03-27 20:44:56 +00:00
Description
-----------
2023-03-25 21:51:33 +00:00
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.
2020-03-27 20:44:56 +00:00
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 ](lease-script.md ).
A scheduler cares about cleanup:
2022-05-11 08:02:15 +00:00
/system/scheduler/add interval=15m name=dhcp-to-dns on-event="/system/script/run dhcp-to-dns;" start-time=startup;
2020-03-27 20:44:56 +00:00
Configuration
-------------
2020-06-02 20:05:21 +00:00
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.
2023-04-12 22:32:13 +00:00
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:
2020-03-27 20:44:56 +00:00
* `Domain` : the domain used for dns records
2023-06-07 12:12:46 +00:00
> ℹ ️ **Info**: Copy relevant configuration from
> [`global-config`](../global-config.rsc) (the one without `-overlay`) to
> your local `global-config-overlay` and modify it to your specific needs.
2023-03-25 21:33:02 +00:00
### 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 ](dhcp-lease-comment.md ), though it comes with a delay
then due to script execution order. Decrease the scheduler interval to
reduce the effect.
2020-03-27 20:44:56 +00:00
See also
--------
* [Collect MAC addresses in wireless access list ](collect-wireless-mac.md )
* [Comment DHCP leases with info from access list ](dhcp-lease-comment.md )
2021-05-17 14:32:07 +00:00
* [Create DNS records for IPSec peers ](ipsec-to-dns.md )
2020-03-27 20:44:56 +00:00
* [Run other scripts on DHCP lease ](lease-script.md )
---
2023-01-10 13:45:27 +00:00
[⬅️ Go back to main README ](../README.md )
[⬆️ Go back to top ](#top )