目录

DHCP

DHCP的报文类型

DHCP的部署

DHCP中继(DHCP代理)


DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP(67、68)端口工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段

客户端使用 UDP 68 号端口向服务器UDP 67 号端口发送请求,服务器使用UDP 67 号端口给客户端UDP 68 号端口回应

DHCP的作用:可为大量客户机提供自动分配地址,提高网络配置效率。可为客户机分配 ip 、子网掩码、网关、DNS服务器、默认搜索域名等。
DHCP有三种机制分配IP地址:

  • 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
  • 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
  • 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机

IP租约期限到达50%时,DHCP客户端会向DHCP服务器发送单播请求续约,倘若DHCP服务器没回应,客户端在租约期限到达87.5%时,客户端会向DHCP服务器广播申请重绑定IP。如果IP租约到期前都没有收到服务器响应,客户端停止使用此IP地址。

如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE报文,释放该IP地址。

DHCP的报文类型

DHCP客户机发送完DHCP discover消息后,如果未能收到DHCP OFFER,它就会重试4次(相隔2,4,8,16s,加上一个0到1000ms之间的随机数)如果DHCP客户机经过努力仍未获得任何有效的IP地址,将使用备用配置。每隔5分钟,该客户机都继续尝试寻找DHCP服务器,如果有某个DHCP服务器成为可用,客户机将接受到合法的IP地址。

DHCP的部署

​​​​安装:yum  install   dhcp  -y 

服务:/usr/sbin/dhcpd

配置文件目录: /etc/dhcp/dhcpd.conf

模板文件目录:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example

开启/关闭/重启/开机自启/开机不自启:  systemcctl   start / stop / restart /enable /disable dhcpd

我们先把模板文件追加到配置文件中:  cat   /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example >> /etc/dhcp/dhcpd.conf ,然后打开配置文件修改 ,把不用的内容都删除,只保留下面几行。

subnet 10.0.0.0 netmask 255.0.0.0 {              //分配的网段
range 10.0.0.100 10.0.0.200; //分配的地址范围
option domain-name-servers redhat.xie.com;
option domain-name "xie.com"; //domain域
option routers 10.0.0.254; //路由ip
option broadcast-address 10.0.0.255; //广播地址
default-lease-time 600;
max-lease-time 7200;
}
host BOSS { //给以下MAC地址做特殊的设置
hardware ethernet 00:0C:29:1C:D2:58; // MAC地址
fixed-address 10.0.0.50; // 分配ip
}

windows客户机获取dhcp :

  • ipconfig  /release          释放原来的ip配置
  • ipconfig  /renew           重新获得ip

Linux客户机获取dhcp:

  • 在网卡配置文件中设置获取方式为dhcp
  • 然后重启网络服务  systemctl restart  network
  • 然后 dhclient  -d  eth0

DHCP中继(DHCP代理)

PC1以广播的形式发送DHCP请求,AR1的G0/0/0口收到 之后,以源地址192.168.1.1单播的形式向AR2的g0/0/0口12.1.1.2发送DHCP请求,AR2口以单播的形式向192.168.1.1回复DHCP,DHCP把回复包发给PC1。在这之间,PC1只知道DHCP的回复包是12.1.1.2发送的。

