linux的DHCP

Posted 遙遙背影暖暖流星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

linux的DHCP

linux网络设置DHCP原理DHCP安装DHCP中继配置

Linux系统服务之dhcp

[linux][c/c++]代码片段01

如何在linux下搭建dhcp服务器?最关键的配置文件有哪几个?分别有啥用?一般在linux下搭

Linux命令:dhcp配置