1、从linux光盘拷贝dhcp-3.0.5.e15.i386.rpm(我的是RHEL5)
2、安装:rpm -ivh dhcp-3.0.5.e15.i386.rpm
安装完成后用rpm -qa|grep dhcp查看是否成功
3、拷贝示例文件覆盖原配置文件(原配置文件是空的),执行如下:
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcp.conf
4、编辑/etc/dhcp.conf配置文件
ddns-update-style interim; //动态DNS的更新方式,必须添加,否则服务器无法启动
subnet 192.168.0.0 netmask 255.255.255.0 { //定义网段的服务范围,与服务器所在IP段在同一范围
option routers 192.168.0.1; //默认网关
option subnet-mask 255.255.255.0; //子网掩码
option domain-name "happyboy.net.cn"; //域名,在分配给主机ip时同时自动给主机添加域名后缀
option domain-name-servers 202.96.128.86,202.96.134.33; //DNS服务器,多个地址用逗号隔开
range 192.168.0.2 192.168.0.99; //地址池范围,注意已经使用的固定地址要排除在外
default-lease-time 21600; //该ip默认使用期
max-lease-time 43200; //该ip最长使用有效期,意味着过了默认有效期还可以用
(43200-21600)s这么久。
host mail { //host定义了下面是静态分配,mail是这条静态的描述符。
告诉我们下面这条静态ip分配是给mail这台主机的
hardware ethernet 00:03:FF:B6:9E:AB; //这部分定义了静态地址,mac与IP绑定,该IP地址
不要放在地址池中,每个静态地址要建一个host
fixed-address 192.168.0.200;
}
}
5、设置DHCP服务开机就运行
chkconfig --level 3 dhcpd on
6、跨网段提供DHCP服务
I.如果提供dhcp服务的主机本身连接了多个不同网段(比如用linux主机做网关或路由器配多张网卡)
分别连接需要DHCP客户端所在的每个网段我们就采取配置dhcp服务器超级作用域来实现跨网段
提供DHCP服务
II.如果提供dhcp服务的主机只在其中一个网段中(即单网卡),通过路由器等设置与其他网段的DHCP
客户端连接我们就可以采取中继代理的方法来实现跨网段提供DHCP服务
超级作用域配置:
shared-network test {
........
........
subnet 192.168.1.0 netmask 225.255.255.0 {
............
............}
subnet 192.168.2.0 netmask 225.255.255.0 {
............
............}
}
中继代理配置:
DHCP中继代理用来帮助转发DHCP客户端与DHCP服务器之间的广播包,所以就需要
让路由器开启转发数据包(路由器必须的)和DHCP中继代理功能
I.修改/etc/sysctl.conf
将 net.ipv4.ip_forward= 0改为1;用sysctl -p命令使其设置生效;
II.修改/etc/sysconfig/dhcrelay
INTERFACES="eth0 eth01 eth2" //向哪些接口提供服务
DHCPSERVERS="192.168.1.1" //DHCP服务器的ip地址
III. /etc/dhcpd.conf 配置和正常情况一样,配置多个subnet。
7、超级作用域和中继代理的多作用域分配IP地址问题:DHCP SERVER如何才能正确的分配
给子网A的主机IPA,分配给子网B的主机IPB呢?
I、在中继代理模式时
客户端发送的广播请求被具有中继代理功能的路由器收到后检查请求包信息中的网关IP地址,
如果其网关地址是0.0.0.0则路由器用接收该信息的接口IP地址代替,然后转发到DHCP
SERVER上。当DHCP SERVER收到请求后开始检查消息中的网关IP地址,然后判断该网关
地址是否包含在DHCP的某一个作用域范围内,从而决定它是否可以使用相应的作用域的地址
来提供IP地址租约。
II、在超级作用域模式时
其原理跟中继代理是不一样的,它主要用在单个或多个物理网络扩展IP地址池,它分配IP
地址时不会判断那台主机属于哪个网络而去分配一个同网段的IP给主机用。这样就会造成
主机IP与所在网络不能通信,需要依靠路由来解决问题。
8、配置好/etc/dhcpd.conf之后我们可以运行:dhcpd这个命令来检查配置文件的一些输入错误
或语法错误还有逻辑错误(比如地址池与网段不一致)。
9、查看/var/lib/dhcpd/dhcpd.leases文件可以看到已经分配出去的IP地址等相关信息。
10、重新开机和禁用网卡再启用网卡都是要释放IP然后再重新获取IP。如果这时断开与DHCP
SERVER的联系,那么windows客户端则设置成缺省IP。租约期的default和max只是在主机
没有重启或禁用网卡时才有效,这时租约过期还可以用到max,租约没过期但失去与DHCP
SERVER联系时IP地址还可以继续用。