目录

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. SpringBoot项目创建与单元测试

    前言   Spring Boot 设计之初就是为了用最少的配置,以最快的速度来启动和运行 Spring 项目.Spring Boot使用特定的配置来构建生产就绪型的项目. Hello World 可以 ...

  2. div中如何让文本元素、img元素水平居中且垂直居中

    一.文本元素在div中的水平居中且垂直居中方法 html代码 <div id="box"> <p>文本元素</p> </div> c ...

  3. [BJOI2020] 封印

    一.题目 点此看题 二.解法 今天不知道为什么手感这么好,写一发完全没调就过掉了. 我感觉这种多组询问的字符串题是很难的,经常没有什么思路.我先考虑了一下能不能像 区间本质不同的子串个数 这样直接离线 ...

  4. JavaCV 采集摄像头及桌面视频数据

    javacv 封装了javacpp-presets库很多native API,简化了开发,对java程序员来说比较友好. 之前使用JavaCV库都是使用ffmpeg native API开发,这种方式 ...

  5. POJ_1273 Drainage Ditches 【网络流】

    一.题面 Drainage Ditches 二.分析 网络流的裸题. 1 Edmonds-Karp算法 求解网络流其实就是一个不断找增广路,然后每次找到一条增广路后更新残余网络的一个过程. EK算法主 ...

  6. webpack核心模块tapable用法解析

    前不久写了一篇webpack基本原理和AST用法的文章,本来想接着写webpack plugin的原理的,但是发现webpack plugin高度依赖tapable这个库,不清楚tapable而直接去 ...

  7. 微信小程序Animation动画的使用

    目录 1,前言 2,属性 3,使用 1,前言 和css3动画不同,小程序中动画是主要是通过js控制的,简单来说就是创建一个动画实例animation.调用实例的方法来定义动画效果.最后通过动画实例的e ...

  8. Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)

    初始 Java 语言 Java SE -- Java Platform, Standard Edition 是 Java 平台的基础 Java SE 以前称为 J2SE, 可以编写桌面应用和基于 we ...

  9. 扩展欧几里得算法(EXGCD)学习笔记

    0.前言 相信大家对于欧几里得算法都已经很熟悉了.再学习数论的过程中,我们会用到扩展欧几里得算法(exgcd),大家一定也了解过.这是本蒟蒻在学习扩展欧几里得算法过程中的思考与探索过程. 1.Bézo ...

  10. POJ3278_Catch That Cow(JAVA语言)

    思路:bfs裸题.三个选择:向左一个单位,向右一个单位,向右到2*x //注意,需要特判n是否大于k,大于k时只能向左,输出n-k.第一次提交没注意,结果RE了,, Catch That Cow Ti ...