Linux-DHCP原理与配置(DHCP的工作过程、配置动态主机和安装服务器)(配置步骤)


一、了解DHCP服务

1.概述

  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
  • DHCP服务避免了因手动设置IP地址所产生的错误,同时也避免了把一个IP地址分配给多台工作站所造成过的地址冲突
  • DHCP提供了安全、可靠且安全的TCP/IP网络设置,降低了配置IP地址的负担

2.优点

Internet是目前世界上用户最多的服务之一,有几亿人在使用Internet,由于上网时间的不确定性以及使用人员的技术水平不同,为每位用户分配一个固定的IP地址,不仅造成了IP地址的浪费,也会为ISP服务商带来高额的维护成本,而使用DHCP服务则有以下好处:

  • 减少管理员的工作量
  • 避免IP地址冲突
  • 网络更改IP地址段时,不需要再重新配置每个用户的IP地址
  • 提高了IP地址的利用率
  • 方便客户端的配置

3.分配方式

  • DHCP的典型应用模式如下
    • 在网络中假设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括IP地址,子网掩码,广播地址,默认网关地址,DNS服务器地址)
    • 其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程
    • 在DHCP的工作原理中,DHCP服务器提供了三种分配方式:自动分配,手动分配,动态分配
  • 自动分配:
    当DHCP客户机第一次成功地从DHCP服务器获取到一个IP地址后,就永久的使用这个IP地址
  • 手动分配:
    由DHCP服务器管理员专门指定IP地址
  • 动态分配:
    当DHCP客户机第一次从DHCP服务器获得IP地址后,并非永久的使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用

二、DHCP的工作过程

  • 客户机从DHCP服务器获得IP地址的过程称为DHCP 的租约过程
    客户机从DHCP服务器获得IP地址的过程称为DHCP 的租约过程
  • 分为以下四个步骤

1.客户端在网络中搜索服务器

  • 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
  • 此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器

2.服务器向客户端响应服务

  • DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
  • 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer 消息

3.客户机选择IP地址

  • DHCP客户机从接收到的第一个DHCP Offer消息中提取 IP 地址
  • 发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机了

4.服务器确定租约

  • DHCP服务器接收到 DHCP Request 消息后,以DHCP ACK 消息的形式向客户机广播成功确认
  • 该消息包含有IP地址的有效租约和其他可配置的信息
  • 当客户机收到 DHCP ACK 消息时,配置IP地址,完成TCP/IP的初始化

5.重新登录

  • DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息
  • 而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息

6.更新租约

  • 当DHCP服务器向客户机出租的IP地址租期达至50%时就需要更新租约
  • 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约

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

1.DHCP服务

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

2.可分配的地址信息主要包括

  • 网卡的IP地址、 子网掩码
  • 对应的网络地址、广播地址
  • 默认网关地址
  • DNS服务器地址

四、安装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给主机用的)
   }
}        
  • 全局配置,作用于整个DHCP服务器
    • ddns-update-style none;
    • default-lease time 21600;
    • max-lease-time 43200;
    • option domain-name “domain.org”;
    • option domain-name servers 202.106.0.20;
  • Subnet网段声明,作用于整个子网段
    • range参数:设置用于分配的IP地址池
    • option subnet-mask参数:设置客户机的子网掩码
    • option routers参数:设置客户机的默认网关地址
[root@xcf1 ~]# vim /etc/httpd/conf.d/^C

五、配置DHCP服务器步骤

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

1.1 eNSP

  • 实验拓扑图如下
  • 注:配置完“Cloud”之后才能用串口线连接
    mark
  • 配置Cloud
    mark
    (注:第一个选择UDP,第二个选择仅主机模式VMnet1,别选8,它自带dhcp功能,与本实验有冲突)
  • SW1基本配置
<Huawei>sys
[Huawei]sys SW1
[SW1]un in en
Info: Information center is disabled.
[SW1]vlan batch 10 20 100
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1]int e0/0/1
[SW1-Ethernet0/0/1]p l a
[SW1-Ethernet0/0/1]p d v 10
[SW1-Ethernet0/0/1]int e0/0/2
[SW1-Ethernet0/0/2]p l a
[SW1-Ethernet0/0/2]p d v 20
[SW1-Ethernet0/0/2]int e0/0/4
[SW1-Ethernet0/0/4]p l a
[SW1-Ethernet0/0/4]p d v 100
[SW1-Ethernet0/0/4]int e0/0/3
[SW1-Ethernet0/0/3]p l t
[SW1-Ethernet0/0/3]p t a v a
  • SW2基本配置
