返回顶部
首页 > 资讯 > 操作系统 >超详细讲解Linux DHCP服务
  • 422
分享到

超详细讲解Linux DHCP服务

LinuxDHCP服务 2022-06-04 23:06:17 422人浏览 八月长安
摘要

目录一、DHCP服务(动态主机配置协议)1.背景2.概述3.优点4.DHCP报文类型5.DHCP 的分配方式二、安装 DHCP 服务器1.DHCP 服务软件2.主配置文件三、配置步骤1.使用 DHCP 动态的给 PkHm

目录
  • 一、DHCP服务(动态主机配置协议)
    • 1.背景
    • 2.概述
    • 3.优点
    • 4.DHCP报文类型
    • 5.DHCP 的分配方式
  • 二、安装 DHCP 服务器
    • 1.DHCP 服务软件
    • 2.主配置文件
  • 三、配置步骤
    • 1.使用 DHCP 动态的给 PkHmtPjC 机分配 IP 地址

一、DHCP服务(动态主机配置协议)

1.背景

1.手动设置工作量大且容易冲突

2.用DHCP可以减少工作量和避免地址冲突

2.概述

  • 作用:为局域网内的电脑分配IP地址
  • 架构 C/S;客户端/服务器模式
  • 实现方式:

1.为相同网段的电脑分配IP地址—DHCP

2.跨网段为另一网段的电脑分配IP地址—DHCP中继

  • DHCP使用UDP协议,67号是客户机使用的,68号是服务器端的端口号

3.优点

1.减少管理员的工作量

2.避免输入错误的可能

3.避免IP地址冲突

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

5.提高了IP地址的利用率

6.方便客户端的配置

4.DHCP报文类型

以找工作为例:

DHCP Discover——客户端用来寻找DHCP服务器的报文
我向公司投简历来找工作

DHCP Offer——DHCP服务器用来响应DHCP Discover报文的报文。该报文携带了各种配置信息,例如IP地址,DNS等
公司收到我的求职简历后给我发了一份offer

DHCP Request——客户端请求配置确认,或者续借租期
我收到offer之后跟公司确认

DHCP ACK——服务器对Request报文的确认响应kHmtPj
公司说我ok没问题,可以过来上班 ,我找到工作了

5.DHCP 的分配方式

①自动分配:
当DHCP客户机第一次成功地从DHCP服务器获取到一个IP地址后,就永久的使用这个IP地址
②手动分配:
由DHCP服务器管理员专门指定IP地址
③动态分配:
当DHCP客户机第一次从DHCP服务器获得IP地址后,并非永久的使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用

二、安装 DHCP 服务器

1.DHCP 服务软件

  • Centos光盘中的 dhcp-4.2.5-47.el7.centos.x86_64.rpm
  • 一般都有,没有的话 RPM 去安装一下

mark

  • DHCP 软件包的主要文件

主配置文件:/etc/dhcpd.conf

执行程序:/usr/sbin/dhcpd、usr/sbin/dhcrelay

2.主配置文件

  • dhcpd.conf 的内容构成

ddns-update-style  interim;     #全局配置参数
......
subnet  192.168.0.0  netmask  255.255.255.0 {       #subnet以上的都是全局配置参数;网段声明(网段、子网掩码、默认网关地址)
   option routers 192.168.0.1;       #配置选项
   ......
   default-lease-time 21600;   #配置参数
   host ns {
      ......    
      fixed-address 207.175.42.254;    #主机声明(固定一个IP给主机用的)
   }
}        
  • Subnet网段声明,作用于整个子网段

range参数:设置用于分配的IP地址池

option subnet-mask参数:设置客户机的子网掩码

option routers参数:设置客户机的默认网关地址

三、配置步骤

1.使用 DHCP 动态的给 PC 机分配 IP 地址

① eNSP

实验拓扑图如下

注:配置完“Cloud”之后才能用串口线连接

mark

  • 配置Cloud

mark

  • SW1基本配置

