In order to keep the network documented and avoid confusion, the goal is to hand out almost all addresses by a DHCP/DNS combination.
Here's one example network with 2 subnets on 1 physical wire. There are DNS zones configured in "bind" for both subnets.
- video.local: 192.168.200.x/24
- storage.local: 192.168.201.x/24
Code: Select all
subnet 192.168.200.0 netmask 255.255.255.0 {
authoritative;
option domain-name "video.local";
option domain-name-servers ns1.video.local, ns2.video.local;
option router-discovery false; # Don't auto-detect routers (RFC 1256)
# multi-DHCP:
pool {
#failover peer "dhcp-failover";
default-lease-time 216000; # 2.5 days
max-lease-time 259200; # 3 days
range 192.168.200.200 192.168.200.250;
}
}
Code: Select all
subnet 192.168.201.0 netmask 255.255.255.0 {
# Only fixed-address will be assigned in this network.
# Dynamic leases will be offered for video-subnet only.
}
Code: Select all
shared-network video {
subnet 192.168.200.0 netmask 255.255.255.0 {
....
}
subnet 192.168.201.0 netmask 255.255.255.0 {
....
}
}
Except for temporary hosts/guests, all IPs are assigned by MAC address. For example:
Code: Select all
host ferry-X {
hardware ethernet 00:25:90:xx:xx:xx;
fixed-address ferry-X.video.local;
}
host bbX {
hardware ethernet 00:25:90:xx:xx:xx;
fixed-address bbX.storage.local;
}
If you like, you can wrap "group" around the hosts per-subnet, to assign different nameservers, gateways/routers, etc.
For example:
Code: Select all
group {
option routers inet.video.local;
host ferry-X {
hardware ethernet 00:25:90:xx:xx:xx;
fixed-address ferry-X.video.local;
}
}
group {
option domain-name "storage.local";
option domain-name-servers ns1.storage.local, ns2.storage.local;
option routers inet.storage.local;
host bbX {
hardware ethernet 00:25:90:xx:xx:xx;
fixed-address bbX.storage.local;
}
}