目录

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. 翻译:《实用的Python编程》03_05_Main_module

    目录 | 上一节 (3.4 模块) | 下一节 (3.6 设计讨论) 3.5 主模块 本节介绍主程序(主模块)的概念 主函数 在许多编程语言中,存在一个主函数或者主方法的概念. // c / c++ ...

  2. Java 面向对象 03

    面向对象·三级 代码块的概述和分类 * A:代码块概述     * 在Java中,使用 { } 括起来的代码被称为代码块. * B:代码块分类     * 根据其位置和声明的不同,可以分为局部代码块, ...

  3. PTA甲级—常用技巧与算法

    散列 1078 Hashing (25 分) Quadratic probing (with positive increments only) is used to solve the collis ...

  4. HTML5基础入门一天学完

    HTML 什么是HTML HTML:Hyper Text Markup Language(超文本编辑语言) HTML的发展史 HTML5优势 世界知名浏览器厂商对HTML5的支持 市场的需求 跨平台 ...

  5. vue 倒计时 iOS无效

    vue实现的倒计时在苹果手机上无效,原因是因为后台返回的时间格式是'2019-1-29 17:13:04',而苹果手机只能解析这种时间格式'YYYY/MM/DD HH:mm:ss',修改后测试成功的代 ...

  6. ES6学习笔记(2)- 箭头函数

    1. 箭头函数声明 箭头函数的声明方式示例: 1 const printValue = (condition) => { 2 let testValue = 55; 3 if (conditio ...

  7. Win 10 下Pipenv源码安装 odoo12

    因为,本身电脑已经安装odoo8,9,10等odoo的版本,当时,没有考虑是直接是统一的环境很配置. 现在,在odoo11的环境下,需要Python 3的语言环境可以很好地支持odoo11的功能,所以 ...

  8. PAT (Advanced Level) Practice 1023 Have Fun with Numbers (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1023 Have Fun with Numbers (20 分) 凌宸1642 题目描述: Notice that the number ...

  9. Nginx日志分析 awk 命令

    通过Nginx日志,可以简单分析WEB网站的运行状态.数据报表.IP.UV(unique visitor指独立访客访问数,一台电脑终端为一个访客.).PV(page view即页面访问量,每打开一次页 ...

  10. 全网最详细的Linux命令系列-cd命令

    Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 命令格 ...