前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搞它!!!Linux系统上DHCP服务器的配置(理论加实验,分分钟搞定!!!)

搞它!!!Linux系统上DHCP服务器的配置(理论加实验,分分钟搞定!!!)

作者头像
不吃小白菜
发布2020-09-03 10:04:32
9.7K0
发布2020-09-03 10:04:32
举报

一、了解DHCP服务

1、手工配置网络参数存在的问题

传统的手工配置网络参数需要每个用户都手动配置IP地址、掩码、网关、DNS等多个参数 这样就会存在一些问题

  • 人员素质要求高

主机的使用者需要懂得如何进行网络参数的配置操作方法,这在实际中是难以做到的。

  • 容易出错

手工配置过程中非常容易出现人为的误操作情况。

  • 灵活性差

网络参数发生改变时,需要重新进行配置操作。例如,如果某主机在网络中的位置发 生了变化,则该主机的网关地址也可能会发生变化,这时就需要重新配置该主机的网 关地址。

  • IP地址资源利用率低

IP地址无法得到重复利用。

  • 工作量大

配置工作量会随着主机数量的增加而增大。

2、DHCP概念的提出

随着用户规模的扩大及用户位置的不固定性,传统的静态手工配置方式已经无法满足需求,为了实现网络可以动态合理地分配IP地址给主机使用,需要用到动态主机配置协议DHCP。 DHCP相对于静态手工配置有如下优点: 效率高 灵活性强 易于管理

3、DHCP基本原理 与配置实现

DHCP采用了Client/Server模型;DHCP Client需要从DHCP Server那里获得各种网络配 置参数,这个过程是通过DHCP Client与DHCP Server之间交互各种DHCP消息来实现的。 DHCP消息是封装在UDP报文中的,DHCP Server使用端口号67来接收DHCP消息, DHCP Client使用端口号68来接收DHCP消息。本课程中,我们主要关心DHCP Client是如 何获得自己的IP地址的。

发现阶段: 发现阶段也就是PC上的DHCP Client寻找DHCP Server的阶段。PC上的DHCP Client开始运行后,会以广播的方式发送一个DHCP Discover消息。 需要说明的是,二层广播域中除了路由器R上运行了DHCP Server 外,可能还有其它设备也运行了DHCP Server。如果是这样,那么所有这些 DHCP Server都会接收到PC发送的DHCP Discover消息,也都会对所收到的 DHCP Discover消息做出回应。 提供阶段 提供阶段也就是DHCP Server向DHCP Client提供IP地址的阶段,每一个接收 到DHCP Discover消息的DHCP Server(包括路由器R上运行的DHCP Server) 都会从自己维护的地址池中选择一个合适的IP地址,并通过DHCP Offer消息将 这个IP地址发送给DHCP Client。DHCP Server是以单播的方式来发送DHCP Offer消息的 请求阶段 在请求阶段中,PC上的DHCP Client会在若干个收到的Offer(即若干个收到的DHCP Offer消息)中根据某种原则来确定出自己将要接受哪一个Offer。通常情况下,DHCP Client会接受它所收到的第一个Offer(即最先收到的那个DHCP Offer消息)。图中,假 设PC最先收到的DHCP Offer消息是来自路由器R。于是,PC上的DHCP Client会以广播方 式发送一个DHCP Request消息,其意图就是向路由器R上的DHCP Server提出请求,希望 获取到该DHCP Server发送给自己的DHCP Offer消息中所提供的那个IP地址。注意,这个 DHCP Request消息中携带有R上的DHCP Server的标识(称为Server Identifier),表示 PC上的DHCP Client只愿意接受R上的DHCP Server所给出的Offer。 显然,该二层广播域中所有的DHCP Server都会接收到PC上的DHCP Client发送的DHCP Request消息。R上的DHCP Server收到并分析了该DHCP Request消息后,会明白PC已 经愿意接受自己的Offer了。其他的DHCP Server收到并分析了该DHCP Request消息后, 会明白PC拒绝了自己的Offer。于是,这些DHCP Server就会收回自己当初给予PC的Offer。 也就是说,当初准备提供给PC使用的IP地址现在可以用来分配给别的设备使用了。 确认阶段 在确认阶段,R上的DHCP Server会向PC上的DHCP Client发送一个DHCP Ack消息。注 意,由于种种原因,R上的DHCP Server也可能会向PC上的DHCP Client发送一个DHCP Nak消息。如果PC接收到了DHCP Nak消息,就说明这次获取IP地址的尝试失败了。在这 种情况下,PC只能重新回到发现阶段来开始新一轮的IP地址申请过程。