<Huawei>sys
[Huawei]sys SW2
[SW2]un in en
Info: Information center is disabled.
[SW2]vlan batch 10 20 100
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW2]int Vlanif 10
[SW2-Vlanif10]ip add 192.168.10.1 24
[SW2-Vlanif10]un sh
Info: Interface Vlanif10 is not shutdown.
[SW2-Vlanif10]q
[SW2]int Vlanif 20
[SW2-Vlanif20]ip add 192.168.20.1 24
[SW2-Vlanif20]un sh
Info: Interface Vlanif20 is not shutdown.
[SW2-Vlanif20]q
[SW2]int Vlanif 100
[SW2-Vlanif100]ip add 192.168.100.1 24
[SW2-Vlanif100]un sh
Info: Interface Vlanif100 is not shutdown.
[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中继(三层交换机)
[SW2]dhcp enable        ##开启DHCP功能
Info: The operation may take a few seconds. Please wait for a moment.done.
[SW2]int Vlanif 10        ##配置虚接口ip,选择dhcp中继模式,请求指向dhcp服务器ip
[SW2-Vlanif10]dhcp select relay 
[SW2-Vlanif10]dhcp relay server-ip 192.168.100.100
[SW2-Vlanif10]q
[SW2]int Vlanif 20
[SW2-Vlanif20]dhcp select relay 
[SW2-Vlanif20]dhcp relay server-ip 192.168.100.100
[SW2-Vlanif20]int Vlanif 100
[SW2-Vlanif100]dhcp select relay 
[SW2-Vlanif100]dhcp relay server-ip 192.168.100.100

1.2 虚拟机

  • 选择虚拟机网络类型
    mark
  • 配置网卡IP
    mark
  • 安装dhcp软件包,并查看和找到配置文件
[root@xcf1 ~]# yum -y install dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 12:dhcp-4.2.5-58.el7.centos.x86_64 已安装并且是最新版本
无须任何处理
[root@xcf1 ~]# cd /etc/dhcp/        ##dhcp的配置文件是/etc/dhcp/dhcpd.conf
[root@xcf1 dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@xcf1 dhcp]# less dhcpd.conf        ##查看一下内容
...略
[root@xcf1 ~]# cd /usr/share/doc/dhcp-4.2.5/        到该目录下去寻找dhcp配置模板
[root@xcf1 dhcp-4.2.5]# ls        ##“dhcpd.conf.example”
dhcpd6.conf.example  dhcpd.conf.example  ldap
[root@xcf1 dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf        ##将模板覆盖到/etc/dhcp/dhcpd.conf中
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@xcf1 ~]# cd /etc/dhcp/        ##回到/etc/dhcp目录下
[root@xcf1 dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@xcf1 dhcp]# less dhcpd.conf        ##查看配置文件并进行下一步编辑
  • 编辑dhcp配置文件
    • [root@xcf1 dhcp]# vim dhcpd.conf
      mark
  • 关闭防火墙,重启网卡,再去“ping”进行验证网络
[root@xcf1 dhcp]# systemctl stop firewalld
se[root@xcf1 dhcp]# setenforce 0
##记得重启一下网卡!
[root@xcf1 dhcp]# systemctl restart dhcpd


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

1.3 验证

  • 到eNSP中验证一下
  • 首先开启两台PC的DHCP来自动获取一下IP地址
    mark
    mark
  • 进入命令行“ipconfig”
    • pc1
      mark
    • pc2
      mark

2.给PC机分配固定的IP地址

  • 首先将虚拟机Win10的网络适配器改成VMnet1仅主机模式
    mark

2.1 修改宿主机网络适配器(注意,不是虚拟机的!)

mark
mark

  • 设置VMnet1
    mark
    mark

2.2 在w10虚拟机中查找该主机MAC地址

mark

  • 输入“ipconfig/renew”或“ipconfig/release”刷新网络信息(按回车以显示)
  • 查看MAC地址
    mark

2.3 虚拟机CentOS7中编辑dhcp配置文件

[root@xcf1 ~]# cd /etc/dhcp/
[root@xcf1 dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@xcf1 dhcp]# vim dhcpd.conf 

mark

  • 记得按wq保存退出
  • 修改完成,重启dhcp服务
[root@xcf1 dhcp]# systemctl stop dhcpd        ##重启DHCP服务
[root@xcf1 dhcp]# systemctl start dhcpd

2.4 回到win10中刷新网络配置再查看就有绑定的IP了

mark

  • 大功告成,上床睡觉
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51486343/article/details/110786121