手头拥有四块DLINK 530网卡,其中一块连接外网,其余三块用于内网——这恰好是一个典型的OpenBSD多网段DHCP部署场景。假设外网接口为vr0,对应公网IP段59.108.38.*;内网分别接入三台交换机,子网规划如下:vr1负责192.168.1.0/24,vr2负责192.168.2.0/24,vr3负责172.16.71.0/24。现在,我们将利用OpenBSD 4.3自带的DHCP服务,为这三个内网段自动分配IP地址。
直接查看配置文件,重点在于 /etc/dhcpd.conf。需要特别注意的是,OpenBSD的dhcpd并不支持ddns-update-style等冗余参数,因此需将这两行注释掉。全局配置相当简洁:默认租约时间为10小时,最长20小时,DNS服务器指向公网的59.108.38.195。接着,为每个内网段定义了一个shared-network块,便于后续扩展维护。
1. /etc/dhcpd.conf 完整配置
以下是一份可直接使用的实际配置,贴出供参考:
default-lease-time 36000;
max-lease-time 72000;
option domain-name-servers 59.108.38.195;
#ddns-update-style ad-hoc;
#log-facility local7;
# for admin vr1
shared-network Admin-NET {
option domain-name "atyu30.com";
subnet 192.168.1.0 netmask 255.255.255.0 {
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
range 192.168.1.10 192.168.1.200;
}
}
# for office vr2
shared-network Office-NET {
subnet 192.168.2.0 netmask 255.255.255.0 {
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
range 192.168.2.50 192.168.2.150;
}
}
# for Server vr3
shared-network Server-NET {
subnet 172.16.71.0 netmask 255.255.255.0 {
option broadcast-address 172.16.71.255;
option routers 172.16.71.1;
range 172.16.71.50 172.16.71.150;
}
}
host Gate-OpenBSD {
next-server 192.168.1.100;
hardware ethernet 00:0E:7B:37:96:6C;
fixed-address 192.168.1.120;
}
注意最后的host声明用于给网关机器(即这台OpenBSD服务器)绑定固定地址。如果还有其他设备需要保留IP,可以继续追加host块。
2. 启动DHCP服务
要使其运行起来,首先需要创建租约数据库文件:
touch /var/db/dhcpd.leases
然后指定需要监听的接口。这里仅对三个内网接口提供服务,外网vr0不参与:
dhcpd vr1 vr2 vr3
若希望系统启动时自动运行DHCP服务,可在/etc/rc.conf.local中添加以下一行:
dhcpd_flags=""
同时,还需要/etc/dhcpd.interfaces文件来告知dhcpd守护进程监听哪些接口。该文件内容为每行一个接口名,注释部分可忽略:
vr1
vr2
vr3
至此,三个内网子网的DHCP分配已配置完毕。外网接口不做DHCP,各内网段的地址池范围和路由器网关均清晰明确,租约时长也设置合理——这套方案在小型网络中运行稳定,值得在实际环境中尝试。
