check_dhcp
Warren Block
wblock at wonkity.com
Fri Jul 25 03:25:08 UTC 2014
On Thu, 24 Jul 2014, Glen Barber wrote:
> On Thu, Jul 24, 2014 at 09:14:24PM -0600, Warren Block wrote:
>> net-mgmt/monitoring-plugins has a check_dhcp program used to test the
>> availability of a remote DHCP server. It has BSD-specific code, but seems
>> fairly dated and only works when all supposedly optional parameters are
>> given. However, it does work on a normal machine:
>>
>> OK: Received 1 DHCPOFFER(s), 1 of 1 requested servers responded, max lease time = 600 sec.
>>
>> But it does not work inside a jail, seeing no offers:
>>
>> CRITICAL: No DHCPOFFERs were received.
>>
>> Raw sockets and bpf are enabled in the jail. dhclient in the jail can
>> actually get a lease. Is there anything else that needs to be configured to
>> allow this to work in a jail?
>>
>>
>>
>> After 'make -C /usr/ports/net-mgmt/monitoring-plugins', the code in question
>> is check_dhcp.c in
>> work/monitoring-plugins-monitoring-plugins-b5611ea/plugins-root. It gives
>> these type of errors:
>>
>> % ./check_dhcp -s 192.168.1.1
>> Error: if_nametoindex error - Device not configured.
>>
>> % ./check_dhcp -s 192.168.1.1 -i em0
>> Error: Couldn't get hardware address from em0. sysctl 2 error - No such file or directory.
>>
>> After adding -m <jail card's MAC>, it gives no errors but never sees a
>> response.
>
> The problem, I suspect, is that bpf(4) does not exist in the jail.
It's there:
# ls -lh /dev/b*
crw------- 1 root wheel 0x12 Jul 24 21:00 /dev/bpf
lrwxr-xr-x 1 root wheel 3B Jul 24 20:08 /dev/bpf0 -> bpf
dhclient would not work without it, I think. But something else is
different between the jail and a real machine.
More information about the freebsd-jail
mailing list