Linux中的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服务的更多相关文章
- 嵌入式linux中使用 DHCP功能描述
嵌入式linux中使用 DHCP功能描述 busybox中udhcpc的默认script脚本地址为#define DEFAULT_SCRIPT CONFIG_UDHCPC_DEFAULT_SCRI ...
- Linux中如何设置服务自启动?
转自:Linux中如何设置服务自启动? 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务,主要用三种方式进行这一操作: ln -s 在/etc/rc.d/rc ...
- Linux中的sshd服务
Linux中的sshd服务,主要用于pst终端,远程连接到linux服务中 看sshd服务状态 service sshd status 停止sshd服务 service sshd stop 启动ssh ...
- Linux系统下DHCP服务安装部署和使用详解
一.概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或 ...
- linux中的dhcp
目录 一.DHCP服务 二.DHCP的租约过程 三.使用DHCP动态配置主机地址 四.安装DHCP服务器 一.DHCP服务 ① DHCP (Dynamic HostConfiguration Prot ...
- 讲述一下自己在linux中配置ftp服务的经历
本人大二小白一名,从大一下学期就开始接触到linux,当时看到学校每次让我们下载资源都在一个ftp服务器中,感觉特别的高大上,所以自己就想什么时候自己能够拥有自己的ftp服务器,自己放一点东西进去,让 ...
- linux中的openoffice服务终止运行
现象: 最近的linux中的openoffice服务进程运行一段时间后会自动停止,刚开始还以为忘了启动执行自启动脚本导致的.在连续出现前述情况后,开始查找应用程序崩溃的原因,首先查看linux服务器的 ...
- linux下搭建DHCP服务
一键搭建dhcpd服务脚本 [root@dhcp-server~]# cat auto_install_dhcpd.sh #!/bin/sh . /etc/init.d/functions #安装dh ...
- 在Linux中设置自启动服务或程序
三种方法: 1.基于linux的system V机制,其中有个运行级别和链接软连接指向服务脚本的机制. 服务脚本一般处于/etc/init.d/目录下, 而运行级别制定的默认执行脚本在/etc/rc. ...
随机推荐
- SpringBoot项目创建与单元测试
前言 Spring Boot 设计之初就是为了用最少的配置,以最快的速度来启动和运行 Spring 项目.Spring Boot使用特定的配置来构建生产就绪型的项目. Hello World 可以 ...
- div中如何让文本元素、img元素水平居中且垂直居中
一.文本元素在div中的水平居中且垂直居中方法 html代码 <div id="box"> <p>文本元素</p> </div> c ...
- [BJOI2020] 封印
一.题目 点此看题 二.解法 今天不知道为什么手感这么好,写一发完全没调就过掉了. 我感觉这种多组询问的字符串题是很难的,经常没有什么思路.我先考虑了一下能不能像 区间本质不同的子串个数 这样直接离线 ...
- JavaCV 采集摄像头及桌面视频数据
javacv 封装了javacpp-presets库很多native API,简化了开发,对java程序员来说比较友好. 之前使用JavaCV库都是使用ffmpeg native API开发,这种方式 ...
- POJ_1273 Drainage Ditches 【网络流】
一.题面 Drainage Ditches 二.分析 网络流的裸题. 1 Edmonds-Karp算法 求解网络流其实就是一个不断找增广路,然后每次找到一条增广路后更新残余网络的一个过程. EK算法主 ...
- webpack核心模块tapable用法解析
前不久写了一篇webpack基本原理和AST用法的文章,本来想接着写webpack plugin的原理的,但是发现webpack plugin高度依赖tapable这个库,不清楚tapable而直接去 ...
- 微信小程序Animation动画的使用
目录 1,前言 2,属性 3,使用 1,前言 和css3动画不同,小程序中动画是主要是通过js控制的,简单来说就是创建一个动画实例animation.调用实例的方法来定义动画效果.最后通过动画实例的e ...
- Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)
初始 Java 语言 Java SE -- Java Platform, Standard Edition 是 Java 平台的基础 Java SE 以前称为 J2SE, 可以编写桌面应用和基于 we ...
- 扩展欧几里得算法(EXGCD)学习笔记
0.前言 相信大家对于欧几里得算法都已经很熟悉了.再学习数论的过程中,我们会用到扩展欧几里得算法(exgcd),大家一定也了解过.这是本蒟蒻在学习扩展欧几里得算法过程中的思考与探索过程. 1.Bézo ...
- POJ3278_Catch That Cow(JAVA语言)
思路:bfs裸题.三个选择:向左一个单位,向右一个单位,向右到2*x //注意,需要特判n是否大于k,大于k时只能向左,输出n-k.第一次提交没注意,结果RE了,, Catch That Cow Ti ...