最近在搞dhcp服务器,多网段,还有option的几个选项,成功后贴出我的配置,和大家分享,不足之处还请大家多多指点。
红帽系(包括fedora)的dhcpd配置文件一般都是/etc/dhcpd.conf ,其租约文件一般是/var/lib/dhcpd/dhcpd.leases
启动命令/etc/init.d/dhcpd restart 或 service dhcpd restart,再基础点的东西我就不说了,大家可以自己看书或上网搜资料。以下是我的/etc/dhcpd.conf 配置:
[root@ zeyark]# more /etc/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
ddns-update-style interim; # ddns-update-style (none|interim|ad-hoc):定义所支持的DNS动态更新类型,该参数 #必选且必须放在第一行且只能在全局配置中使用。
allow client-updates; #允许/忽略客户机更新DNS记录
option classless-static-routes code 121 = array of unsigned integer 8; #定义能根据option 121 (RFC 3442)下发路由
set vendor-string = option vendor-class-identifier; #使能在租约文件下看到设备标识(option 60)
shared-network DHCPnet { #定义广域共享的DHCP网络
subnet 192.168.1.0 netmask 255.255.255.0 {} #这个子网是你启用dhcpd服务网卡的IP地址所在的子网 例如,你服务器 上网 #卡配的IP地址为192.168.1.121 掩码24,192.168.1.0为这个子网的网络地址 #不配这个启动DHCP服务会有问题,会提示错误,不知 subnet 192.168.1.0 #netmask 255.255.255.0 {}这个网段,这个其实是你服务器网卡地址的网段 #划分子网(变长子网)请自行学习,这里不多讲。
option domain-name “zeyark.net“; #定义一个域名
option domain-name-servers 192.168.1.65 ; # 域名服务器的地址
default-lease-time 86400; #默认租约时间
max-lease-time 172800; #最大租约时间
subnet 172.20.0.0 netmask 255.255.255.0 { #定义多子网地址池这是其中的一个
option routers 172.20.0.1; #下发IP地址的时候的子网地址池网关
option subnet-mask 255.255.255.0; #地址池的子网掩码
option broadcast-address 172.20.0.255; #地址池的广播地址
option classless-static-routes 24,192,168,0, 172,20,0,1, #静态路由中的一种,option121,表示方法比较变态 28,59,52,114,96, 172,20,0,1, 29,59,52,114,120, 172,20,0,1; #其中24,192,168,0, 24是掩码,192,168,0,是网段
} #注意,这里都是逗号,不是点号。我说的变态就是说这个
subnet 172.11.0.0 netmask 255.255.255.0 { #定义另一个地址池
range 172.11.0.2 172.11.0.127;
option routers 172.11.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 172.11.0.255;
option classless-static-routes 24,192,168,0, 172,11,0,1,
28,59,52,114,96, 172,11,0,1, 29,59,52,114,120, 172,11,0,1;
}
subnet 172.21.0.0 netmask 255.255.255.0 { #定义另一个地址池
range 172.21.0.2 172.21.0.127;
option routers 172.21.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 172.21.0.255;
option classless-static-routes 24,192,168,0, 172,21,0,1,
28,59,52,114,96, 172,21,0,1, 29,59,52,114,120, 172,21,0,1;
}
subnet 172.16.11.0 netmask 255.255.255.0 { #定义另一个地址池
class “foo“ {
match if substring (option vendor-class-identifier, 0, 31) = “H3C. H3C ICG2000,“dslforum.org““;
} #定义一个类,按设备标识下发IP地址,即传说中的option 60
pool { #定义一个池,允许设备属于class “foo“这个类的设备获取range #172.16.11.2 172.16.11.127;的地址
allow members of “foo“;
range 172.16.11.2 172.16.11.127;
}
pool { #定义一个池,禁止设备属于class “foo“这个类的设备获取range #172.16.11.128 172.16.11.254里的地址
deny members of “foo“;
range 172.16.11.128 172.16.11.254;
}
option routers 172.16.11.1;
option subnet-mask 255.255.255.0;
option broadcast-address 172.16.11.255;
option classless-static-routes 24,192,168,0, 172,16,11,1,
28,59,52,114,96, 172,16,11,1, 29,59,52,114,120, 172,16,11,1;
}
}