DHCP 4.0.2, execute() and hardware address mismatch
Sławomir Paszkiewicz
paszczus at gmail.com
Tue Oct 19 11:29:18 UTC 2010
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@
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-hackers/attachments/20101019/62ac70a5/attachment.html>
More information about the dhcp-hackers
mailing list