Subject: Off-Topic: DHCP Windows Emulation
To: None <current-users@netbsd.org>
From: Feico Dillema <feico@pasta.cs.uit.no>
List: current-users
Date: 03/08/2001 12:00:22
Hi,

My brother has a subscription to a braindead cable ISP, but he has no
alternatives for 24/7 connectivity. Braindead as they say amongst
others `they do not support non-MS OSes' while they mean that they do
not want people to run an OS that can be used for other things than
Web-browsing. Anyway, my problem is that they use DHCP to handout
addresses but also to manage connectivity, i.e. they disable the line
(filter MAC address) when you do not have a valid DHCP lease. Their
DHCP server seems to be configured explicitly to only handout
addresses to machines identified as Windows machines. Windows by
default puts some client IDs and vendor-specific stuff in their DHCP
requests to make such a thing possible. Now, as I want to setup a
NetBSD-based firewall/router for him, I would like to know how I can
let NetBSDs DHCP requests look like those from the Windows machine.
I tried to add the proper options in dhclient.conf, but it seems the
dhclient and its manpage do not completely agree on NetBSD-1.5 and I
didn't manage.

Has any of you done such a thing before? If so, could you give me some
advise or send me your dhclient.conf? Would I be better off with a
newer dhcp than the one shipped with NetBSD-1.5?

Feico.

PS: For those interested, here's a tcpdump of a windows DHCP request:

12:57:04.547821 0.0.0.0.68 > 255.255.255.255.67:  [udp sum ok] xid:0x10723c77
vend-rfc1048 dhcp-msgtyp:3 dhcp-cliid:1.0.1.2.159.93.179 dhcp-reqipaddr:x.x.x.x
HN:"I7O7O8^@" T81:0,18688,20279,20279,56 dhcp-classid:77.83.70.84.32.57.56
dhcp-prmreq :1.15.3.6.44.46.47.43.77 (ttl 128, id 1024)

I think I need at least the dhcp-cliid, dhcp-classid and maybe the T81
in NetBSDs request, which currently looks like:

15:32:13.697995 0.0.0.0.68 > 255.255.255.255.67:  [udp sum ok] xid:0x9e5ce522 secs:5
vend-rfc1048 dhcp-msgtyp:3 dhpc-srvid:21 2.142.28.66 dhcp-reqipaddr:x.x.x.x 
dhcp-prmreq:1.28.2.3.15.6.12 [tos 0x10] (ttl 16, id 0)