linux的DHCP
Posted 遙遙背影暖暖流星
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的DHCP相关的知识,希望对你有一定的参考价值。
linux的DHCP
一,DHCP的工作原理
1、DHCP的概念
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
本次实验环境我们利用一台虚拟机,在上面设置dhcp使其成为一台软路由,成功向其他虚拟机分配ip地址
2、端口
客户端向68端口(bootps)广播请求配置,
服务器向67端口(bootpc)广播回应请求
1、DHCP Client以广播的方式发出DHCP Discover报文。
2、有的DHCP Server都会给出响应,向DHCP Client发送一个DHCP Offer报文。
3、DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。
4、DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文。
4.1、DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。
4.2、DHCP Client在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址
3、DHCP的租期
(1)租约期限到达50%时,DHCP客户端就会请求更新IP地址租约
(2)租约期限到达87.5%时,还没有收到服务器相应,会申请重新绑定IP
(3)如果IP租约到期前都没有收到服务器的响应,客户端停止使用此IP地址
(4)DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE 报文,释放该IP地址
(5)87.5%时并不是直接释放ip地址,若回应UNack,则先回到RELEASE。时间到到100%才释放ip地址,并回到第一步发discover的状态
4、dhcp的安装
能上网的情况下(NAT,或则vmnet8)
yum -y install dhcp
发现被占用,则利用进程号先干掉占用,kill -9 25673
再 yum -y install dhcp
5、linux的DHCP配置文件,与日志目录
(1)租期配置文件 /var/lib/dhcpd/dhcp.leases
(2)dhcp的日志目录 /var/log/messages
(3)dhcp的配置文件 /etc/dhcp/dhcpd.conf
cat -n /var/log/messages | grep dhcp |tail -50
二、仅主机模式下,利用dhcp给一台linux和一台window7的虚拟机分配ip
确保和两台linux系统的都安装了dhcp和httpd后,将模式切换为仅主机模式,主机一做服务端,主机二和window7做客户端;主机一有自己的ip,主机二的为dhcp分配
1、将防火墙和网络管服务关闭
systemctl stop firewalld.service //关闭防火墙
systemctl stop NetworkManages //关闭网络管理服务
2、将主机一设置为仅主机模式,并修改配置文件
(1)网卡配置文件的修改
将网段设置为192.168.120.0 ,dhcp不勾选
修改 vim /etc/sysconfig/network-scripts/ifcfg-ens32 为一个固定的ip
`
systemctl restart network //修改配置后重启
ifconfig //查看网卡配置是否成功
(2)dhcp配置文件修改
rpm -qc dhcp //查看配置文件所在位置
(1)复制配置内容
vim /etc/dhcp/dhcpd.conf ,编辑配置文件时,只有以下内容,需要去/usr/share/doc/dhcp*/dhcpd.conf.example 查看具体示例
实际在我们需要将/usr/share/doc/dhcp*/dhcpd.con里内容复制过来到/etc/dhcp/dhcpd.conf中
cp -p /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf // 复制并覆盖
vim /etc/dhcp/dhcpd.conf
保存
systemctl start dhcpd //启动服务
netstat -anup | grep 67 //查看状态
若启动失败则
执行systemctl status dhcpd看看详细的错误原因,看一下是不是标点符号或者空格原因,需严格按照原来示例修改,少一个空格也不行的哦
(3)设置window虚拟机让其自动获取ip
window 选择仅主机模式,只有vmnet2启用dhcp
这时要释放再重新获取
ipconfig /release
ipconfig /renew
(4)设置主机二
vim /etc/sysconfig/network-scripts/ifcfg-ens32
systemctl restart network 重启网络
三、分配固定ip
1、修改服务机的配置文件
windows 网卡mck地址
ipconfig /all
vim /etc/dhcp/dhcpd.conf ,绑定地址
systemctl restart dhcpd //重启服务
2、客户机上重新获取ip
得到设置的固定ip
四、中继实验
待补充
以上是关于linux的DHCP的主要内容,如果未能解决你的问题,请参考以下文章