超详细讲解Linux DHCP服务

目录
  • 一、DHCP服务(动态主机配置协议)
    • 1.背景
    • 2.概述
    • 3.优点
    • 4.DHCP报文类型
    • 5.DHCP 的分配方式
  • 二、安装 DHCP 服务器
    • 1.DHCP 服务软件
    • 2.主配置文件
  • 三、配置步骤
    • 1.使用 DHCP 动态的给 PC 机分配 IP 地址
      • ① eNSP
      • ②虚拟机
      • ③验证
      • ④进入命令行“ipconfig”测试

一、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报文的确认响应
公司说我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 去安装一下

  • 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”之后才能用串口线连接

  • 配置Cloud

  • 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

②虚拟机

  • 选择虚拟机网络类型

  • 配置网卡IP

  • 安装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/        到该目录下去寻找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

  • 关闭防火墙,重启网卡,再去“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地址

④进入命令行“ipconfig”测试

  • pc1

  • pc2

pc1和pc2成功!!!

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

(0)

相关推荐

  • Linux实现DHCP服务器的搭建

    目录 一.基础知识: 二.DHCP服务器的相关配置: 1.查看server的ip 2.查看DHCP服务的依赖包: 3.安装DHCP服务: 4.进行配置: 三.一个配置例子 一.基础知识: 1.DHCP简介: DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境中的主机动态的获得IP地址.Gateway地址.DNS服务器地址等信息,并能够提升地址的使用率. 2.DHCP服

  • linux下的dhcp服务的完全配置(图文详解)

    试验环境如下图所示: 服务器ip:192.168.0.1 试验要求:要求linux dhcp 服务器实现给linux客户机分配ip地址. 服务器软件包:dhcp-3.0.1-12_EL.I386 (当然其它版本的也可以)软件包默认在RHEL4的第四种安装光盘中. 主配置文件:dhcp.conf 默认情况下该文件没有在dhcp软件包中,需要手动建立. 服务器的配置: 1 挂载和安装dhcp软件包,如下图所示: 2编辑配置文件(由于配置文件安装软件包后并不会自动建立需要我们手动建立)只需打如下些命令

  • linux启动dhcp服务器步骤

    DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设备或网络供应商自动分配IP地址,通常会应用在大型的局域网环境中或局域网内存在比较多的移动办公设备,DHCP协议能够实现集中的管理.分配IP地址. DHCP服务程序能够使局域网内的主机自动且动态的获取IP地址.子网掩码.网关地址以及DNS服务器地址等信息,且能够有效的提升地址使用率,提高配置效率,减少管理和维护成本. 安装 #

  • linux下dhcp服务配置教程

    1.DHCP简介 (1)DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个简化主机IP地址分配管理的TCP/IP标准协议,用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作,如:DNS服务器.WINS服务器.Gateway(网关)的设置. (2)DHCP基于客户/服务器模式.当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务. (3)安装了DHCP服务软件的

  • 超详细讲解Linux DHCP服务

    目录 一.DHCP服务(动态主机配置协议) 1.背景 2.概述 3.优点 4.DHCP报文类型 5.DHCP 的分配方式 二.安装 DHCP 服务器 1.DHCP 服务软件 2.主配置文件 三.配置步骤 1.使用 DHCP 动态的给 PC 机分配 IP 地址 ① eNSP ②虚拟机 ③验证 ④进入命令行"ipconfig"测试 一.DHCP服务(动态主机配置协议) 1.背景 1.手动设置工作量大且容易冲突 2.用DHCP可以减少工作量和避免地址冲突 2.概述 作用:为局域网内的电脑分配

  • 超详细讲解Linux C++多线程同步的方式

    目录 一.互斥锁 1.互斥锁的初始化 2.互斥锁的相关属性及分类 3,测试加锁函数 二.条件变量 1.条件变量的相关函数 1)初始化的销毁读写锁 2)以写的方式获取锁,以读的方式获取锁,释放读写锁 四.信号量 1)信号量初始化 2)信号量值的加减 3)对信号量进行清理 背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: #include <iostream> #include<pthread.h> #include<stdio.h&

  • SpringCloud超详细讲解Feign声明式服务调用

    目录 入门案例 @FeignClient注解详解 Feign Client的配置 Feign请求添加headers 负载均衡 (Ribbon) 容错机制 Hystrix支持 Sentinel支持 Feign开启容错机制支持后的使用方式 请求压缩feign.compression 日志级别 入门案例 在服务消费者导入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>

  • SpringCloud超详细讲解微服务网关Gateway

    目录 前言 微服务网关GateWay介绍 GateWay特性介绍 Gateway 中的相关术语 Gateway实战 1.创建项目gateway 2.创建启动类 3.新增配置文件 4.编程方式实现路由 5.启动验证 总结 前言 上一篇:微服务网关Zuul 上文中,我们介绍了微服务网关Zuul,Zuul 是 Netflix 公司开源的产品,被称为第一代网关,也是 Spring Cloud 前几个版本默认使用的一款提供动态路由微服务网关组件,但是随着 Netflix 公司一系列的停更事件,在最新的 S

  • SpringCloud超详细讲解微服务网关Zuul

    目录 网关的作用 Spring Cloud 网关组件Zuul介绍 Zuul网关实战 1.创建服务 2.创建配置文件 3.创建Zuul过滤器 4.编写启动类 5.启动验证 总结 网关的作用 微服务架构中,服务实例的地址可能经常会发生变化,所以我们不能直接将服务的地址暴露出来.如果每一个微服务都直接暴露接口,会导致一系列的问题,比如调用过于复杂,涉及到账户.权限不能统一处理等.另外基于高内聚低耦合的设计准则来讲,我们也应该将内部系统和外部系统做切割. 因此,这时就需要有一个独立的组件来处理外部的请求

  • Netty与NIO超详细讲解

    目录 Linux下的五种I/O模型 阻塞IO的流程 IO复用 信号驱动I/O 异步IO NIO I0多路复用 NIO核心组件 使用Java原生API实现NIO操作 Redis为什么支持高并发 Linux下的五种I/O模型 1)阻塞I/O(blocking I/O) 2)非阻塞I/O (nonblocking I/O) 3) I/O复用(select 和poll) (I/O multiplexing) 4)信号驱动I/O (signal driven I/O (SIGIO)) 5)异步I/O (a

  • 超详细讲解Java线程池

    目录 池化技术 池化思想介绍 池化技术的应用 如何设计一个线程池 Java线程池解析 ThreadPoolExecutor使用介绍 内置线程池使用 ThreadPoolExecutor解析 整体设计 线程池生命周期 任务管理解析 woker对象 Java线程池实践建议 不建议使用Exectuors 线程池大小设置 线程池监控 带着问题阅读 1.什么是池化,池化能带来什么好处 2.如何设计一个资源池 3.Java的线程池如何使用,Java提供了哪些内置线程池 4.线程池使用有哪些注意事项 池化技术

  • C语言数据结构超详细讲解单向链表

    目录 1.链表概况 1.1 链表的概念及结构 1.2 链表的分类 2. 单向链表的实现 2.1 SList.h(头文件的汇总,函数的声明) 2.2 SList.c(函数的具体实现逻辑) 2.2.1 打印链表 2.2.2 搞出一个新节点(为其他函数服务) 2.2.3 链表尾插 2.2.4 链表头插 2.2.5 链表尾删 2.2.6 链表头删 2.2.7 查找节点 2.2.8 在pos位置之前插入 2.2.9 在pos位置之后插入 2.2.10 删除pos位置 2.2.11 删除pos之后位置 2.

  • Mysql超详细讲解死锁问题的理解

    目录 1.什么是死锁? 2.Mysql出现死锁的必要条件 资源独占条件 请求和保持条件 不剥夺条件 相互获取锁条件 3. Mysql经典死锁案例 3.1 建表语句 3.2 初始化相关数据 3.3 正常转账过程 3.4 死锁转账过程 3.5 死锁导致的问题 4.如何解决死锁问题? 4.1 打破请求和保持条件 4.2 打破相互获取锁条件(推荐) 5.总结 1.什么是死锁? 死锁指的是在两个或两个以上不同的进程或线程中,由于存在共同资源的竞争或进程(或线程)间的通讯而导致各个线程间相互挂起等待,如果没

  • 超详细讲解Java秒杀项目登陆模块的实现

    目录 一.项目前准备 1.新建项目 2.导入依赖 3.执行sql脚本 4.配置yml文件 5.在启动类加入注解 6.自动生成器 二.前端构建 1.导入layui 2.将界面放到template 3.在js目录下新建目录project 4.新建controller类 三.MD5加密 1.导入帮助包与exception包 2.新建vo类 3.登录方法: 4.密码加密 四. 全局异常抓获 1.给实体类userVo加入注解 2.导入帮助包validate,异常抓获 3.在UserController类方

随机推荐