[Samba] isc-dhcp dynamic update problem

me at tdiehl.org me at tdiehl.org
Mon Oct 5 20:55:53 UTC 2020


Hi Mani,

Thanks for the response.

On Mon, 5 Oct 2020, Mani Wieser via samba wrote:

> Dear Tom
>
> Nothing wrong, except that there is unnecessary data written, which will not 
> be used.

Seems reasonable but ...

If the below is all that is needed, why does the Wiki article have the extra
lines in it? Besides cluttering up the leases file with unnecessary data, 
what purpose do the extra lines serve?

What am I missing?

Regards,

-- 
Tom			me at tdiehl.org

>
> try this in your dhcp.conf
>
> on commit {
> set noname = concat("dhcp-", binary-to-ascii(10, 8, "-", leased-address));
> set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
> set ClientDHCID = binary-to-ascii(16, 8, ":", substring(hardware,1,6));
> set ClientName = pick-first-value(option host-name, config-option-host-name, 
> client-name, noname);
> log(concat("Commit: IP: ", ClientIP, " DHCID: ", ClientDHCID, " Name: ", 
> ClientName));
> execute("/usr/local/bin/dhcp-dyndns.sh", "add", ClientIP, ClientDHCID, 
> ClientName);
> }
>
> on release {
> log(concat("Release: IP: ", ClientIP));
> execute("/usr/local/bin/dhcp-dyndns.sh", "delete", ClientIP, ClientDHCID, 
> ClientName);
> }
>
> on expiry {
> log(concat("Release: IP: ", ClientIP));
> execute("/usr/local/bin/dhcp-dyndns.sh", "delete", ClientIP, ClientDHCID, 
> ClientName);
> }
>
> br
>
> Mani
>
>
> On 05.10.2020 17:07, Tom Diehl via samba wrote:
>>  on commit {
>>  set noname = concat("dhcp-", binary-to-ascii(10, 8, "-", leased-address));
>>  set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
>>  set ClientDHCID = concat (
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,1,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,2,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,3,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,4,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,5,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,6,1))),2)
>> ) ;
>>  set ClientName = pick-first-value(option host-name,
>>  config-option-host-name, client-name, noname);
>>  log(concat("Commit: IP: ", ClientIP, " DHCID: ", ClientDHCID, " Name: ",
>>  ClientName));
>>  execute("/usr/local/bin/dhcp-dyndns.sh", "add", ClientIP, ClientDHCID,
>>  ClientName);
>>  }
>>
>>  on release {
>>  set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
>>  set ClientDHCID = concat (
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,1,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,2,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,3,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,4,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,5,1))),2), ":",
>>  suffix (concat ("0", binary-to-ascii (16, 8, "",
>>  substring(hardware,6,1))),2)
>> ) ;
>>  log(concat("Release: IP: ", ClientIP));
>>  execute("/usr/local/bin/dhcp-dyndns.sh", "delete", ClientIP, ClientDHCID);
>>  }
>>
>>  on expiry {
>>  set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
>>  # cannot get a ClientMac here, apparently this only works when actually
>>  receiving a packet
>>  log(concat("Expired: IP: ", ClientIP));
>>  # cannot get a ClientName here, for some reason that always fails
>>  execute("/usr/local/bin/dhcp-dyndns.sh", "delete", ClientIP, "", "0");
>>  }
>
>



More information about the samba mailing list