目录
DHCP概念作用
概念:dhpc即动态主机设置协议,是一个局域网的网络协议,使用UDP协议工作,主要是给网络快速自动地分配IP地址,DHCP能够帮助我们将IP地址和相关IP信息分配给网络中计算机。
作用:动态分配网络参数(IP、网关、域名、MAC地址等)
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。
DHCP工作原理
1. 获取网络参数
第一步:客户端搜索DHCP服务器
客户端通过广播发送DHCP Discover 报文寻找服务器端
第二步:DHCP服务器提供四种和配置文件
服务端通过单播(华为的路由器使用的是单播,其他使用的是广播)发送DHCP offer报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的IP地址分配给客户端
第三步:客户端接受并广播
如果有多台DHCP服务器向该客户端发来DHCP-offer报文,客户端只会接收第一个收到的DHCP-offer报文并提取IP地址,然后客户端通过广播发送DHCP-request,报文告知服务端本地选择使用该IP地址
第四步:DHCP服务器确认请求
服务器通过广播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息。
2. 重新登录
客户端:DHCP客户机每次重新登录网络时不发送discovery,直接发送request包,要求之前分配 的网络参数
服务端:若之前的网络参数未被占用,则发送ack包分配网络参数 若之前的网络参数被占用,则 发送nack包,客户端重新discovery
3. 租约更新:当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约 如果更新成功则租约剩余时间恢复最大值 更新不成功,则租约期限再过半时(75%)时,向服务器发送request包,请求更新租约 如成功则租约剩余时间恢复最大值 更新不成功,继续使用至租约到期,客户端地址失效,重新发送discovery包获取新的网络参数
DHCP服务
软件包名:dhcp
服务名: dhcpd
配置文件解析:
全局配置 :对整个DHCP服务都生效
网络声明:
仅对指定的网络生效
subnet : 网络
netmask : 子网掩码
range : 指定的地址池(使用空格隔开)
option routers: 指定为客户端分配的网关地址
主机声明
仅对当前指定的主机生效
host : 自定义名称
hardware ethernet : 指定客户端的MAC地址
ifconfig
dmesg | grep e1000
fixed-address : 指定为客户端分配的固定IP地址或域名
配置DHCP服务器
一. 准备环境
服务器:
1. 首先关闭防火墙:
iptables -F
setenforce 0
systemctl stop firewalld
2. 配置yum源并查看挂载准备安装dhcp
然后查看并修改ens33网卡配置文件命令 :vim /etc/sysconfig/network-scripts/ifcfg-ens33 保存退出后断开网卡并再次连接
3. 安装DHCP:
命令 :yum install -y dhcp
下一步输入命令 :rpm -ql dhcp 打开dhcp找到 /etc/dhcp/dhcpd.conf
随后vim进入/etc/dhcp/dhcpd.conf 进入之后找到/usr/share/doc/dhcp*/dhcpd.conf.example 将它复制覆盖到/etc/dhcp/dhcpd.conf下
复制命令:cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 随后确认覆盖
覆盖完成之后再次vim进入dhcp下 命令:vim /etc/dhcp/dhcpd.conf 进入之后找到修改配置项
# A slightly different configuration for an internal subnet.
subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 10.5.5.1;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}
服务器端:
[root@localhost~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 { #设置网段
range 192.168.1.10 192.168.1.100; #分配的地址范围
option domain-name-servers192.168.1.254; #DNS服务器
option domain-name "hr.com"; #设置DNS域名
option routers 192.168.1.254; #网关
default-lease-time 600; #默认租约时间
max-lease-time 7200; #最大租约时间
}
下面修改配置 网段设置192.168.10.1 网卡192.168.10.254 地址范围10--20 随后保存退出
输入命令systemctl restart dhcpd 重置服务器
客户机:
修改配置文件获取方式改为自动 并在IP地址 子网掩码 网卡前加“#”号使其检测不到 然后保存退出
退出之后输入命令 :ifdown ens33 && ifup ens33 断开网卡并重新连接 随后ifconfig查看是否获取IP
DHCP中继服务
原理 :可以实现跨网段分配网络参数
要点 :
在DHCP服务器的配置文件中再声明一个网段,且必须包含服务器ip所在的网段声明
涉及到跨网段,必须指定网关
网关服务器开启路由转发
实现步骤
服务器端 : 声明两个网段
指定网关
中继服务器 :
开启路由转发:
文件路径:/etc/sysctl.conf
输入内容:net.ipv4.ip_forward=1
刷新查看 :sysctl -p
指定DHCP服务器,支撑中继功能 :
安装dhcp服务
指定dhcp服务器
dhcrelay (服务器IP地址)
客户端
重新获取IP地址
实验案例:
实现跨网段分配IP地址参数
要求:
本网段为192.168.20.0网段,服务器IP地址自行指定
其他网段为192.168.30.0网段,客户端可以得到的IP地址为192.168.30.50
首先进入到服务器中根据题目修改当前服务器的配置文件
服务端检查挂载随后安装DHCP 命令为yum -y install dhcp
下一步查看dhcp路径 命令为 rpm -ql dhcp
找到/etc/dhcp/dhcpd.conf 并使用vim进入
系统会给提示找到/usr/share/doc/dhcp*/dhcpd.conf.example这一行模班文件把它复制 覆盖到 /etc/dhcp/dhcpd.conf 下并y进行确定 再次进到vim /etc/dhcp/dhcpd.conf下
写入要求的IP网卡信息 并保存退出
输入Systemctl restart dhcpd 重启服务器
然后进入到中继机修改题目要求的ens33和ens36网卡的配置信息ip与网关达到一致
然后输入ifdown ens33 && ifup ens33 和ifdown ens36 && ifup ens36断开重新连接网卡并输入ifconfig查看
接下来安装中继机的dhcp yum -y install dhcp
安装完成之后输入vim进入到 /etc/sysctl.conf里面在最后一行写入net.ipv.ip_forward=1保存退出 开启路由转发
随后sysctl -p刷新查看 显示net.ipv.ip_forward=1就表示完成了
然后在中继机去指定服务器ip输入 dhcrelay192.168.20.1
随后再去指定路由为服务器 输入route add -net 192.186.30.0/24 gw 192.168.20.1
随后进入到客户机尝试断开网卡再次连接
成功之后查看客户机网卡是否获取了192.168.30.50 ip