WG: Re: DHCP 4.0.2, execute() and hardware address mismatch
Uwe.Buchwitz at gavi.de
Uwe.Buchwitz at gavi.de
Tue Oct 19 18:44:17 UTC 2010
No need to use the set Statement in release/expiry again. Just look at the
leases in the leases file. The set Value for ClientIP is stored there and
can be addressed again.
I`ve been testing that hack for a while and i found one problem:
While commit everything is ok, but on release/expiry i`m getting an error
in logs:
2010-10-19 13:15:23 data: hardware: raw packet not available
2010-10-19 13:15:23 data: hardware: raw packet not available
2010-10-19 13:15:23 data: hardware: raw packet not available
2010-10-19 13:15:23 data: hardware: raw packet not available
2010-10-19 13:15:23 data: hardware: raw packet not available
2010-10-19 13:15:23 data: hardware: raw packet not available
2010-10-19 13:15:23 data: hardware: raw packet not available
2010-10-19 13:15:23 data: hardware: raw packet not available
2010-10-19 13:15:23 execute_statement argv[0] = /opt/dnsmasq/dhcpv2
2010-10-19 13:15:23 execute_statement argv[1] = del
2010-10-19 13:15:23 execute: bad arg 2
2010-10-19 13:15:23 execute_statement argv[1] = del
2010-10-19 13:15:23 execute: bad arg 2
and script fails, because of missing ClientMAC.
My config:
on release {
set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
set ClientMAC = 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));
execute("/opt/dnsmasq/dhcpv2", "del", clientMAC, clientIP);
}
on expiry {
set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
set ClientMAC = 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));
execute("/opt/dnsmasq/dhcpv2", "del", clientMAC, clientIP);
}
Best regards,
paszczus
W dniu 18 października 2010 09:11 użytkownik <Uwe.Buchwitz at gavi.de>
napisał:
Hello,
with:
( 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)
),
you get the correct format.
Best regards,
Uwe
Von:
Sławomir Paszkiewicz <paszczus at gmail.com>
An:
dhcp-hackers at lists.isc.org
Datum:
11.10.2010 12:41
Betreff:
DHCP 4.0.2, execute() and hardware address mismatch
Gesendet von:
dhcp-hackers-bounces+uwe.buchwitz=gavi.de at lists.isc.org
Hello,
I`m trying to migrate from DNSMasq to ISC DHCP because of failover.
My problem is that MAC Addresses (hardware) are in different format than
iptables accept (i`m executing script via execute() which call iptables
-A FORWARD -m mac --mac-source .... -j ACCEPT).
In ISC DHCP logs format is correct:
DHCPREQUEST for 10.59.146.180 from 00:d0:b8:0c:ba:d8 via eth0
But 'hardware' (i`m using binary-to-ascii(16, 8, ":",
substring(hardware,1, 6));) gives me:
0:d0:b8:c:ba:d8 which is incorrect for iptables:
# iptables -A FORWARD -m mac --mac-source 0:d0:b8:c:ba:d8 -s
10.59.146.180 -j ACCEPT
iptables v1.4.4: Bad mac address "0:d0:b8:c:ba:d8"
My question is how to get correct (for iptables) format (same as in dhcp
logs) ?
Best regards,
paszczus
_______________________________________________
dhcp-hackers mailing list
dhcp-hackers at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-hackers
_______________________________________________
dhcp-hackers mailing list
dhcp-hackers at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-hackers
_______________________________________________
dhcp-hackers mailing list
dhcp-hackers at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-hackers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-hackers/attachments/20101019/5c188743/attachment.html>
More information about the dhcp-hackers
mailing list