减少管理员的工作量
避免输入错误的可能
避免IP地址冲突
当更改IP地址段时,不需要重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置
自动分配:分配到一个IP地址后永久使用
手动分配:由DHCP服务器管理员专门指定IP地址
动态分配:使用完后释放该IP,供其它客户机使用
1:discover 请求IP地址 客户===>服务端 广播
2:offer 服务器回应可用IP信息(可用IP,子网掩码,网关,dns,租约期限) 服务器===>客户端 广播
3:request 客户端请求确认可用IP 客户端===>服务端 广播
特殊情况:如果offer中的IP被占用 直接回应noack===>又会从头开始
4:ack 服务端确认IP可用 服务端===>客户端 广播
租约期限 8天 租约期限过半 续约 第五天
获取169.254.0.0/24===>DHCP挂掉了就会获取这个地址
当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器
DHCP客户机从接收到第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机
续约request阶段是单播
DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的消息
当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化
DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而且时直接发送包含前一次所分配的IP地址的DHCP Request请求信息
当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本、提高网络配置效率
网卡的IP地址、子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址
CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm
DHCP软件包的主要文件
主配置文件:/etc/dhcpd.conf===>决定了功能cfg跟conf格式的
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay===>相当于命令文件;启动脚本
ddhs-update-style interim; ===>全局配置参数—针对整个服务器生效
…
subnet 192.168.0.0 netmask 255.255.255.0{ ===>网段声明
option routers 192.168.0.1; ===>配置选项
…
default-lease-time 21600; ===>配置参数
…
host ns{ ===>主机ns,ns是名字随便取
…
fixed-address 207.175.42.254; ===>主机声明固定地址绑定mac地址是唯一的身份信息
}
}
ddns-update-style none; ===>禁用dns动态更新
default-lease-time 21600; ===>默认的租约期限(秒)
max-lease-time 43200; ===>最大的租约期限(秒)
option domain-name “domain.org”; ===>域名
option domain-name-server 202.106.0.20; ===>分配一个dns的地址给主机
fange参数:设置用于分配的IP地址池
option subnet-mask参数:设置客户机的子网掩码
option routers参数:设置客户机的默认网关地址
[root@localhost ~]# vi /etc/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0{
range 192.168.4.128 192.168.4.131;
option subnet-mask 255.255.255.0;
option routers 192.168.4.1;
}
hardware ethernet 参数:指定对应主机的MAC地址
fixed-address 参数:指定为该主机保留的IP地址
host partsvr{
hardware ethernet 00:c0:c3:22:46:81;
fixed-address 192.168.4.100;
}
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# netstat -anpu | grep “:67”
udp 0 0 0.0.0.0:67 0.0.0.0;0 5684:dhcpd
UDP协议的端口
服务器server===>67端口 客户端client===>68端口
[root@hostname ~]# less /var/lib/dhcpd/dhcpd.lease
lease 192.168.4.131{ ===>分配的客户端IP
start 4 2017/05/11 17:27:15; ===>租期时间
ends 4 2017/05/11 23:27:15;
cltt 4 2017/05/11 17:27:15;
binding state active;
hardware ethernet 00:0c:29:3b:ff:76; ===>客户端MAC地址
}
当企业的内部网络规模较大时,通常被划分为多个不通的子网,网络内配置了VLAN,VLAN能隔离广播,而DHCP协议使用广播
DHCP服务器在VLAN 100中,就只有VLAN 100内的客户机能从在此获取IP地址
如果VLAN 2或VLAN 3的客户机也需要通过这台DHCP服务器来获取IP地址,应该怎么办?
两种解决办法
为每个网段安装一台DHCP服务器,但这种方式存在资源上的浪费,而且不利于集中管理
在连接不通网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN之间转发,让其他VLAN的客户机也能从DHCP服务器获得IP地址