Linux中的DHCP服务的更多相关文章

  1. 嵌入式linux中使用 DHCP功能描述

    嵌入式linux中使用 DHCP功能描述 busybox中udhcpc的默认script脚本地址为#define DEFAULT_SCRIPT   CONFIG_UDHCPC_DEFAULT_SCRI ...

  2. Linux中如何设置服务自启动?

    转自:Linux中如何设置服务自启动? 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务,主要用三种方式进行这一操作: ln -s             在/etc/rc.d/rc ...

  3. Linux中的sshd服务

    Linux中的sshd服务,主要用于pst终端,远程连接到linux服务中 看sshd服务状态 service sshd status 停止sshd服务 service sshd stop 启动ssh ...

  4. Linux系统下DHCP服务安装部署和使用详解

    一.概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或 ...

  5. linux中的dhcp

    目录 一.DHCP服务 二.DHCP的租约过程 三.使用DHCP动态配置主机地址 四.安装DHCP服务器 一.DHCP服务 ① DHCP (Dynamic HostConfiguration Prot ...

  6. 讲述一下自己在linux中配置ftp服务的经历

    本人大二小白一名,从大一下学期就开始接触到linux,当时看到学校每次让我们下载资源都在一个ftp服务器中,感觉特别的高大上,所以自己就想什么时候自己能够拥有自己的ftp服务器,自己放一点东西进去,让 ...

  7. linux中的openoffice服务终止运行

    现象: 最近的linux中的openoffice服务进程运行一段时间后会自动停止,刚开始还以为忘了启动执行自启动脚本导致的.在连续出现前述情况后,开始查找应用程序崩溃的原因,首先查看linux服务器的 ...

  8. linux下搭建DHCP服务

    一键搭建dhcpd服务脚本 [root@dhcp-server~]# cat auto_install_dhcpd.sh #!/bin/sh . /etc/init.d/functions #安装dh ...

  9. 在Linux中设置自启动服务或程序

    三种方法: 1.基于linux的system V机制,其中有个运行级别和链接软连接指向服务脚本的机制. 服务脚本一般处于/etc/init.d/目录下, 而运行级别制定的默认执行脚本在/etc/rc. ...

随机推荐

  1. 1.1 Python3基础-前言

    >>返回主目录 Python 交互式代码 Python 脚本式代码 第一段Python代码: print('Hello World!') >>返回主目录

  2. TestLink测试用例管理工具使用说明

    TestLink使用说明 打开网页,登录账号:(这里的账号是已经注册过的,并且拥有admin权限,可以创建用户.当然也可以通过点击登录页面的"新用户注册"按钮进行注册,但是权限是g ...

  3. 爬虫入门到放弃系列05:从程序模块设计到代理IP池

    前言 上篇文章吧啦吧啦讲了一些有的没的,现在还是回到主题写点技术相关的.本篇文章作为基础爬虫知识的最后一篇,将以爬虫程序的模块设计来完结. 在我漫(liang)长(nian)的爬虫开发生涯中,我通常将 ...

  4. springboot整合持久层技术(mysql驱动问题)

    java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more tha ...

  5. 关于深度学习配置的一些tips

    建立博客的第一天,将以前记录的一些东西存档下,方便查看. 1安装anaconda 2pycharm破解 配置环境变量3虚拟环境推荐是python3.5或3.6版本 4.安装numpy tensorfl ...

  6. python学习之基础内容

    python基础内容① 什么是python? -一种计算机语言,计算机语言分为 -高级语言:python.java.Ruby.C#.C++...... -基础语言:C语言.汇编 -计算机可以直接执行基 ...

  7. MySQL在线DDL工具 gh-ost

    一.简介 gh-ost基于 golang 语言,是 github 开源的一个 DDL 工具,是 GitHub's Online Schema Transmogrifier/Transfigurator ...

  8. .Net5下WebRequest、WebClient、HttpClient是否还存在使用争议?

    WebRequest.WebClient.HttpClient 是C#中常用的三个Http请求的类,时不时也会有人发表对这三个类使用场景的总结,本人是HttpClient 一把梭,也没太关注它们的内部 ...

  9. 【LiteOS】LiteOS消息队列

    目录 前言 链接 参考 笔录草稿 基本概念 队列运作机制 队列运作原理 消息队列传输方式 消息队列的阻塞机制 出队阻塞 入队阻塞 任务相关函数 任务开发流程 注意事项 * 实战 前言 链接 LiteO ...

  10. vue项目中,更改数组元素的值,视图没有实时更新?

    问题背景: export default { data(){ showItems: [false, false, false, false] }, methods: { showItem(index) ...