Linux---网络服务---DHCP原理与配置

文章目录

Linux—网络服务—DHCP原理与配置

一:了解DHCP服务

1.1:DHCP概述

  • DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)

  • 由Internet工作任务小组设计开发

  • 专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议

1.2:DHCP的优点

  • 减少管理员的工作量
  • 避免输入错误的可能
  • 避免IP地址冲突
  • 当更改IP地址段时,不仅要重新配置每个用户的IP地址
  • 提高了IP地址的利用率
  • 方便客户端的配置

1.3:DHCP分配方式

  • 自动分配(Automatic allocation)
  • 手动分配(Manual Allocation)
  • 动态分配(Dynamic Allocation)

自动分配是当DHCP客户端第一次成功的从DHCP服务器获取一个IP地址后,就永久的使用这个IP地址。

手动分配是由DHCP服务器管理员专门指定的IP地址

动态分配是当客户端第一次从DHCP服务器获取到IP地址后,并非永久使用该地址,每次使用完后,DHCP客户端就需要释放这个IP,供其他客户端使用。

第三种是最常见的使用形式。

二:DHCP的工组原理

2.1:DHCP的租约过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4wKdjpZO-1594034274459)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200705235354228.png)]

1)discover 请求IP地址 客户端 》服务端 广播

如果局域网中有两个DNS服务器,谁先发给客户端offer,就用谁的DNS

2)offer 服务器回应可用IP信息 (可用IP,子网掩码,网关,DNS,租约期限) 服务器》》 客户端 广播

3 )request 客户端请求确认可用IP 客户端》》服务端 广播

特殊情况:如果OFFER中的IP被占用,直接回应NOACK,然后重新开始

4 )ACK 服务端确认IP可用 服务端》》 客户 广播

租约期限,租约期限过半,续约。如租期8天,在第5天开始续约

如果DHCP宕机了,会继续使用直到到期,到期会还找不到,会自动获取169.254.0.0/24网络地址(不能用)

2.2:DHCP租约详解

2.2.1:客户机发送IP请求:发送DHCP discover广播

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YtmuSaYl-1594034274470)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706000212636.png)]

当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
此时DHCP客户机以广播方式发送DHCP discover发现信息来寻找DHCP服务器
因为自己没有IP地址,所以源IP地址为:0.0.0.0 也不知道DHCP的IP地址就发送255.255.255.255广播去寻找

2.22:服务器收到客户机的请求响应发送:DHCP offer广播

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A3xjvT4s-1594034274474)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706000241218.png)]

当DHCP服务器接收到来自客户机请求IP地址的信息时,他就在自己的IP地址池中查找是否有合法的IP地址提供给客户机.
如果有,DHCP服务器就将此IP地址做上标记,加入到DHCP offer的消息中,然后DHCP服务器就广播一则DHCP offer消息(服务端是固定静态IP,客户端没有地址就会发送广播给客户端)
客户机仍没有IP地址,所以发送广播

2.23:客户机选项IP地址:发送DHCP requsest广播[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ncUZ8O3t-1594034274480)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706000301684.png)]

DHCP客户机从接收到的第一个DHCP offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机
第一个DHCP offer表示:若局域网中同时存在两个DHCP,那么客户机根据收到DHCP offer的顺序来确定使用哪个DHCP服务器的地址
客户机发送DHCP request 广播,选择IP地址,并附上租约期限信息(默认8天) 一般是剩余一般的时间就会自动续约

2.24:服务器确定租约:发送DHCP ACK广播

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hLmD8wdC-1594034274485)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706000321443.png)]

DHCP服务器接收到DHCP request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的消息
当客户机收到DHCP ACK消息时,他就配置了IP地址,完成TCP/IP的初始化
此时服务器发出的仍旧是广播,因为客户机还没有IP地址

2.25:重新登录

