1.DHCP服务

1.1DHCP定义
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。

DHCP采用C/S架构,C-client(客户机),S-server(服务器),客户机/服务器架构

DHCP服务对应传输层UDP协议,因为是C/S架构,所以客户机端口号是67,服务器端口号是68

1.2DHCP好处
减少管理员的工作量

避免输入错误的可能

避免IP地址冲突

当更改lP地址段时,不需要重新配置每个用户的IP地址

提高了IP地址的利用率

方便客户端的配置

1.3DHCP作用及特点
DHCP可以自动分配IP、子网掩码、网关、DNS。
DHCP客户端使用的端口68,服务端使用端口67,使用的UDP应用层的协议。
DHCP一般不为服务器分配IP,因为他们要使用固定IP,所以DHCP一般只为办公环境的主机分配IP。
DHCP服务器和客户端需要在一个局域网内,在为客户端分配IP的时候需要进行多次广播。但DHCP也可以为其他网段内主机分配IP,只要连接两个网段中间的路由器能转发DHCP配置请求即可,但这要求路由器配置中继功能。

1.4DHCP的IP地址自动获取工作原理

第一步:客户端在网络中搜索服务器

当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。(客户端通过广播发送DHCP discover 报文寻找服务器)

第二步:服务器向客户端响应服务

在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。因为此时客户端还没有IP,所以返回信息也是以广播的方式返回的。

第三步:客户端向服务端发出服务请求

DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息(存在多个DHCP服务器回应的话,先来的优先),然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。

第四步:服务器向客户端提供服务

当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,确认地址池中的这个地址没有被分配,如果没有被分配便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。如果被分配了 ,就会回复DHCP-NAK报文,告诉CLient 地址已经被分配了。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址。

第五步:获取到IP后广播ARP

当CLient收到服务器分配的地址后,会向这个广播域内发送一个免费ARP的请求,如果没有人响应这个请求,CLient才正式使用这个地址,如果有人回应的话,会返回一个DHCP-Decline报文,要求服务器重新获取地址。

第六步:续租IP

当CLient的IP租期到达一半的时候,DHCP client会单播发送DHCP-Request报文,请求服务器更新租期,服务器收到以后,如果Client可以继续使用该IP地址的话,会响应CLient DHCP-ACK,如果该IP不能继续分配,则响应CLient DHCP-NAK。此时Client会在租期的75%再次询问server 进行续约,如果该IP地址可用则回复ACK,否则回复NAK。

2.linux配置DHCP服务器

2.1取消本地DHCP服务

首先打开虚拟机界面上方的编辑–虚拟网络编辑器,取消“使用本地DHCP服务将IP地址分配给虚拟机”这个选项,保存设置,应用退出。

2.2编辑网卡文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.10.21   //本地IP地址
NETMASK=255.255.255.0    //子网掩码
GATEWAY=192.168.10.2       //默认网关,从上面的虚拟网络编辑器上的NAT设置查询
DNS1=8.8.8.8
DNS2=114.114.114.114
BOOTPROTO=static                 //设置IP为静态IP,非DHCP

启动网络服务

systemctl start network

2.3关闭防火墙、SELinux

systemctl stop firewalld //关闭防火墙
setenforce 0 //临时关闭SELinux

2.4安装DHCP

这里DHCP可以选择本地光盘安装,也可以选择yum 网络安装

yum -y install dhcp    //网络安装

本地安装

mount /dev/sr0 /mnt    //挂载光盘
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak  //让网络源失效
vi CentOS-Media.repo  //修改本地源设置baseurl=file:///mnt    //修改地址为光盘挂载点
enabled=1  //启用本地yum源yum -y install dhcp //这时就会从光盘安装了

查看是否安装完成

[root@localhost ~]# rpm -q dhcp
dhcp-4.2.5-83.el7.centos.1.x86_64

2.5修改本地配置文件

首先要找到名为dhcpd.conf的文件