在这里插入图片描述
在这里插入图片描述

二、linux上搭建dhcp服务器

1、安装dhcp服务器

代码语言:javascript
复制
[root@CentOs7 ~]# yum -y install dhcp *    '//////dhcp服务器也有许多环境包,这里*代表所有
dhcp开头的软件包

2、找到dhcp的配置文件

1、主配置文件 :/etc/dhcpd/dhcp.conf 执行程序: /usr/sbin/dhcpd /usr/sbin/dhcrelay

2、修改DHCP的配置文件 这里下载完成后,直接打开主配置文件,你会发现,里面什么都没有,只有一个索引目录,目录里是配置文件的模板,所以需要拷贝过来。 我个人理解官方的用意是怕你把配置文件搞崩了,人家帮你备份一份><

代码语言:javascript
复制
[root@CentOs7 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf 
将样板拷贝到并替换配置文件。
在配置文件中加入这么一段
 27 subnet 192.168.110.0 netmask 255.255.255.0 {
     28 option routers 192.168.110.2;
     29 range 192.168.110.100 192.168.110.200;
     30 }
     31 
       ' 这里是配置文件的第一个subnet '
其中subnet 和netmask分别代表网段号和子网掩码号。可以按需求选择三种private ip中的任意一种。
range代表你要划分的ip池的范围。

3、启动dhcp服务

代码语言:javascript
复制
[root@localhost dhcp]# systemctl start dhcpd		'开启dhcp服务'
[root@localhost dhcp]# netstat -nuap | grep dhcpd		'检索udp dhcp服务端口号'
udp        0      0 0.0.0.0:67              0.0.0.0:*                           3388/dhcpd  
[root@localhost dhcp]# systemctl stop firewalld.service		'关闭防火墙服务'
[root@localhost dhcp]# setenforce 0

4、测试dhcp服务器是否可用

1、准备一台win10 ,与centos绑定同一网卡,vm1仅主机模式网卡

2、打开win10的dhcp自动获取ip地址服务,让其自动获取 如下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

证明dhcp服务器已经可以正常工作了

三、关于指定ip地址的配置方法

1、指定mac地址配置文件

进入dhcp主配置文件/etc/dhcp/dhcpd.conf 找到下面字段 查看win10的mac地址 ipconfig /all 将win10的ip地址写入进去

代码语言:javascript
复制
指定mac地址配置文件
host fantasia {
  hardware ethernet 00:0C:29:95:E6:EC;
  fixed-address 192.168.110.150;
在这里插入图片描述
在这里插入图片描述

2、续订接口 Ethernet0 时出错: 无法联系 DHCP 服务器

这里有可能是上次你电脑的ip地址没有释放,导致一直在报错申请不到ip地址

代码语言:javascript
复制
续订接口 Ethernet0 时出错: 无法联系 DHCP 服务器。请求超时。
不能在 蓝牙网络连接 上执行任何操作,它已断开媒体连接。
C:\Users\23746>ipconfig /release  /' 当出现这样字段说明你之前的IP地址没有释放。release释放一下'

Windows IP 配置

不能在 蓝牙网络连接 上执行任何操作,它已断开媒体连接。

以太网适配器 Ethernet0:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::75a9:3f46:3361:60bb%15
   默认网关. . . . . . . . . . . . . :

以太网适配器 蓝牙网络连接:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

C:\Users\23746>ipconfig /renew

Windows IP 配置

不能在 蓝牙网络连接 上执行任何操作,它已断开媒体连接。

以太网适配器 Ethernet0:

   连接特定的 DNS 后缀 . . . . . . . : example.org
   本地链接 IPv6 地址. . . . . . . . : fe80::75a9:3f46:3361:60bb%15
   IPv4 地址 . . . . . . . . . . . . : 192.168.110.160
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.110.2

以太网适配器 蓝牙网络连接:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :
在这里插入图片描述
在这里插入图片描述

四、关于dhcp的DNS域名解析的问题

1、win10查看被默认分配的dhcp

代码语言:javascript
复制
C:\Users\23746>ipconfig /all
以太网适配器 Ethernet0:

   连接特定的 DNS 后缀 . . . . . . . : example.org
   描述. . . . . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
   物理地址. . . . . . . . . . . . . : 00-0C-29-95-E6-EC
   DHCP 已启用 . . . . . . . . . . . : 是
   自动配置已启用. . . . . . . . . . : 是
   本地链接 IPv6 地址. . . . . . . . : fe80::75a9:3f46:3361:60bb%15(首选)
   IPv4 地址 . . . . . . . . . . . . : 192.168.110.160(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   获得租约的时间  . . . . . . . . . : 2020年7月4日 11:13:04
   租约过期的时间  . . . . . . . . . : 2020年7月4日 11:33:05
   默认网关. . . . . . . . . . . . . : 192.168.110.2
   DHCP 服务器 . . . . . . . . . . . : 192.168.110.133
   DHCPv6 IAID . . . . . . . . . . . : 117443625
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-26-34-1E-33-00-0C-29-95-E6-EC
   DNS 服务器  . . . . . . . . . . . : 8.8.8.8
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用

2、关于dhcp配置的两个要点

(1)接口配置

还是一样进入dhcp主配置文件找到以下字段,这里配置的时候默认的dns就是8.8.8.8 也就是我们刚刚申请到的dns

代码语言:javascript
复制
subnet 192.168.110.0 netmask 255.255.255.0 {
option routers 192.168.110.2;
range 192.168.110.100 192.168.110.200;
option domain-name-servers 9.9.9.9;
}

(2)全局配置

代码语言:javascript
复制
 option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers 8.8.8.8;

default-lease-time 600;
max-lease-time 7200;

这里发现,接口模式的dns优先级更高一点

在这里插入图片描述
在这里插入图片描述

五、在华为ensp上进行小型dhcp实验

实验需求: 准备一台centos7当做dhcp服务器 ,三层交换机配置dhcp中继 使得pc可以动态获取IP地址 具体如下

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
<Huawei>sys
[Huawei]sysname sw2
[sw2]v b 10 20 30
[sw2]int e0/0/1
[sw2-Ethernet0/0/1]p l a             '设置其接口为access口'
[sw2-Ethernet0/0/1]p d v 10          '允许通过vlan10'
[sw2-Ethernet0/0/1]int e0/0/2        
[sw2-Ethernet0/0/2]p l a            '  设置为access'
[sw2-Ethernet0/0/2]p d v 20           '允许通过vlan20'
[sw2]int e0/0/3
[sw2-Ethernet0/0/3]p l a
[sw2-Ethernet0/0/3]p d v 100        '  vlan100'
[sw2-Ethernet0/0/3]int g0/0/1
[sw2-GigabitEthernet0/0/1]p l t    'trunk口 '
[sw2-GigabitEthernet0/0/1]p t a v a   ' 全部放通'

[Huawei]sys 	
[Huawei]sysname sw1   
[sw1]v b 10 20 100
[sw1-Vlanif10]ip add 192.168.10.1 24   
[sw1]dhcp enable          ' 在交换机上开启dhcp'
[sw1]int Vlan10
[sw1-Vlanif10]dhcp select relay        ' 开启dhcp中继'
[sw1-Vlanif10]dhcp relay server-ip 192.168.100.100      'dhcp服务器的IP地址'
[sw1-Vlanif10]int vlan20
[sw1-Vlanif20]ip add 192.168.20.1 24
[sw1-Vlanif20]dhcp select relay 
[sw1-Vlanif20]dhcp relay server-ip 192.168.100.100
[sw1]int Vlan100
[sw1-Vlanif100]ip add 192.168.100.1 24
[sw1-Vlanif100]dhcp select relay 
[sw1-Vlanif100]dhcp relay server-ip 192.168.100.100

dhcp服务器配置文件

在这里插入图片描述
在这里插入图片描述

pc1 获取ip地址

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、了解DHCP服务
    • 1、手工配置网络参数存在的问题
      • 2、DHCP概念的提出
        • 3、DHCP基本原理 与配置实现
        • 二、linux上搭建dhcp服务器
          • 1、安装dhcp服务器
            • 2、找到dhcp的配置文件
              • 3、启动dhcp服务
                • 4、测试dhcp服务器是否可用
                • 三、关于指定ip地址的配置方法
                  • 1、指定mac地址配置文件
                    • 2、续订接口 Ethernet0 时出错: 无法联系 DHCP 服务器
                    • 四、关于dhcp的DNS域名解析的问题
                      • 1、win10查看被默认分配的dhcp
                        • 2、关于dhcp配置的两个要点
                          • (1)接口配置
                          • (2)全局配置
                      • 五、在华为ensp上进行小型dhcp实验
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档