DHCP客户机每次重新登录网络时,不需要在发送DHCP的discover信息,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息
DHCP服务器收到请求后,检查IP地址资源池
1.发现客户机请求中的IP地址仍旧存在,便发送ACK,将IP地址分配给客户机
2.发现客户机请求中的IP地址已被占用,便返回一个Noack否认信息,然后客户机重新开始请求IP地址的步骤。

三:使用DHCP动态配置主机地址

3.1:DHCP服务优点

  • 为大量客户机自动分配地址,提供集中管理
  • 减轻管理和维护成本、提高网络配置效率

3.2:可分配的地址信息主要包括

  • 网卡IP地址、子网掩码

  • 对应的网络地址、广播地址

  • 默认网关地址

  • DNS服务器地址

3.3:安装DHCP服务器

  • DHCP服务器软件

    centos镜像中的dhcp…rpm

  • dhcp软件包的主要文件

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

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

    执行参数配置:/etc/sysconfig/dhcpd

3.4:dhcpd.conf的内容构成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fGIldTVN-1594034274490)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706001410779.png)]

3.5:DHCP主配置文件各属性

  • 全局设置,作用于整个DHCP服务器
  • ddns-update-style none;–代表DNS动态更新,none禁止
  • default-lease-time 21600;–代表默认租约期限
  • max-lease-time 43200;–最大租约期限
  • option domain-name “domain.org”;–域名
  • option domain-name-servers 202.106.0.20;–分配DNS服务器

3.6:配置Subnet网段声明,作用于整个子网段

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

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

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

subnet 是子网段,子网段中优先级更高

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5K9BhzqW-1594034274496)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706002006497.png)]

3.7:主配置文件

host主机声明,作用于单个主机

  • hardware ethernet参数:指定对应主机的MAC地址
  • fixed-address参数:指定为该主机保留的IP地址

查看租约文件

  • 启动DHCP

    [root@localhost ~]# systemctl start dhcpd
    
    [root@localhost ~]# netstat -naup|grep":67"
    
  • 查看租约文件 /var/lib/dhcpd/dhcpd.lease

四:配置DHCP实验

实验环境

在VMware workstation上,一台centos7.6 虚拟机,一台win10虚拟机

4.1设置DHCP服务端和客户端

4.1.1临时关闭防火墙 setenforce 0
[root@localhost ~]# setenforce 0
[root@localhost ~]# setenforce ?
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
4.1.2 清空防火墙

[root@localhost ~]# iptables -F

4.1.3 查看服务状态
[root@localhost ~]# systemctl status firewalld
 firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 二 2020-06-16 09:03:20 CST; 2 weeks 5 days ago
     Docs: man:firewalld(1)
 Main PID: 8706 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─8706 /usr/bin/python -Es /usr/sbin/firewalld --n...

6月 16 09:03:19 localhost.localdomain systemd[1]: Starting f...
6月 16 09:03:20 localhost.localdomain systemd[1]: Started fi...
Hint: Some lines were ellipsized, use -l to show in full.

4.2 安装DHCP包

[root@localhost ~]# yum -y install dhcp*
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

 * base: mirrors.njupt.edu.cn
 * extras: mirrors.njupt.edu.cn
 * updates: mirrors.njupt.edu.cn
   base                                     | 3.6 kB     00:00     
   extras                                   | 2.9 kB     00:00     
   updates                                  | 2.9 kB     00:00     
   updates/7/x86_64/primary_db                | 3.0 MB   00:01     
   正在解决依赖关系
   --> 正在检查事务
   ---> 软件包 dhcp.x86_64.12.4.2.5-79.el7.centos 将被 安装
   --> 正在处理依赖关系 libisc-export.so.169()(64bit),它被软件包 12:dhcp-4.2.5-79.el7.centos.x86_64 需要
   --> 正在处理依赖关系 libdns-export.so.1102()(64bit),它被软件包 12:dhcp-4.2.5-79.el7.centos.x86_64 需要
   --9 

已安装:
  dhcp.x86_64 12:4.2.5-79.el7.centos                            
  dhcp-devel.x86_64 12:4.2.5-79.el7.centos                      