[root@localhost ~]# find  / -name dhcpd.conf
/etc/dhcp/dhcpd.conf
[root@localhost ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases

发现dhcpd.conf文件在/etc/dhcp/ 下,接下来查看一下该文件

vi /etc/dhcp/dhcpd.conf#
#DHCP Server configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#

会看到该配置文件的路径在 /usr/share/doc/dhcp* 下,因此我们把该路径下的模板文件覆盖到 /etc/dhcp下

cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

再编辑这个文件,设置DHCP相关参数

vi /etc/dhcp/dhcpd.conf

找到 # A slightly different configuration for an internal subnet. 行,用于设置参数

相关参数含义

subnet  //分配IP地址网段
netmask  //子网掩码
range  //分配IP地址范围
option routers  //client默认网关地址
option broadcast-address  //client广播地址
default-lease-time  //默认租约时间,单位为秒
max-lease-time  //最大租约时间

配置

​​​​​​subnet 192.168.10.0 netmask 255.255.255.0 {range 192.168.10.25 192.168.10.55;option routers 192.168.10.254;
}

2.6启动DHCP服务

systemctl start dhcpd  //启动
[root@localhost ~]# systemctl enable dhcpd  //开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
[root@localhost ~]# 

查看服务状态

netstat -antpul |grep dhcpd //查看服务

2.7打开另一台虚拟机修改另一台主机的配置

vim /etc/sysconfig/network-scripts/ifcfg-ens33  //配置网卡

注释掉IP地址,修改        BOOTPROTO=dhcp

2.8取消另一台主机DHCP服务

2.9重启配置网卡

systemctl restart network

2.10查看ens33

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.10.26  netmask 255.255.255.0  broadcast 192.168.10.255inet6 fe80::6172:ec23:e462:5918  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:ab:6c:65  txqueuelen 1000  (Ethernet)RX packets 138  bytes 37005 (36.1 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 251  bytes 27315 (26.6 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

这样就配置好了

DHCP服务以及配置DHCP服务器相关推荐

  1. DHCP协议详解及DHCP服务的配置

    目录 一.DHCP概念 1.1.什么是DHCP 1.2.DHCP的作用 1.3.DHCP的好处 1.4.DHCP的架构 二.DHCP工作原理 三.DHCP种的租期 四.DHCP服务的配置 4.1.情况 ...

  2. 思科设备中DHCP 服务的配置

    CSDN话题挑战赛第2期https://marketing.csdn.net/p/7b6697fd9dd3795a268d1a6f2fe75012 参赛话题:学习笔记https://activity. ...

  3. Linux下DHCP服务的配置相关参数说明

    Linux下DHCP服务的配置相关参数说明 DHCP配置通常包括三部分:parameters.declarations.option. 1. parameters parameters用于说明DHCP ...

  4. DHCP原理与配置+DHCP中继

    一.DHCP服务的简介 DHCP基于客户/服务器模式.当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务.安装了DHCP服务软件的服务器称 ...

  5. linux+dhcp服务的安装包,服务器_Linux教程:配置DHCP服务器方法介绍,  1.安装dhcp软件包 #rpm nd - phpStudy...

    1.安装dhcp软件包 #rpm –ivh dhcp-3.0.1-12_EL.i386.rpm 2.配置文件dhcpd.conf 由于dhcpd.conf默认没有包括在软件包中,所以要最近创建 #cp ...

  6. DHCP服务的配置与使用

    在vmware中添加并打开window server 2003 链接:https://pan.baidu.com/s/1M0AHFe8M3932SUIh3vLwWA 密码:i3s7 1.实验目的 1. ...

  7. linux通过rpm安装dhcp,Linux下rpm安装DHCP服务及配置

    Linux下DHCP服务端的配置 [root@loaclhost /]mount /dev/hdc /hdc                //挂载光盘到/dev/ [root@loaclhost / ...

  8. ubuntu 开启dhcp服务并配置

    1.配置所有网口支持DHCP vim /etc/default/isc-dhcp-serverINTERFACES="eno1 eno2 eno3 eno4" 2.所有网口ip地址 ...

  9. linux如何打开dhcp服务,怎么开启DHCP服务器啊

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [root@DHCP init.d]# rpm -qa|grep dhcp dhcp-4.1.1-38.P1.el6.centos.x86_64 dhcp ...

  10. DHCP协议格式、DHCP服务搭建、DHCP协商交互过程入门学习

    相关学习资料 http://www.rfc-editor.org/rfc/rfc2131.txt http://baike.baidu.com/view/7992.htm?fromtitle=DHCP ...

最新文章

  1. Maya初学者完整的3D动画大师班视频教程
  2. 交换两个数不引入第三个变量
  3. IBM收购Clearleap,提供云视频服务
  4. @excel注解_java bean 一对多,多对一 poi导出excel表格
  5. router3 BGP1 基础部分
  6. cpu针脚测试软件,Sandsifter:一款专门针对X86处理器的模糊测试工具
  7. 53 -leetcode 7. 整数反转
  8. File /usr/bin/pip3, line 9, in module from pip import main ImportError: cannot import name
  9. 算法基础练习--最大公约数和最小公倍数
  10. 2010年11月51CTO壁纸点评活动获奖名单【已结束】
  11. 中国5G务实发展 向大规模商用推进
  12. Pyspark:随机森林
  13. CF1399E2 Weights Division (hard version)
  14. 淘晶驰串口屏下载工程慢怎么办
  15. AI智能语音客服机器人系统/方案/案列/技术/项目
  16. 开关稳压器详解(四)-Buck降压型开关稳压器自举电路
  17. 慧都MES系统怎么实施?有哪些注意事项?
  18. 中国气象台API(2017.09)
  19. Android Permission is only granted to system apps问题
  20. 前端-HTML基础入门

热门文章

  1. 需要一张可视化三维地图?这样炫酷的3D全景地图,你也可以拥有
  2. 华为freelance耳机充不进电修理
  3. 军团要塞2无限子弹服务器,【图片】教大家创建tf2服务器(互联网的)小白版~【军团要塞吧】_百度贴吧...
  4. mysql ibd文件清理_MYSQL .ibd文件数据恢复
  5. Java-JPEG图片生成器
  6. 我的第一个python程序源代码_科学网—我的第一个Python程序——删除代码前行号的小工具 - 闫小勇的博文...
  7. mooc-人工智能与信息社会-人工智能发展简史
  8. 【hadoop】进阶篇一:MapReduce之Job的提交
  9. 前端开发技术-promise是什么?
  10. iOS 应用安装包瘦身