WAVESEC requirements for DHCP server
WAVEsec ClientsBase StationDownloads |
The base station must be set up by the conference organizers. Notebook
users need not concern themselves with these details.
DHCP server requirementsThe DHCP server must be capable of taking a custom DHCP option containing a raw RSA key in DNS format and installing it into a DNS server using dynamic DNS updates. DHCP 3.0.1rc9 with one set of patches can do this. These patches add our custom DHCP option. They should be integrated into some future release. Note that they interfere with the dhcrelay program, but we are working on getting them to play nicely together. The easy way: download our patched dhcpd source. The DHCP server need not be on the same machine as the WAVESEC server. DHCP server setupInstall a patched dhcpdThe server should have the patched dhcpd installed on it. Use the install instructions in the dynamic DNS update FAQ. Custom configure dhcpdOnce you've confirmed that you can update the reverse map with PTR records, then add the following to /etc/dhcpd.conf:
option oe-key code 159 = string;
option oe-gateway code 160 = ip-address;
on commit {
if (not static and
((config-option server.ddns-updates = null) or
(config-option server.ddns-updates != 0))) {
if exists oe-key {
set ddns-rev-name =
concat (binary-to-ascii (10, 8, ".",
reverse (1, leased-address)), ".",
pick (config-option server.ddns-rev-domainname,
"in-addr.arpa."));
set full-oe-key = option oe-key;
switch (ns-update (delete (IN, 25, ddns-rev-name, null),
add (IN, 25, ddns-rev-name, full-oe-key,
lease-time / 2)))
{
default:
unset ddns-rev-name;
break;
case NOERROR:
on release or expiry {
switch (ns-update (delete (IN, 25, ddns-rev-name, null))) {
case NOERROR:
unset ddns-rev-name;
break;
}
}
}
}
}
}
Create empty lease filesRed Hat's dhcpd uses a different lease file location from the standard distribution from ISC. When using Red Hat's /etc/rc.d/init.d/dhcp as the startup script (ISC doesn't install one), the script silently exits if lease files don't exist in the Red Hat location (/var/lib/dhcp/dhcpd.leases). On the other hand, ISC dhcpd exits if /var/state/dhcp/dhcpd.leases does not exist. Solution: create an empty file for each: touch /var/lib/dhcp/dhcpd.leases touch /var/state/dhcp/dhcpd.leases Better solution: make the script and the program agree on the file name. |