aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dhcp-to-dns11
1 files changed, 8 insertions, 3 deletions
diff --git a/dhcp-to-dns b/dhcp-to-dns
index 7cd7fa0..e403881 100644
--- a/dhcp-to-dns
+++ b/dhcp-to-dns
@@ -44,9 +44,14 @@
:if ([ :len $DnsRecord ] > 0) do={
:local DnsIp [ / ip dns static get $DnsRecord address ];
- :local HostLeases [ / ip dhcp-server lease find where mac-address=($LeaseVal->"mac-address") dynamic=yes ];
- :if ([ :len $HostLeases ] > 1) do={
- :set ($LeaseVal->"address") [ / ip dhcp-server lease get ($HostLeases->([ :len $HostLeases ] - 1)) address ];
+ :local DupMacLeases [ / ip dhcp-server lease find where mac-address=($LeaseVal->"mac-address") dynamic=yes ];
+ :if ([ :len $DupMacLeases ] > 1) do={
+ :set ($LeaseVal->"address") [ / ip dhcp-server lease get ($DupMacLeases->([ :len $DupMacLeases ] - 1)) address ];
+ }
+
+ :local DupHostLeases [ / ip dhcp-server lease find where host-name=($LeaseVal->"host-name") dynamic=yes ];
+ :if ([ :len $DupHostLeases ] > 1) do={
+ :set ($LeaseVal->"address") [ / ip dhcp-server lease get ($DupHostLeases->0) address ];
}
:if ($DnsIp = $LeaseVal->"address") do={