<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=Mikrotik_dhcp_to_dns</id>
	<title>Mikrotik dhcp to dns - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=Mikrotik_dhcp_to_dns"/>
	<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Mikrotik_dhcp_to_dns&amp;action=history"/>
	<updated>2026-04-15T11:23:56Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.eofnet.lt/w//index.php?title=Mikrotik_dhcp_to_dns&amp;diff=9712&amp;oldid=prev</id>
		<title>\dev\null 22:46, 12 sausio 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Mikrotik_dhcp_to_dns&amp;diff=9712&amp;oldid=prev"/>
		<updated>2025-01-12T22:46:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;lt&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ankstesnė versija&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;22:46, 12 sausio 2025 versija&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;1 eilutė:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1 eilutė:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Scriptas skirtas automatiškai priskirti [[DNS]] įrašus naujiems [[DHCP]] lease'ams (klientams). Suteikiamas hostname su domain prefix'u (pvz.: '''iphone-x.clients.ofisas.lt'''), paimamas iš [[dhcp]] arba ''komentaro'' (jeigu jau yra statinis [[ip]] apibrėžimas). Taip yra patogiau atskirti vidinius tinklo resursus ir juos administruoti, intuityviau matomi klientai ir/ar jų tipai bei naudojamos sistemos.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Scriptas skirtas automatiškai priskirti [[DNS]] įrašus naujiems [[DHCP]] lease'ams (klientams). Suteikiamas hostname su domain prefix'u (pvz.: '''iphone-x.clients.ofisas.lt'''), paimamas iš [[dhcp]] arba ''komentaro'' (jeigu jau yra statinis [[ip]] apibrėžimas). Taip yra patogiau atskirti vidinius tinklo resursus ir juos administruoti, intuityviau matomi klientai ir/ar jų tipai bei naudojamos sistemos.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;'''MikroTik skirta Technitium DNS integracija [https://github.com/e1z0/mikrotik-technitium-dns aprašyta čia].'''&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sudedame į &amp;gt; System &amp;gt; Scripts ir sudedame scriptą, užvadiname ir nustatome teises taip kaip parodyta paveikslėlyje.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sudedame į &amp;gt; System &amp;gt; Scripts ir sudedame scriptą, užvadiname ir nustatome teises taip kaip parodyta paveikslėlyje.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>\dev\null</name></author>
	</entry>
	<entry>
		<id>https://wiki.eofnet.lt/w//index.php?title=Mikrotik_dhcp_to_dns&amp;diff=9563&amp;oldid=prev</id>
		<title>\dev\null: Naujas puslapis: Scriptas skirtas automatiškai priskirti DNS įrašus naujiems DHCP lease'ams (klientams). Suteikiamas hostname su domain prefix'u (pvz.: '''iphone-x.clients.ofisas.lt'''...</title>
		<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=Mikrotik_dhcp_to_dns&amp;diff=9563&amp;oldid=prev"/>
		<updated>2023-03-11T14:02:01Z</updated>

		<summary type="html">&lt;p&gt;Naujas puslapis: Scriptas skirtas automatiškai priskirti &lt;a href=&quot;/w//index.php?title=DNS&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;DNS (puslapis neegzistuoja)&quot;&gt;DNS&lt;/a&gt; įrašus naujiems &lt;a href=&quot;/wiki/DHCP&quot; class=&quot;mw-redirect&quot; title=&quot;DHCP&quot;&gt;DHCP&lt;/a&gt; lease&amp;#039;ams (klientams). Suteikiamas hostname su domain prefix&amp;#039;u (pvz.: &amp;#039;&amp;#039;&amp;#039;iphone-x.clients.ofisas.lt&amp;#039;&amp;#039;&amp;#039;...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Scriptas skirtas automatiškai priskirti [[DNS]] įrašus naujiems [[DHCP]] lease'ams (klientams). Suteikiamas hostname su domain prefix'u (pvz.: '''iphone-x.clients.ofisas.lt'''), paimamas iš [[dhcp]] arba ''komentaro'' (jeigu jau yra statinis [[ip]] apibrėžimas). Taip yra patogiau atskirti vidinius tinklo resursus ir juos administruoti, intuityviau matomi klientai ir/ar jų tipai bei naudojamos sistemos. &lt;br /&gt;
&lt;br /&gt;
Sudedame į &amp;gt; System &amp;gt; Scripts ir sudedame scriptą, užvadiname ir nustatome teises taip kaip parodyta paveikslėlyje.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Screenshot 2023-03-11 at 15.50.15.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Įgaliname jį veikti po kiekvieno ip suteikimo klientui&lt;br /&gt;
&lt;br /&gt;
 IP &amp;gt; DHCP Server &amp;gt; (jūsų dhcp serveris) &amp;gt; Script įrašome jo pavadimimą, kaip parodyta paveikslėlyje.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Screenshot 2023-03-11 at 15.53.41.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
# updates can be found here https://forum.mikrotik.com/viewtopic.php?t=119469&lt;br /&gt;
:local DHCPtag   &amp;quot;#DHCP2DNS#&amp;quot;&lt;br /&gt;
:local LogPrefix &amp;quot;DHCP2DNS ($leaseServerName)&amp;quot;&lt;br /&gt;
:local domain &amp;quot;clients.xxx.lt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Functions&lt;br /&gt;
&lt;br /&gt;
# remove \0 and spaces from string passed as inStr=&amp;lt;string&amp;gt;&lt;br /&gt;
:local trimString do=\&lt;br /&gt;
{&lt;br /&gt;
  :local outStr&lt;br /&gt;
  :for i from=0 to=([:len $inStr] - 1) do=\&lt;br /&gt;
  {&lt;br /&gt;
    :local tmp [:pick $inStr $i];&lt;br /&gt;
    :if (($tmp !=&amp;quot; &amp;quot;) and ($tmp !=&amp;quot;\00&amp;quot;)) do=\&lt;br /&gt;
    {&lt;br /&gt;
      :set outStr ($outStr . $tmp)&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  :return $outStr&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;a.b.c.d&amp;quot; -&amp;gt; &amp;quot;a-b-c-d&amp;quot; for IP addresses used as replacement for missing host names&lt;br /&gt;
:local ip2Host do=\&lt;br /&gt;
{&lt;br /&gt;
  :local outStr&lt;br /&gt;
  :for i from=0 to=([:len $inStr] - 1) do=\&lt;br /&gt;
  {&lt;br /&gt;
    :local tmp [:pick $inStr $i];&lt;br /&gt;
    :if ($tmp =&amp;quot;.&amp;quot;) do=\&lt;br /&gt;
    {&lt;br /&gt;
      :set tmp &amp;quot;-&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    :set outStr ($outStr . $tmp)&lt;br /&gt;
  }&lt;br /&gt;
  :return $outStr&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Script entry point&lt;br /&gt;
#&lt;br /&gt;
# Expected environment variables:&lt;br /&gt;
# leaseBound         1 = lease bound, 0 = lease removed&lt;br /&gt;
# leaseServerName    Name of DHCP server&lt;br /&gt;
# leaseActIP         IP address of DHCP client&lt;br /&gt;
&lt;br /&gt;
:if ( [ :len $leaseActIP ] &amp;lt;= 0 ) do=\&lt;br /&gt;
{&lt;br /&gt;
  :log error &amp;quot;$LogPrefix: empty lease address&amp;quot;&lt;br /&gt;
  :error &amp;quot;empty lease address&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:if ( $leaseBound = 1 ) do=\&lt;br /&gt;
{&lt;br /&gt;
  # new DHCP lease added&lt;br /&gt;
  &lt;br /&gt;
  /ip dhcp-server&lt;br /&gt;
  :local ttl [ get [ find name=$leaseServerName ] lease-time ]&lt;br /&gt;
  network &lt;br /&gt;
#  :local domain [ get [ find $leaseActIP in address ] domain ]&lt;br /&gt;
#  :set domain [ $trimString inStr=$domain ]&lt;br /&gt;
&lt;br /&gt;
  .. lease&lt;br /&gt;
  :local leaseId [ find address=$leaseActIP ]&lt;br /&gt;
&lt;br /&gt;
  # Check for multiple active leases for the same IP address. It's weird and it shouldn't be, but just in case.&lt;br /&gt;
  :if ( [ :len $leaseId ] != 1) do=\&lt;br /&gt;
  {&lt;br /&gt;
    :log warning &amp;quot;$LogPrefix: Multiple active DHCP leases for '$leaseActIP' (???)&amp;quot;&lt;br /&gt;
    :error &amp;quot;Multiple active DHCP leases for '$leaseActIP' (???)&amp;quot;&lt;br /&gt;
  }  &lt;br /&gt;
  :local hostname [ get $leaseId host-name ]&lt;br /&gt;
  :set hostname [ $trimString inStr=$hostname ]&lt;br /&gt;
&lt;br /&gt;
  :if ( [ :len $hostname ] &amp;lt;= 0 ) do=\&lt;br /&gt;
  {&lt;br /&gt;
    :set hostname [ $ip2Host inStr=$leaseActIP ]&lt;br /&gt;
    :log info &amp;quot;$LogPrefix: Empty hostname for '$leaseActIP', using generated host name '$hostname'&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  :if ( [ :len $domain ] &amp;lt;= 0 ) do=\&lt;br /&gt;
  {&lt;br /&gt;
    :log warning &amp;quot;$LogPrefix: Empty domainname for '$leaseActIP', cannot create static DNS name&amp;quot;&lt;br /&gt;
    :error &amp;quot;Empty domainname for '$leaseActIP'&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  :local fqdn ($hostname . &amp;quot;.&amp;quot; .  $domain)&lt;br /&gt;
&lt;br /&gt;
  /ip dns static&lt;br /&gt;
  :if ( [ :len [ find name=$fqdn and address=$leaseActIP and disabled=no ] ] = 0 ) do=\&lt;br /&gt;
  {&lt;br /&gt;
    add address=$leaseActIP name=$fqdn ttl=$ttl comment=$DHCPtag disabled=no&lt;br /&gt;
    :log info &amp;quot;$LogPrefix: Static domain name '$fqdn' created for '$leaseActIP' with ttl '$ttl'&amp;quot;&lt;br /&gt;
  }\&lt;br /&gt;
  else=\&lt;br /&gt;
  {&lt;br /&gt;
    :log warning &amp;quot;$LogPrefix: '$fqdn' already exists, cannot create static DNS name for '$leaseActIP'&amp;quot;&lt;br /&gt;
    :error &amp;quot;$LogPrefix: '$fqdn' already exists&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}\&lt;br /&gt;
else=\&lt;br /&gt;
{&lt;br /&gt;
  # DHCP lease removed&lt;br /&gt;
&lt;br /&gt;
  /ip dns static&lt;br /&gt;
  :local dnsDhcpId&lt;br /&gt;
  :set dnsDhcpId [ find address=$leaseActIP and comment=$DHCPtag ]&lt;br /&gt;
  :if ( [ :len $dnsDhcpId ] &amp;gt; 0 ) do=\&lt;br /&gt;
  {&lt;br /&gt;
    remove $dnsDhcpId&lt;br /&gt;
    :log info &amp;quot;$LogPrefix: Static DNS name(s) for '$leaseActIP' removed&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:MikroTik]]&lt;br /&gt;
[[Category:Tinklas]]&lt;/div&gt;</summary>
		<author><name>\dev\null</name></author>
	</entry>
</feed>