mggc> I've got the (ubiquitous?) home LAN setup, with OpenBSD 3.7 as my
mggc> firewall/gateway/router.  (I know, need to upgrade.)

mggc> I got a laptop, and decided that I'd like to run a dhcp server on
mggc> the OpenBSD box (didn't want to update a bunch of /etc/hosts files).
mggc> Also, my ISP kept changing their DNS servers, so I had to update
mggc> /etc/resolv.conf on every box several times.

mggc> Now I'm thinking that the "least maintenance" approach is to have
mggc> the OpenBSD box run named and dhcpd, and have all the other boxes be
mggc> dynamically configured.

mggc> I've got dhcpd and named working, but they are not talking to each
mggc> other.  In other words, I don't know how to have named updated by
mggc> dhcpd.

You can setup dhcpd thus it would assign fixed ip address to each
machine by it's mac. Than create static zone for bind on your router.
All other machines would be it's clients.

There's a huge field what can be done else. Some time ago I had the
same network. I had "core" file, which contained an information of all
my hosts (hostname,ip,mac). My scripts generate dhcpd.conf and a zone for
bind.

Now I have an other network in other place. First I assigned static
IPs to all hosts, then a zone for bind. Then i wrote a short script,
which created a dynamic part of dhcpd.conf:

[EMAIL PROTECTED] scripts]# cat arp2dhcp.pl
#!/usr/bin/perl

@hosts = `arp -a`;
$int_if = "rl0";

foreach $host (@hosts) {
    chomp($host);
    $host =~ s/\(//g;
    $host =~ s/\)//g;
    @words = split(/ /,$host);
    if($words[5] eq $int_if) {
        if($words[0] ne "?") {
            if($words[3] ne "incomplete") {
                $hostname = $words[0];
                $ip = $words[1];
                $mac = $words[3];
                @hn = split(/\./,$hostname);
                $shortname = $hn[0];
                print "host $shortname\t{hardware ethernet $mac;fixed-address 
$ip;}\n";
            }
        }
    }
}

There are a lot of ways to go, please chose your one

Reply via email to