[Samba] isc-dhcp dynamic update problem
Mani Wieser
test_drive_123 at outlook.com
Mon Oct 5 16:32:12 UTC 2020
Dear Tom
nothing wrong, except that there is unnecessary data written, which will
not be used.
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