作为依赖被安装:
  bind-export-libs.x86_64 32:9.11.4-16.P2.el7_8.6               

更新完毕:
  dhcp-common.x86_64 12:4.2.5-79.el7.centos                     
  dhcp-libs.x86_64 12:4.2.5-79.el7.centos                       

作为依赖被升级:
  dhclient.x86_64 12:4.2.5-79.el7.centos                        

完毕!

4.2 两台机器绑定到同一个网卡上去,仅主机模式

一台机器centos7.6,一台机器win10

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Tyjhp8E-1594034274501)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706005617229.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hgUtLOdU-1594034274506)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706005716828.png)]

4.2.1查询DHCP文件全名

命令:rpm -q dhcp

[root@localhost ~]# rpm -q dhcp
dhcp-4.2.5-79.el7.centos.x86_64

4.2.2 查看配置文件

命令:cat /etc/dhcp/dhcpd.conf

文件中要求参考/usr/share/doc/dhcp*/dhcpd.conf.example

[root@localhost ~]# cat  /etc/dhcp/dhcpd.conf
#

DHCP Server Configuration file.

see /usr/share/doc/dhcp*/dhcpd.conf.example   这是dhcp的路径模板  ,复制一下

see dhcpd.conf(5) man page

4.3 修改配置文件

4.3.1根据模板复制
[root@localhost dhcp]# vim dhcpd.conf 

[root@localhost dhcp]# cp /usr/share/doc/dhcp-/dhcpd.conf.example
cp: 在"/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example" 后缺少了要操作的目标文件    复制提示的dhcp包

Try 'cp --help' for more information.
[root@localhost dhcp]#cp  /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp
4.3.1修改网卡配置文件

命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sSAa6hxd-1594034274512)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706013749094.png)]

4.3.2修改/etc/dhcp/dhcpd.conf文件

命令:vi /etc/dhcp/dhcpd.con

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y0n6tFXD-1594034274517)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706015231821.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-89sgyDOs-1594034274522)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706183950565.png)]

[root@localhost ~]# systemctl start dhcpd ##重启dhcpd服务

[root@localhost ~]# netstat -nuap ##查看服务相关进程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xwWCwjXp-1594034274537)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706021551465.png)]

4.3.3查看网络是否连通

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gGMSc1WF-1594034274543)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706021805637.png)]

4.3.4客户端win10设置成dhcp方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JHmEFl7e-1594034274548)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706022154957.png)]

4.3.5DHCP获取地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CAAdlZgc-1594034274554)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706022427061.png)]

4.4DHCP配置指定的主机IP地址

4.4.1查询win10的MAC地址

命令:ipconfig /all

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ru3yrwK1-1594034274559)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706022827450.png)]

4.4.2编辑DHCP配置文件

命令:vi /etc/dhcp/dhcpd.conf

00:0C:29:67:D5:78

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-reeBknBI-1594034274564)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706024524625.png)]

[root@localhost dhcp]# systemctl restart dhcpd 重启dhcp服务

重新获取DHCP绑定物理网卡的固定IP地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Sc5atjR-1594034274568)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706185024005.png)]

4.5:更改子选项的DHCP服务地址,对比全局和子项那个优先

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NWVIOs32-1594034274576)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706191142848.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tYxORrqo-1594034274580)(C:\Users\LIU\AppData\Roaming\Typora\typora-user-images\image-20200706191553456.png)]

.2编辑DHCP配置文件

命令:vi /etc/dhcp/dhcpd.conf

00:0C:29:67:D5:78

[外链图片转存中…(img-reeBknBI-1594034274564)]

[root@localhost dhcp]# systemctl restart dhcpd 重启dhcp服务

重新获取DHCP绑定物理网卡的固定IP地址

[外链图片转存中…(img-8Sc5atjR-1594034274568)]

4.5:更改子选项的DHCP服务地址,对比全局和子项那个优先

[外链图片转存中…(img-NWVIOs32-1594034274576)]

[外链图片转存中…(img-tYxORrqo-1594034274580)]

对比得出,子项级别高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值