DHCP原理及中继原理及配置!
一.概念
DHCP:动态主机配置协议,由internet工作任务小组设计开发,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议;使用的udp67、68端口,服务器端使用67/udp,客户端使用68/udp。
二.DHCP的好处
减少管理员的工作量
避免输入错误的可能
避免IP地址冲突
当更改IP地址段时,不需要重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置
为大量客户机自动分配地址,提高集中管理
减轻管理和维护成本,提高网络配置效率
三.DHCP的分配
1.DHCP的分配方式
自动分配:分配到一个IP地址后永久使用
手动分配:有DHCP服务器管理员专门制定IP地址
动态分配:使用完后释放该IP,供其他客户机使用
2.DHCP的可分配信息
网卡的ip地址、子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址
四.DHCP的工作原理(租约过程)
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程,分为四个步骤
① 客户端从零开始,所以源ip:0.0.0.0,不知道目标ip,所以需要发广播,目标地址:255.255.255.255,源端口:68,目标端口:67;
② 客户端发现DCHP服务器,源ip:DHCP服务器,仍需要发送广播,目标ip:255.255.255.255,源端口:67,目标端口offer同时携带ip地址、网关、dns等参数;
③ 因为广播域中不止存在一台DHCP服务器,有多台DHCP都向服务器发送的offer时,客户端需要发广播,源ip:0.0.0.0,目标ip:255.255.255.255,且默认服务器确认收到的第一个offerr,其余offer不接收,源端口:68,目标端口:67;
④ 是服务器需要跟客户端再次确认IP地址,所以还是发广播。第四步结束之后才获得IP地址。
再三广播确认是因为使用的是UDP协议,UDP协议本身是不稳定的,需要再三确认;若使用的TCP协议的话,本身TCP协议的搭建在三次握手的基础上,在很稳定的基础上就可以直接获得ip地址。
五.DHCP的租期
租期是整个DHCP过程的基础,DHCP服务器提供每个IP地址都有相应的租用期。
IP租约期限到达50%时,DHCP客户端就会请求更新IP地址租约;
DHCP客户端在租约期限到达87.5%时,还没有收到服务器相应,会申请重新绑定IP;
如果IP租约到期前都没有收到服务器的响应,客户端停止使用此IP地址;
如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE 报文,释放该IP地址
需要说明一点的是,并不是到87.5%就释放了,若回应UNack,先回到RELEASE,时间到了100%,IP地址释放,再回到DISCOVER状态。
六.DHCP租约配置文件和日志目录
租约配置文件
/var/lib/dhcpd/dhcpd.leases
日志目录
/var/log/messages
[root@xu ~]# tail -f /var/log/messages
May 30 12:48:01 xu systemd: Started Session 8968 of user root.
May 30 12:48:01 xu systemd: Started Session 8965 of user root.
May 30 12:48:01 xu systemd: Started Session 8967 of user root.
May 30 12:48:01 xu systemd: Started Session 8966 of user root.
May 30 12:48:01 xu systemd: Started Session 8970 of user root.
May 30 12:48:01 xu systemd: Started Session 8969 of user root.
May 30 12:48:01 xu systemd: Started Session 8971 of user root.
May 30 12:48:01 xu systemd: Started Session 8972 of user root.
May 30 12:48:04 xu chronyd[6120]: Selected source 139.199.215.251
May 30 12:49:37 xu journal: g_simple_action_set_enabled: assertion 'G_IS_SIMPLE_ACTION (simple)' failed
May 30 12:50:02 xu systemd: Started Session 8973 of user root.
May 30 12:50:02 xu systemd: Started Session 8974 of user root.
May 30 12:50:02 xu systemd: Started Session 8975 of user root.
七.DHCP配置
1.搭建DHCP 服务给客户机自动分配ip
准备3台虚拟机,2台linux1台win10,其中一台linux做dhcp服务器。
(1)dhcp服务端选择nat模式,下载dhcp安装
[root@xu ~]# hostname dhcp
[root@xu ~]# bash
[root@dhcp ~]# yum -y install dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.cs.nctu.edu.tw
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-82.el7.centos 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
dhcp x86_64 12:4.2.5-82.el7.centos base 515 k
事务概要
================================================================================
安装 1 软件包
总下载量:515 k
安装大小:1.4 M
Downloading packages:
dhcp-4.2.5-82.el7.centos.x86_64.rpm | 515 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 12:dhcp-4.2.5-82.el7.centos.x86_64 1/1
验证中 : 12:dhcp-4.2.5-82.el7.centos.x86_64 1/1
已安装:
dhcp.x86_64 12:4.2.5-82.el7.centos
完毕!
您在 /var/spool/mail/root 中有新邮件
[root@dhcp ~]# rpm -q dhcp
dhcp-4.2.5-82.el7.centos.x86_64
再把模式改成仅主机模式
查看
(2)设置相关配置文件
[root@dhcp ~]# cp -p /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.nat
[root@dhcp ~]#
[root@dhcp ~]#
[root@dhcp ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@dhcp ~]# systemctl restart network
[root@dhcp ~]#
[root@dhcp ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST