[plug] getting DHCP results into system environment

Craig Ringer craig at postnewspapers.com.au
Mon Jul 29 15:34:28 WST 2002


I was wondering if anybody here has worked much with kernel-level 
autoconfiguration of network interfaces. I have everything working 
happily, but there doesn't seem to be a way to access the extra info in 
the DHCP reply from user-space. Ideally I'd like to be able to find 
things like the xdm server set in the dhcp reply as DHCP_XDM_SERVER in 
the environment.

Using pump or dhcpcd doesn't seem to be the way to go, as I need env 
variables exported across the entire system. I'm trying to be able to do 
things like start X automatically on boot with "X -query 
$DHCP_XDM_SERVER" - that sort of thing.

Ideas, anybody?

There are possibly security ramifications to doing this, of course. With 
thin clients I have two choices, both somewhat nasty: use dhcp to set 
the configuration or do it in the nfs-mounted root dir. Both can be 
spoofed using a second DHCP server, so there isn't much to be done about 
it. In the end it does little harm though - the clients won't boot right 
, but no data will be compromised so I'm not too worried. I can just 
hunt down the guy with the laptop and have him executed...

What I'd _love_ to see would be a kernel that could boot, get an addr 
using DHCP and then use IPSec to authenticate against the server before 
mounting / and continuning to boot over an authenticated (but probably 
unencrypted) link.

Other than this and a bit of an issue with swap on machines with < 24MB 
of RAM (no network swap support and no local disks). In many cases it 
would be possible to use the local disk for swap I guess but I don't 
have that option. One of my test machines is our cold-spare SCO accounts 
sytem box (*gag*) and the other main one is a 486 running win95 which 
needs to stay untouched. So if anybody has any ideas about how to get 
network swap of some form working with linux, I'm all ears.

-- 
Craig Ringer
GPG Key Fingerprint: AF1C ABFE 7E64 E9C8 FC27  C16E D3CE CDC0 0E93 380D
	-- if it ain't broke, add features 'till it is. (or:)
	while (! broken) { features ++ ; broken = isBroken(features) }




More information about the plug mailing list