DHCP 即动态主机配置协议,DHCP为互联网上主机提供配置参数。DHCP是基于Client/Server工作模式,DHCP服务器为需要动态配置的主机分配IP地址和提供主机配置参数,如子网掩码,网关,DNS,租期等。
DHCP有三种机制分配IP地址:
1) 手工配置,由网络管理员给客户端指定IP地址。管理员可以通过DHCP将指定的IP地址发给客户端。
2) 自动分配,DHCP给客户端分配永久性的IP地址;
3) 动态分配,DHCP给客户端分配过一段时间会过期的IP地址(或者客户端可以主动释放该地址);
三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。现在在企业中用的最多的还是手工配置(地址绑定)和动态分配
客户端获取地址的流程:
客户端 dhcpdiscover ---》 dhcp服务器
dhcpoffer 《-----
dhcprequest ----》
dhcpack 《----
以上四种包都为广播包
租期确定
1.重新启动时会发送 dhcprequest
2. 50% 再次发送dhcprequest 得不到服务器响应地址也还可以使用
3. 87.5% dhcpdiscover 此时如果还得不到回应则重复(4步骤) 100% 终止使用
配置文件 /etc/dhcpd.conf
作用域 subnet 范围 {
option router 网关;
option domain-name-server dns服务器列表;
range 起始地址 结束地址;
绑定 host 名称1 {
绑定的ip地址;
绑定的mac地址;
}
绑定 host 名称n {
绑定的ip地址;
绑定的mac地址;
}
}
同一个局域网内为客户分配不同网段的地址或客户端多个时使用 超级作用域
shared-network 名称 {
基本作用域1 subnet 范围{
......
}
基本作用域n subnet 范围{
......
}
}
示例一
因为在地址的获取过程中所发送的包都是广播包,而在一个局域网段中又没有dhcp服务器存在时路由器不允许广播包通过,所以此时要使用dhcp中继勒
dhcp 中继
dhcp clinet dhcpserver 不在同一个网段
1)路由器可以实现
DHCP中继的实质
广播报 ---》单播包
2)linux 平台下实现中继
服务器的配置:
安装 dhcp-3.0.5
vim /etc/dhcpd.conf
service dhcpd configtest //测试语法
service dhcpd restart //重启服务
linux中继所做配置:
安装dhcp服务
rpm -ivh dhcp-3.0.5
编辑 /etc/sysconfig/dhcrelay
interface="客户接口 服务其接口“
server=”dhcp 服务器地址“
service dhcrelay configtest //测试
chkconfig dhcrelay on
server dhcrelay start
server dhcrelay configtest
打开数据包转发功能
echo "1" >/proc/sys/net/ipv4/ip_forward
或编辑 /etc/sysctl.conf
net.ipv4.ip_forward =1
ssysctl-p
3)windows2003平台下实现dhcp中继
程序--->管理工具---->路由和远程访问--->右击win2003--->配置并启用路由和远程访问选项--->下一步--->自定义配置--->LAN路由--->下一步---->完成
在win2003下找到IP路由选择--->常规--->新增路由协议--->DHCP中继代理程序(此时win2003下多了一个DHCP中继代理程序)
在win2003下找到DHCP中继代理|右击--->新增接口--->选你本机连接的需要代理的网段的接口
DHCP 中继代理程序--->属性--->服务器地址
客户的分类
class "名称" {
match if substring (option vendor-class-identifier,0,4) = "dvdsl";
spawn with option agent.circuit-id;
lease limit 16;
}