<Huawei>undo terminal monitor 
<Huawei>system-view 
[L2-SW1]user-interface console 0
[L2-SW1-ui-console0]idle-timeout 0 0
[L2-SW1-ui-console0]quit 
[L2-SW1]vlan batch 10 20 100
[L2-SW1]interface Ethernet 0/0/1	
[L2-SW1-Ethernet0/0/1]port link-type access 	
[L2-SW1-Ethernet0/0/1]port default vlan 10
[L2-SW1-Ethernet0/0/1]quit
[L2-SW1]interface Ethernet 0/0/2	
[L2-SW1-Ethernet0/0/2]port link-type access 	
[L2-SW1-Ethernet0/0/2]port default vlan 20
[L2-SW1-Ethernet0/0/2]quit
[L2-SW1]interface Ethernet 0/0/3	
[L2-SW1-Ethernet0/0/3]port link-type access 	
[L2-SW1-Ethernet0/0/3]port default vlan 100
[L2-SW1-Ethernet0/0/3]quit
[L2-SW1]interface Ethernet 0/0/4	
[L2-SW1-Ethernet0/0/4]port link-type access 	
[L2-SW1-Ethernet0/0/4]port default vlan 100
[L2-SW1-Ethernet0/0/4]quit
[L2-SW1]interface GigabitEthernet0/0/1
[L2-SW1-GigabitEthernet0/0/1]port link-type trunk
[L2-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20 100
[L2-SW1-GigabitEthernet0/0/1]quit
  • SW2基本配置

<Huawei>undo terminal monitor 
<Huawei>system-view 
[Huawei]sysname L3-SW2
[L3-SW2]user-interface console 0
[L3-SW2-ui-console0]idle-timeout 0 0
[L3-SW2-ui-console0]quit
[L3-SW2]vlan batch 10 20 100
[L3-SW2]interface GigabitEthernet0/0/1
[L3-SW2-GigabitEthernet0/0/1]port link-type trunk
[L3-SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20 100
[L3-SW2-GigabitEthernet0/0/1]quit
[L3-SW2]interface Vlanif 10	
[L3-SW2-Vlanif10]ip address 192.168.10.1 255.255.255.0	
[SW2-Vlanif20]un sh
[L3-SW2]interface Vlanif 20	
[L3-SW2-Vlanif20]ip address 192.168.20.1 255.255.255.0	
[SW2-Vlanif20]un sh
[L3-SW2]interface Vlanif 100
[L3-SW2-Vlanif100]ip address 192.168.100.1 255.255.255.0	
[SW2-Vlanif20]un sh
[SW2-Vlanif100]int g0/0/1
[SW2-GigabitEthernet0/0/1]port link-type trunk 
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all 
  • 配置DHCP中继(三层交换机)

[L3-SW2]dhcp enable               ##开启DHCP功能
[L3-SW2]interface Vlanif 10	      ##配置虚接口ip,选择dhcp中继模式,请求指向dhcp服务器ip
[L3-SW2-Vlanif10]dhcp select relay 	
[L3-SW2-Vlanif10]dhcp relay server-ip 192.168.100.100	
[L3-SW2-Vlanif10]quit 	
[L3-SW2]interface Vlanif 20	
[L3-SW2-Vlanif20]dhcp select relay 
[L3-SW2-Vlanif20]dhcp relay server-ip 192.168.100.100	
[L3-SW2-Vlanif20]quit 	
[L3-SW2]interface Vlanif 100	
[L3-SW2-Vlanif100]dhcp select relay 
[L3-SW2-Vlanif100]dhcp relay server-ip 192.168.100.100
[L3-SW2-Vlanif100]quit 

②虚拟机

mark

  • 配置网卡IP

mark

  • 安装dhcp软件包,并查看和找到配置文件

[root@xjj ~]# yum -y install dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 12:dhcp-4.2.5-58.el7.centos.x86_64 已安装并且是最新版本
无须任何处理

[root@xjj ~]# cd /etc/dhcp/        ##dhcp的配置文件是/etc/dhcp/dhcpd.conf
[root@xjj dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@xjj dhcp]# less dhcpd.conf        ##查看一下内容

[root@xjj ~]# cd /usr/share/doc/dhcp-4.2.5/      kHmtPj  到该目录下去寻找dhcp配置模板
[root@xjj dhcp-4.2.5]# ls        ##“dhcpd.conf.example”
dhcpd6.conf.example  dhcpd.conf.example  ldap
[root@xjj dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf        ##将模板覆盖到/etc/dhcp/dhcpd.conf中
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y

[root@xjj ~]# cd /etc/dhcp/        ##回到/etc/dhcp目录下
[root@xjj dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@xjj dhcp]# less dhcpd.conf        ##查看配置文件并进行下一步编辑

编辑dhcp配置文件

  • [root@xjj dhcp]# vim dhcpd.conf

mark

  • 关闭防火墙,重启网卡,再去“ping”进行验证网络

[root@xjj dhcp]# systemctl stop firewalld
se[root@jj dhcp]# setenforce 0
##记得重启一下网卡!
[root@xjj dhcp]# systemctl restart dhcpd


[root@xjj dhcp]# ping 192.168.100.1
...略
[root@xjj dhcp]# ping 192.168.10.1
...略
[root@xjj dhcp]# ping 192.168.20.1
...略

③验证

  • 到eNSP中验证一下
  • 首先开启两台PC的DHCP来自动获取一下IP地址

mark

mark

④进入命令行“ipconfig”测试

  • pc1

mark

  • pc2

mark

pc1和pc2成功!!!

以上就是超详细讲解linux DHCP服务的详细内容,更多关于Linux DHCP服务的资料请关注我们其它相关文章!

--结束END--

本文标题: 超详细讲解Linux DHCP服务

本文链接: https://lsjlt.com/news/21385.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 超详细讲解Linux DHCP服务
    目录一、DHCP服务(动态主机配置协议)1.背景2.概述3.优点4.DHCP报文类型5.DHCP 的分配方式二、安装 DHCP 服务器1.DHCP 服务软件2.主配置文件三、配置步骤1.使用 DHCP 动态的给 PkHm...
    99+
    2022-06-04
    Linux DHCP服务
  • Spring超详细讲解事务
    目录什么是事务事务的四个特性(ACID)Spring对事务的支持编程式事务管理声明式事务管理基于注解的声明式事务管理Spring事务管理的三个接口Spring事务属性什么是事务 一个...
    99+
    2024-04-02
  • AndroidSwipeRefreshLayout超详细讲解
    目录1. 控件说明2. API介绍3. 使用方法3.1 布局文件3.2 界面代码4. 注意事项1. 控件说明 SwipeRefreshLayout是google官方推荐使用的下拉刷新...
    99+
    2022-11-13
    Android SwipeRefreshLayout Android SwipeRefreshLayout控件
  • AndroidLayerDrawable超详细讲解
    目录1. 前言2. 实例1. 前言 Android LayerDrawble 包含一个Drawable数组,系统将会按照这些Drawable对象的数组顺序来绘制他们,索引最大的 Dr...
    99+
    2022-11-13
    Android LayerDrawable Android LayerDrawable原理
  • SpringCloudNetflixRibbon超详细讲解
    目录一、Ribbon简介1、什么是Ribbon2、Ribbon能干什么二、使用Ribbon1、客户端导入依赖2、application.yml配置3、Controller配置4、Co...
    99+
    2022-11-13
    SpringCloud Netflix Ribbon SpringCloud Ribbon
  • Linux 系统 grep 命令超详细讲解
    grep命令是Linux系统中非常常用的搜索命令,用于在文件中查找指定的字符串。下面是grep命令的详细讲解:基本语法:grep [...
    99+
    2023-09-15
    Linux
  • C++BoostUuid超详细讲解
    目录一、说明二、Boost.Uuid库示例和代码一、说明 Boost.Uuid 为 UUID 提供生成器。 UUID 是不依赖于中央协调实例的通用唯一标识符。例如,没有数据库存储所有...
    99+
    2022-12-08
    C++ Boost Uuid C++ Uuid标识符
  • C++BoostUtility超详细讲解
    目录一、说明二、Boost.Utility库示例和代码一、说明 Boost.Utility 库是杂项、有用的类和函数的集合,它们太小而无法在独立库中维护。虽然实用程序很小并且可以快速...
    99+
    2022-12-08
    C++ Boost Utility C++ Utility库
  • SpringCloud Feign超详细讲解
    目录一、什么是Feign二、Feign能干什么三、Feign的使用步骤1、新建一个module2、配置Pom.xml3、配置applicatin.yaml4、配置configBean...
    99+
    2022-11-13
    SpringCloud Feign原理 SpringCloud Feign使用
  • SpringCloud超详细讲解微服务网关Zuul
    目录网关的作用Spring Cloud 网关组件Zuul介绍Zuul网关实战1、创建服务2、创建配置文件3、创建Zuul过滤器4、编写启动类5、启动验证总结网关的作用 微服务架构中,...
    99+
    2024-04-02
  • SpringCloud超详细讲解微服务网关Gateway
    目录前言微服务网关GateWay介绍GateWay特性介绍Gateway 中的相关术语Gateway实战1、创建项目gateway2、创建启动类3、新增配置文件4、编程方式实现路由5...
    99+
    2024-04-02
  • SpringBoot超详细讲解事务管理
    目录1. 事务的定义2. 事务的特性3. 事务的隔离性4. 事务管理5. 示例1. 事务的定义 事务是由 N 步数据库操作序列组成的逻辑执行单元,这系列操作要么全部执行,要么全部放弃...
    99+
    2024-04-02
  • Python爬虫超详细讲解
    本篇文章给大家带来了关于Python的相关知识,其中主要整理了爬虫的相关问题,网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序,下面一起来看一下,希望对大家有帮...
    99+
    2022-07-14
    python
  • java反射超详细讲解
    目录Java反射超详解✌1.反射基础1.1Class类1.2类加载2.反射的使用2.1Class对象的获取2.2Constructor类及其用法2.4Method类及其用...
    99+
    2024-04-02
  • 超详细讲解Java异常
    目录一、Java异常架构与异常关键字Java异常简介Java异常架构1、Throwable2、Error(错误)3、Exception(异常)4、受检异常与非受检异常Java异常关键...
    99+
    2024-04-02
  • C++ Boost Assign超详细讲解
    目录说明Exercise说明 Boost.Assign Boost.Assign 库提供了帮助函数来初始化容器或向容器添加元素。如果需要将许多元素存储在一个容器中,这些函数尤其有用。...
    99+
    2022-12-09
    C++ Boost Assign C++ Assign库
  • VueMVVM模型超详细讲解
    目录理解MVVM模型什么是 MVVM 模型MVVM的组成部分Vue中的实现MVVM模型在Vue中的应用理解MVVM模型 我们知道每一个 Vue 应用都是从创建一个新的实例开始的,根据...
    99+
    2022-11-13
    Vue MVVM模型 Vue MVVM框架
  • Netty与NIO超详细讲解
    目录Linux下的五种I/O模型阻塞IO的流程IO复用信号驱动I/O异步IONIOI0多路复用NIO核心组件使用Java原生API实现NIO操作Redis为什么支持高并发Linux下...
    99+
    2022-11-13
    Netty NIO模型 Netty NIO原理
  • Swift超详细讲解指针
    目录Swift指针Unsafe Pointer对照Objective-C例子Swift指针Unsafe Pointer 如果不是只读,可以修改 ( 写入 ),就加一个 Mutable...
    99+
    2022-11-13
    Swift 指针 Swift 指针操作
  • C++超详细讲解泛型
    目录1.了解泛型编程2.函数模板2.1简单示例2.2多个模板参数2.3模板实例化2.4模板和普通函数同时存在2.5函数模板不支持定义和声明分离3.类模板3.1简单示例3.2成员函数声...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作